feat: initialize project structure with core components and pages
CI / Lint, typecheck, test, build (push) Canceled after 0s
CI / End-to-end tests (push) Canceled after 0s

- Added shared styles for UI components in `src/components/styles.ts`.
- Created configuration constants in `src/lib/config.ts`.
- Implemented date formatting and greeting functions in `src/lib/dates.ts` and corresponding tests in `src/lib/dates.test.ts`.
- Developed incident management functions in `src/lib/incidents.ts` with tests in `src/lib/incidents.test.ts`.
- Established navigation structure in `src/lib/navigation.ts`.
- Seeded demo data for incidents and users in `src/lib/seed.ts`.
- Defined tone classes for UI elements in `src/lib/tones.ts`.
- Created type definitions for incidents and related entities in `src/lib/types.ts`.
- Set up main application entry point in `src/main.tsx`.
- Developed various pages including About, Analytics, Incidents, Locations, Overview, and Report Incident.
- Configured testing setup in `src/test/setup.ts` and TypeScript configurations.
- Integrated Vite for development and testing with appropriate plugins.
This commit is contained in:
jayjennings committed 2026-10-06 10:07:57 -07:00
1 parent 732d4d8931
commit a382fa904a
53 files changed
+3523 -31

No files matched your search

+33
View File
@@ -0,0 +1,33 @@
import type { ReactNode } from 'react'
interface FormSectionProps {
number: string
title: string
copy: string
children: ReactNode
}
export function FormSection({ number, title, copy, children }: FormSectionProps) {
return (
<div className="border-b border-line px-5 py-6 sm:px-9 sm:py-7">
<div className="mb-6 flex gap-[13px]">
<span className="pt-[3px] font-mono text-xs text-coral">{number}</span>
<div>
<h2 className="mb-1 font-display text-[19px] font-semibold">{title}</h2>
<p className="text-xs text-muted">{copy}</p>
</div>
</div>
{children}
</div>
)
}
export function Field({ label, optional = false, children }: { label: string; optional?: boolean; children: ReactNode }) {
return (
<label className="mb-[17px] block text-2xs font-semibold text-[#586762]">
{label}
{optional && <em className="float-right font-normal text-[#9ba7a2] not-italic">Optional</em>}
{children}
</label>
)
}