feat(pages): Complete p05-page-migrations with all pages and navigation tests
- Create Team Members page with DataTable, search, and filters - Create Projects page with status badges and workflow - Create placeholder pages for Allocations, Actuals, Reports, Settings, Master Data - Fix navigation config: change /team to /team-members - Remove old Navigation.svelte component - Add comprehensive navigation link E2E tests (16 tests) - Add Team Members and Projects page E2E tests All 16 navigation link tests passing: - Dashboard, Team Members, Projects, Allocations, Actuals - All 5 Reports pages (Forecast, Utilization, Costs, Variance, Allocation) - Admin pages (Settings, Master Data) - Authentication preservation across pages Refs: openspec/changes/p05-page-migrations Closes: p05-page-migrations
This commit is contained in:
17
frontend/src/routes/reports/allocation/+page.svelte
Normal file
17
frontend/src/routes/reports/allocation/+page.svelte
Normal file
@@ -0,0 +1,17 @@
|
||||
<script lang="ts">
|
||||
import PageHeader from '$lib/components/layout/PageHeader.svelte';
|
||||
import EmptyState from '$lib/components/common/EmptyState.svelte';
|
||||
import { Grid3X3 } from 'lucide-svelte';
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<title>Allocation Matrix | Headroom</title>
|
||||
</svelte:head>
|
||||
|
||||
<PageHeader title="Allocation Matrix" description="Resource allocation visualization" />
|
||||
|
||||
<EmptyState
|
||||
title="Coming Soon"
|
||||
description="Allocation matrix will be available in a future update."
|
||||
icon={Grid3X3}
|
||||
/>
|
||||
17
frontend/src/routes/reports/costs/+page.svelte
Normal file
17
frontend/src/routes/reports/costs/+page.svelte
Normal file
@@ -0,0 +1,17 @@
|
||||
<script lang="ts">
|
||||
import PageHeader from '$lib/components/layout/PageHeader.svelte';
|
||||
import EmptyState from '$lib/components/common/EmptyState.svelte';
|
||||
import { DollarSign } from 'lucide-svelte';
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<title>Cost Report | Headroom</title>
|
||||
</svelte:head>
|
||||
|
||||
<PageHeader title="Costs" description="Project cost analysis" />
|
||||
|
||||
<EmptyState
|
||||
title="Coming Soon"
|
||||
description="Cost reporting will be available in a future update."
|
||||
icon={DollarSign}
|
||||
/>
|
||||
17
frontend/src/routes/reports/forecast/+page.svelte
Normal file
17
frontend/src/routes/reports/forecast/+page.svelte
Normal file
@@ -0,0 +1,17 @@
|
||||
<script lang="ts">
|
||||
import PageHeader from '$lib/components/layout/PageHeader.svelte';
|
||||
import EmptyState from '$lib/components/common/EmptyState.svelte';
|
||||
import { TrendingUp } from 'lucide-svelte';
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<title>Forecast Report | Headroom</title>
|
||||
</svelte:head>
|
||||
|
||||
<PageHeader title="Forecast" description="Resource forecasting and planning" />
|
||||
|
||||
<EmptyState
|
||||
title="Coming Soon"
|
||||
description="Forecast reporting will be available in a future update."
|
||||
icon={TrendingUp}
|
||||
/>
|
||||
17
frontend/src/routes/reports/utilization/+page.svelte
Normal file
17
frontend/src/routes/reports/utilization/+page.svelte
Normal file
@@ -0,0 +1,17 @@
|
||||
<script lang="ts">
|
||||
import PageHeader from '$lib/components/layout/PageHeader.svelte';
|
||||
import EmptyState from '$lib/components/common/EmptyState.svelte';
|
||||
import { BarChart3 } from 'lucide-svelte';
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<title>Utilization Report | Headroom</title>
|
||||
</svelte:head>
|
||||
|
||||
<PageHeader title="Utilization" description="Team utilization analysis" />
|
||||
|
||||
<EmptyState
|
||||
title="Coming Soon"
|
||||
description="Utilization reporting will be available in a future update."
|
||||
icon={BarChart3}
|
||||
/>
|
||||
17
frontend/src/routes/reports/variance/+page.svelte
Normal file
17
frontend/src/routes/reports/variance/+page.svelte
Normal file
@@ -0,0 +1,17 @@
|
||||
<script lang="ts">
|
||||
import PageHeader from '$lib/components/layout/PageHeader.svelte';
|
||||
import EmptyState from '$lib/components/common/EmptyState.svelte';
|
||||
import { AlertTriangle } from 'lucide-svelte';
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<title>Variance Report | Headroom</title>
|
||||
</svelte:head>
|
||||
|
||||
<PageHeader title="Variance" description="Budget vs actual analysis" />
|
||||
|
||||
<EmptyState
|
||||
title="Coming Soon"
|
||||
description="Variance reporting will be available in a future update."
|
||||
icon={AlertTriangle}
|
||||
/>
|
||||
Reference in New Issue
Block a user