daveadmin
b912ff22bc
Dashboard account section, profile API, and CSS account panels
...
- SSO session auth gating on all protected pages
- dashboard.php: account section (profile form + workspace panel),
onboarding prompt modal, overview bar extracted to CSS classes,
dashboard.css linked in page head
- api/profile.php: save/dismiss endpoint for optional profile fields
- assets/css/dashboard.css: account grid, dash-account-panel,
dash-profile-form, profile-prompt-backdrop modal, overview bar
classes, dash-section-kicker, dash-tier-badge base styles
- includes/bootstrap.php: dbnToolsMainUserProfile,
dbnToolsProfileNeedsPrompt, dbnToolsRequirePageAuth
- scripts/sql/004_user_profile_fields.sql: nullable phone, address,
and profile_prompt_dismissed_at columns
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-24 18:49:34 +02:00
daveadmin
e09ee62c62
Apply Do Better Norge tools brand redesign (CSS + all tool pages)
...
New dbn-tools-redesign.css with warm paper surface, navy tools nav, gold
accent, and per-tool themes via body[data-active-tool]. Updated all 21 tool
PHP pages, shared layout/nav/footer includes, and advocate route (new).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-24 11:26:39 +02:00
daveadmin
ba9cddf9a1
Add monetization spine + Build Your Own Case (Min Sak)
...
- Stripe: StripeClient.php, checkout/portal/webhook endpoints, idempotent event handling
- FreeTier: tier-aware credits (free/light/pro/pro_plus), bonus_balance, hourly caps per tier
- pricing.php + billing.php: 4-tier cards, 3 topups, Customer Portal, balance breakdown
- Min Sak: CaseStore.php, AzureDocIntelligence.php, AzureSearchAdmin.php — per-user hybrid RAG
- api/case/: upload, list, delete, ingest-callback (HMAC-auth'd from n8n)
- award-survey-credits: inter-site HMAC endpoint for dobetternorge.no survey bonus
- dashboard.php: tier badge, balance breakdown card, Min Sak CTA, survey CTA
- KorrespondAgent + all 3 other agents: use_my_case toggle wired to dbnToolsCaseContext()
- bootstrap.php: dbnToolsCaseContext(), dbnToolsIntersiteSecret(), dbnToolsCurrentTier()
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-20 20:52:54 +02:00