Phase 1: project foundation for Alpenwerk HR
Scaffolds the Next.js 16 / TypeScript strict / Tailwind v3 app per NEXTJS_REBUILD_SUPERPROMPT.md, and implements the Foundation slice from the Phase 1 plan: - Corrected Supabase schema (supabase/schema.sql): org units, employees, history, positions, hire drafts, saved reports, audit log, reorg scenarios, role-based profiles, salary-masking view, RLS policies, auto-derivation triggers, position-number generator. - Seed script (supabase/seed.ts): ~800 realistic Austrian employees across 9 divisions / 16 departments / 35 teams, history, 8 open positions, and hr_admin/manager test accounts. - Supabase clients (lib/supabase/*), design tokens (tailwind.config.ts), format/color helpers (lib/format.ts, lib/colors.ts). - Shared UI kit (components/ui): Avatar, StatusChip, Toast, Modal, SlideOver, SegmentedControl, Lookup. - Auth (login page, Server Actions) and proxy.ts (Next 16's replacement for middleware) guarding the authenticated route group. - Shell (Sidebar, Topbar, NewHireButton stub) and the Dashboard page, reading live data via employees_directory. Employees list/detail, hire wizard, action panels, org chart, positions, reports, and audit log are deferred to later phases per the plan.
This commit is contained in:
44
tailwind.config.ts
Normal file
44
tailwind.config.ts
Normal file
@@ -0,0 +1,44 @@
|
||||
import type { Config } from "tailwindcss";
|
||||
|
||||
// Design tokens from spec §7
|
||||
const config: Config = {
|
||||
content: ["./app/**/*.{ts,tsx}", "./components/**/*.{ts,tsx}"],
|
||||
theme: {
|
||||
extend: {
|
||||
colors: {
|
||||
brand: {
|
||||
50: "#fdf3f8",
|
||||
100: "#fdeaf3",
|
||||
200: "#f6cfe2",
|
||||
500: "#d6046e",
|
||||
600: "#b0035a",
|
||||
700: "#a30354",
|
||||
},
|
||||
surface: "#f9f1f5",
|
||||
border: {
|
||||
DEFAULT: "#eedde6",
|
||||
subtle: "#f7e8ef",
|
||||
},
|
||||
ink: {
|
||||
DEFAULT: "#2d1c26",
|
||||
body: "#503b47",
|
||||
muted: "#7a636f",
|
||||
},
|
||||
success: { bg: "#dff6dd", text: "#0e700e" },
|
||||
danger: { bg: "#fde7e9", text: "#b10e1c", solid: "#c50f1f" },
|
||||
warning: { bg: "#fff4ce", text: "#835b00" },
|
||||
info: { bg: "#d7f0f0", text: "#00666d" },
|
||||
purple: { bg: "#f0ecf7", text: "#5c2e91" },
|
||||
},
|
||||
borderRadius: {
|
||||
DEFAULT: "8px",
|
||||
},
|
||||
fontFamily: {
|
||||
sans: ["var(--font-nunito)", "system-ui", "sans-serif"],
|
||||
},
|
||||
},
|
||||
},
|
||||
plugins: [],
|
||||
};
|
||||
|
||||
export default config;
|
||||
Reference in New Issue
Block a user