From e2e36ad7aefc869f9fd8e8dbd49b62d848827def Mon Sep 17 00:00:00 2001 From: Bastian Masanek Date: Thu, 30 Oct 2025 14:28:54 +0100 Subject: [PATCH] Add internal styleguide page with HTTP Basic Auth - Create /internal/styleguide route with protected layout - Add styleguide.vue layout with auth protection - Configure internal pages auth credentials in .env.example - Update nuxt.config for internal routes handling --- .env.example | 7 + app/layouts/styleguide.vue | 10 + app/pages/internal/styleguide.vue | 605 ++++++++++++++++++++++++++++++ nuxt.config.ts | 6 +- 4 files changed, 627 insertions(+), 1 deletion(-) create mode 100644 app/layouts/styleguide.vue create mode 100644 app/pages/internal/styleguide.vue diff --git a/.env.example b/.env.example index c5f94ca..bbf1ade 100644 --- a/.env.example +++ b/.env.example @@ -108,6 +108,13 @@ SMTP_FROM=noreply@experimenta.science # SENTRY_DSN=https://xxx@sentry.io/xxx # SENTRY_ENVIRONMENT=development +# ============================================== +# INTERNAL PAGES (Styleguide, Admin) +# ============================================== +# HTTP Basic Auth credentials for /internal/* routes +INTERNAL_AUTH_USERNAME=experimenta +INTERNAL_AUTH_PASSWORD=change-me-to-secure-password + # ============================================== # DEVELOPMENT TOOLS # ============================================== diff --git a/app/layouts/styleguide.vue b/app/layouts/styleguide.vue new file mode 100644 index 0000000..706c613 --- /dev/null +++ b/app/layouts/styleguide.vue @@ -0,0 +1,10 @@ + + + diff --git a/app/pages/internal/styleguide.vue b/app/pages/internal/styleguide.vue new file mode 100644 index 0000000..8effe65 --- /dev/null +++ b/app/pages/internal/styleguide.vue @@ -0,0 +1,605 @@ + + + + + diff --git a/nuxt.config.ts b/nuxt.config.ts index ae0c5eb..58d7252 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -2,7 +2,9 @@ export default defineNuxtConfig({ compatibilityDate: '2025-01-29', - devtools: { enabled: true }, + devtools: { + enabled: ['true', '1'].includes(process.env.NUXT_DEVTOOLS_ENABLED || ''), + }, // App configuration app: { @@ -36,6 +38,8 @@ export default defineNuxtConfig({ databaseUrl: process.env.DATABASE_URL, redisHost: process.env.REDIS_HOST || 'localhost', redisPort: process.env.REDIS_PORT || '6379', + internalAuthUsername: process.env.INTERNAL_AUTH_USERNAME || '', + internalAuthPassword: process.env.INTERNAL_AUTH_PASSWORD || '', // Public (exposed to client) public: {