feat: add Calendar, Timesheet, and MiniTimer views
Calendar shows weekly time-block layout with hour rows, entry positioning, current time indicator, and week navigation. Timesheet provides a weekly grid with project/task rows, day columns, totals, and add-row functionality. MiniTimer is a minimal always-on-top timer display for the floating window.
This commit is contained in:
@@ -8,6 +8,8 @@ import {
|
||||
Users,
|
||||
FolderKanban,
|
||||
List,
|
||||
CalendarDays,
|
||||
Grid3X3,
|
||||
BarChart3,
|
||||
FileText,
|
||||
Settings
|
||||
@@ -23,6 +25,8 @@ const navItems = [
|
||||
{ name: 'Clients', path: '/clients', icon: Users },
|
||||
{ name: 'Projects', path: '/projects', icon: FolderKanban },
|
||||
{ name: 'Entries', path: '/entries', icon: List },
|
||||
{ name: 'Calendar', path: '/calendar', icon: CalendarDays },
|
||||
{ name: 'Timesheet', path: '/timesheet', icon: Grid3X3 },
|
||||
{ name: 'Invoices', path: '/invoices', icon: FileText },
|
||||
{ name: 'Reports', path: '/reports', icon: BarChart3 },
|
||||
{ name: 'Settings', path: '/settings', icon: Settings }
|
||||
@@ -65,12 +69,16 @@ function navigate(path: string) {
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Timer running indicator (bottom) -->
|
||||
<!-- Timer status indicator (bottom) -->
|
||||
<div class="pb-4">
|
||||
<div
|
||||
v-if="timerStore.isRunning"
|
||||
class="w-2 h-2 rounded-full bg-status-running animate-pulse-dot"
|
||||
/>
|
||||
<div
|
||||
v-else-if="timerStore.isPaused"
|
||||
class="w-2 h-2 rounded-full bg-status-warning animate-pulse-dot"
|
||||
/>
|
||||
</div>
|
||||
</nav>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user