51 lines
No EOL
1.4 KiB
TypeScript
51 lines
No EOL
1.4 KiB
TypeScript
import { GenericPageData } from '../../pageInterface';
|
|
import { LuTicket } from 'react-icons/lu';
|
|
import { privilegeCheckers } from '../../../../hooks/privilegeCheckers';
|
|
|
|
export const dashboardPageData: GenericPageData = {
|
|
id: '1',
|
|
path: 'dashboard',
|
|
name: 'Dashboard',
|
|
description: 'Main dashboard with overview and quick actions',
|
|
|
|
// Visual
|
|
icon: LuTicket,
|
|
title: 'Dashboard',
|
|
subtitle: 'Welcome to your workspace',
|
|
|
|
// Content sections
|
|
content: [
|
|
{
|
|
id: 'welcome',
|
|
type: 'heading',
|
|
content: 'Welcome to your Dashboard',
|
|
level: 2
|
|
},
|
|
{
|
|
id: 'intro',
|
|
type: 'paragraph',
|
|
content: 'This is your main workspace where you can access all your tools and information. Use the sidebar to navigate between different sections.'
|
|
}
|
|
],
|
|
|
|
// Privilege system
|
|
privilegeChecker: privilegeCheckers.viewerRole,
|
|
|
|
// Page behavior
|
|
persistent: true,
|
|
preserveState: true,
|
|
preload: true,
|
|
moduleEnabled: true,
|
|
|
|
// Sidebar
|
|
order: 1,
|
|
showInSidebar: true,
|
|
|
|
// Lifecycle hooks
|
|
onActivate: async () => {
|
|
if (import.meta.env.DEV) console.log('Dashboard activated - state preserved');
|
|
},
|
|
onDeactivate: async () => {
|
|
if (import.meta.env.DEV) console.log('Dashboard deactivated - keeping state');
|
|
}
|
|
}; |