diff --git a/app/web/templates/admin_welcome.html b/app/web/templates/admin_welcome.html index c8e3d12..8c508df 100644 --- a/app/web/templates/admin_welcome.html +++ b/app/web/templates/admin_welcome.html @@ -116,17 +116,16 @@ .welcome-preview-col { border: 1px solid var(--border, #e5e7eb); border-radius: 8px; - background: #1e1e2e; - color: #cdd6f4; + background: var(--surface, #fff); + color: var(--text-primary, #111827); padding: 16px; - font-family: var(--font-mono, ui-monospace, "SF Mono", Menlo, monospace); - font-size: 13px; - white-space: pre-wrap; + font-family: var(--font-primary, system-ui, sans-serif); + font-size: 14px; overflow: auto; max-height: 600px; } .welcome-preview-col h4 { - color: #cdd6f4; margin: 0 0 8px; font-size: 12px; opacity: 0.7; + color: var(--text-secondary, #6b7280); margin: 0 0 8px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; } .welcome-preview-error { @@ -203,7 +202,7 @@

Agent Setup Prompt

-

Customise the CLAUDE.md generated for analysts on da analyst setup.

+

Customise the banner shown above the setup commands on /setup.

{% if is_override %} @@ -220,33 +219,32 @@

- Edit the template below to customise onboarding instructions for analysts on this instance. - Leave empty or click Reset to default to revert to the OSS-shipped template. - The override is rendered server-side — placeholders like - {{ "{{ user.name }}" }} are substituted at delivery time. + This banner is shown above the setup commands on /setup. Empty by default. + Use it for organisation-specific notes: VPN requirements, support channel, data classification + policy, platform onboarding steps, etc. + The override is rendered server-side as HTML — Jinja2 placeholders like + {{ "{{ user.name }}" }} are substituted at render time. + Output is sanitised post-render: inline <script> tags and + on*= event handlers are stripped as a safety net.

Available placeholders
- {{ "{{ instance.name }}" }} — instance display name -{{ "{{ instance.subtitle }}" }} — operator name -{{ "{{ server.url }}" }} — full server URL -{{ "{{ server.hostname }}" }} — host part -{{ "{{ sync_interval }}" }} — refresh cadence (instance.yaml) -{{ "{{ data_source.type }}" }} — keboola | bigquery | local -{{ "{{ tables }}" }} — list of {name, description, query_mode} -{{ "{{ metrics.count }}" }}, {{ "{{ metrics.categories }}" }} -{{ "{{ marketplaces }}" }} — RBAC-filtered list of {slug, name, plugins[]} + {{ "{{ instance.name }}" }} — instance display name +{{ "{{ instance.subtitle }}" }} — operator / org name +{{ "{{ server.url }}" }} — full server URL +{{ "{{ server.hostname }}" }} — host part only {{ "{{ user.email }}" }}, {{ "{{ user.name }}" }}, {{ "{{ user.is_admin }}" }}, {{ "{{ user.groups }}" }} -{{ "{{ now }}" }}, {{ "{{ today }}" }} + (user may be null for anonymous visitors — guard with {{ "{% if user %}" }}) +{{ "{{ now }}" }}, {{ "{{ today }}" }} — server time (UTC) / date string
- +

Live preview

@@ -266,7 +264,7 @@