Frontend¶
Comunicació client-servidor¶
GAS serialitza/deserialitza automàticament objectes JSON simples. No suporta classes, Date, undefined ni funcions.
Inclusió de fitxers HTML¶
GAS usa templating propi. La funció include() (Codigo.gs:2137) permet modularitzar:
<?!= include('styles') ?>
<?!= include('i18n-es') ?>
<?!= include('i18n-ca') ?>
<?!= include('i18n-core') ?>
<?!= include('scripts') ?>
Els fitxers s'inclouen en temps de renderització al servidor, no al client.
Fitxers frontend¶
| Fitxer | Línies aprox. | Rol |
|---|---|---|
index.html |
— | UI principal d'usuari |
admin-panel.html |
— | Dashboard admin (pestanyes) |
scripts.html |
~4000 | JS interfície d'usuari |
admin-scripts.html |
~7100 | JS panel admin (fitxer més gran) |
styles.html |
— | Tailwind CSS + estils personalitzats |
i18n-core.html |
— | Motor i18n: window.t(), applyI18n() |
i18n-es.html |
~710 | Diccionari castellà |
i18n-ca.html |
~710 | Diccionari català |
Variables injectades per GAS¶
doGet() injecta les variables següents al HTML via templating:
<!-- Exemple d'ús al HTML -->
<script>
window.USER_EMAIL = '<?= userEmail ?>';
window.USER_NAME = '<?= userName ?>';
window.USER_ROLE = '<?= userRoleForJs ?>'; // 'admin' | 'gestor' | 'usuari'
window.APP_LANG = '<?= appLang ?>'; // 'ca' | 'es'
</script>
Usa cometes literals (
'<?= var ?>'), noJSON.stringify()— el sandbox GAS no ho suporta per a strings.
Sistema i18n — resum¶
Vegeu la documentació completa a Sistema i18n.
API pública:
window.t('clau.subclau') // retorna string traduït
window.t('clau', { param: valor }) // amb substitució de {param}
window.applyI18n(rootElement?) // aplica data-i18n al DOM
window.getLocale() // 'ca-ES' | 'es-ES'
Atributs HTML: