diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx index 7cb935e4..1eb3c4d3 100644 --- a/frontend/src/app/page.tsx +++ b/frontend/src/app/page.tsx @@ -1,6 +1,7 @@ "use client"; import { useState } from "react"; +import styles from "@/app/_components/Shell.module.css"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; @@ -34,92 +35,81 @@ export default function Home() { }); return ( -
-
+
+
-

Company Mission Control

-

- Dashboard overview + quick create. No-auth v1. -

+

Company Mission Control

+

Command center for projects, people, and operations. No‑auth v1.

-
- - - Quick create project - Projects drive all tasks - - - setProjectName(e.target.value)} /> - - - +
+
+
Quick create
+
+
+
Project
+
+ setProjectName(e.target.value)} /> + +
+
+
+
Department
+
+ setDeptName(e.target.value)} /> + +
+
+
+
Person
+
+ setPersonName(e.target.value)} /> + + +
+
+
+
- - - Quick create department - Organization structure - - - setDeptName(e.target.value)} /> - - - - - - - Quick add person - Employees & agents - - - setPersonName(e.target.value)} /> - - - - +
+
Live activity
+
+ {(activities.data ?? []).map((a) => ( +
+
{a.entity_type} · {a.verb}
+
id {a.entity_id ?? "—"}
+
+ ))} + {(activities.data ?? []).length === 0 ? ( +
No activity yet.
+ ) : null} +
+
-
+
Projects {(projects.data ?? []).length} total -
    +
    {(projects.data ?? []).slice(0, 8).map((p) => ( -
  • - {p.name} - {p.status} -
  • +
    +
    {p.name}
    +
    {p.status}
    +
    ))} - {(projects.data ?? []).length === 0 ? ( -
  • No projects yet.
  • - ) : null} -
+ {(projects.data ?? []).length === 0 ?
No projects yet.
: null} +
@@ -129,37 +119,33 @@ export default function Home() { {(departments.data ?? []).length} total -
    +
    {(departments.data ?? []).slice(0, 8).map((d) => ( -
  • - {d.name} - id {d.id} -
  • +
    +
    {d.name}
    +
    id {d.id}
    +
    ))} - {(departments.data ?? []).length === 0 ? ( -
  • No departments yet.
  • - ) : null} -
+ {(departments.data ?? []).length === 0 ?
No departments yet.
: null} +
- Activity - Latest actions + People + {(employees.data ?? []).length} total -
    - {(activities.data ?? []).map((a) => ( -
  • -
    {a.entity_type} · {a.verb}
    -
    id {a.entity_id ?? "—"}
    -
  • +
    + {(employees.data ?? []).slice(0, 8).map((e) => ( +
    +
    {e.name}
    +
    {e.employee_type}
    +
    ))} - {(activities.data ?? []).length === 0 ? ( -
  • No activity yet.
  • - ) : null} -
+ {(employees.data ?? []).length === 0 ?
No people yet.
: null} +
diff --git a/frontend/src/app/projects/page.tsx b/frontend/src/app/projects/page.tsx index 4464ca05..79a4d392 100644 --- a/frontend/src/app/projects/page.tsx +++ b/frontend/src/app/projects/page.tsx @@ -1,6 +1,8 @@ "use client"; import { useMemo, useState } from "react"; +import Link from "next/link"; +import styles from "@/app/_components/Shell.module.css"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; @@ -29,24 +31,21 @@ export default function ProjectsPage() { }, [projects.data]); return ( -
-
+
+
-

Projects

-

Create and manage projects.

+

Projects

+

Create, view, and drill into projects.

-
- - - Create project - Minimal fields for v1 - - +
+
+
Create project
+
{createProject.error ? ( -
{(createProject.error as Error).message}
+
{(createProject.error as Error).message}
) : null} - - +
+
@@ -70,21 +69,20 @@ export default function ProjectsPage() { {sorted.length} total - {projects.isLoading ?
Loading…
: null} - {projects.error ? ( -
{(projects.error as Error).message}
- ) : null} - {!projects.isLoading && !projects.error ? ( -
    - {sorted.map((p) => ( -
  • -
    {p.name}
    -
    {p.status}
    -
  • - ))} - {sorted.length === 0 ?
  • No projects yet.
  • : null} -
- ) : null} +
+ {sorted.map((p) => ( +
+
{p.name}
+
+ {p.status} + {p.id ? ( + Open + ) : null} +
+
+ ))} + {sorted.length === 0 ?
No projects yet.
: null} +