0bd4e5498e
- portal: new admin/ and partner/ surfaces with full component library (AppLauncher, Avatar, Badge, Card, Modal, Tabs, etc.), composables, layouts, partner-routing middleware, and supporting server APIs - pricing: Price schema/module with operator CRUD, pricing.vue catalog UI, Subscription extended with cycle/currency/perSeatAmount/seats snapshots for stable MRR aggregation - partner staff: User.partnerId, invite-partner-user DTO and flow, /partners/:slug/users endpoints, InvitePartnerUserModal, shared dezky-partner-staff Authentik group - /me: partner-aware endpoint returning user + partner context so portal can route between end-user and partner-admin surfaces - tenant: seats field for portfolio displays and future MRR calculations - operator: pricing page, signed-out page, useMe/useToast composables, ToastStack
64 lines
1.3 KiB
TypeScript
64 lines
1.3 KiB
TypeScript
// Mock notifications shown in the topbar drawer. Tones map to icon tints.
|
|
|
|
export type NotifTone = 'info' | 'ok' | 'warn' | 'bad'
|
|
|
|
export interface PortalNotification {
|
|
id: string
|
|
tone: NotifTone
|
|
title: string
|
|
body: string
|
|
when: string
|
|
read: boolean
|
|
}
|
|
|
|
export const notifications: PortalNotification[] = [
|
|
{
|
|
id: 'n-1',
|
|
tone: 'warn',
|
|
title: 'MFA reminder',
|
|
body: 'Set up TOTP or a hardware key before 31 May.',
|
|
when: '12 min ago',
|
|
read: false,
|
|
},
|
|
{
|
|
id: 'n-2',
|
|
tone: 'info',
|
|
title: 'Sofie mentioned you',
|
|
body: 'In #design — “Did you see the new Stat card?”',
|
|
when: '38 min ago',
|
|
read: false,
|
|
},
|
|
{
|
|
id: 'n-3',
|
|
tone: 'ok',
|
|
title: 'Invoice paid',
|
|
body: 'May invoice 2026-001247 · 1.940 DKK · MobilePay',
|
|
when: '2 hours ago',
|
|
read: false,
|
|
},
|
|
{
|
|
id: 'n-4',
|
|
tone: 'info',
|
|
title: 'Frederik shared a file',
|
|
body: 'Q3 forecast.xlsx · in Drev / Finance',
|
|
when: '4 hours ago',
|
|
read: true,
|
|
},
|
|
{
|
|
id: 'n-5',
|
|
tone: 'warn',
|
|
title: 'DMARC record missing',
|
|
body: 'baslund.dk · add the recommended policy in Domains',
|
|
when: 'Yesterday',
|
|
read: true,
|
|
},
|
|
{
|
|
id: 'n-6',
|
|
tone: 'info',
|
|
title: 'Mikkel updated retention',
|
|
body: 'Mail retention policy changed to 7 years',
|
|
when: '2 days ago',
|
|
read: true,
|
|
},
|
|
]
|