diff --git a/src/app/(auth)/login/page.tsx b/src/app/(auth)/login/page.tsx index cdc120f..bf1e420 100644 --- a/src/app/(auth)/login/page.tsx +++ b/src/app/(auth)/login/page.tsx @@ -4,7 +4,7 @@ import { useState } from 'react'; import { signIn } from 'next-auth/react'; import { useRouter } from 'next/navigation'; import Link from 'next/link'; -import { RocketIcon } from '@/components/ui'; +import { Button, Input, RocketIcon } from '@/components/ui'; export default function LoginPage() { const router = useRouter(); @@ -62,42 +62,32 @@ export default function LoginPage() { )}
- -
- -
- +

Pas encore de compte ?{' '} diff --git a/src/app/(auth)/register/page.tsx b/src/app/(auth)/register/page.tsx index 0173b78..77320eb 100644 --- a/src/app/(auth)/register/page.tsx +++ b/src/app/(auth)/register/page.tsx @@ -4,7 +4,7 @@ import { useState } from 'react'; import { signIn } from 'next-auth/react'; import { useRouter } from 'next/navigation'; import Link from 'next/link'; -import { RocketIcon } from '@/components/ui'; +import { Button, Input, RocketIcon } from '@/components/ui'; export default function RegisterPage() { const router = useRouter(); @@ -91,74 +91,55 @@ export default function RegisterPage() { )}

- -
- -
- -
- -
- +

Déjà un compte ?{' '} diff --git a/src/app/design-system/page.tsx b/src/app/design-system/page.tsx new file mode 100644 index 0000000..54a0950 --- /dev/null +++ b/src/app/design-system/page.tsx @@ -0,0 +1,525 @@ +'use client'; + +import { useState } from 'react'; +import { + Avatar, + Badge, + Button, + Card, + CardContent, + CardDescription, + CardFooter, + CardHeader, + CardTitle, + CollaboratorDisplay, + DateInput, + Disclosure, + DropdownMenu, + EditableGifMoodTitle, + EditableMotivatorTitle, + EditableSessionTitle, + EditableTitle, + EditableWeatherTitle, + EditableWeeklyCheckInTitle, + EditableYearReviewTitle, + InlineFormActions, + Input, + IconCheck, + IconClose, + IconDuplicate, + IconEdit, + IconButton, + IconPlus, + IconTrash, + Modal, + ModalFooter, + PageHeader, + ParticipantInput, + RocketIcon, + Select, + SegmentedControl, + SessionPageHeader, + Textarea, + ToggleGroup, + FormField, + NumberInput, +} from '@/components/ui'; + +const BUTTON_VARIANTS = [ + 'primary', + 'secondary', + 'outline', + 'ghost', + 'destructive', + 'brand', +] as const; +const BUTTON_SIZES = ['sm', 'md', 'lg'] as const; + +const BADGE_VARIANTS = [ + 'default', + 'primary', + 'strength', + 'weakness', + 'opportunity', + 'threat', + 'success', + 'warning', + 'destructive', + 'accent', +] as const; + +const SELECT_OPTIONS = [ + { value: 'editor', label: 'Editeur' }, + { value: 'viewer', label: 'Lecteur' }, + { value: 'admin', label: 'Admin' }, +]; + +const SECTION_LINKS = [ + { id: 'buttons', label: 'Buttons' }, + { id: 'badges', label: 'Badges' }, + { id: 'icon-button', label: 'IconButton' }, + { id: 'form-inputs', label: 'Form Inputs' }, + { id: 'select-toggle', label: 'Select & Toggle' }, + { id: 'form-field', label: 'FormField / Date / Number' }, + { id: 'cards', label: 'Cards' }, + { id: 'avatars', label: 'Avatar & Collaborators' }, + { id: 'disclosure-dropdown', label: 'Disclosure & Dropdown' }, + { id: 'menu', label: 'Menu' }, + { id: 'editable-titles', label: 'Editable Titles' }, + { id: 'session-header', label: 'Session Header' }, + { id: 'participant-input', label: 'ParticipantInput' }, + { id: 'icons', label: 'Icons' }, + { id: 'modal', label: 'Modal' }, +] as const; + +export default function DesignSystemPage() { + const [modalOpen, setModalOpen] = useState(false); + const [toggleValue, setToggleValue] = useState<'cards' | 'table' | 'list'>('cards'); + const [selectMd, setSelectMd] = useState('editor'); + const [selectSm, setSelectSm] = useState('viewer'); + const [selectXs, setSelectXs] = useState('admin'); + const [selectLg, setSelectLg] = useState('editor'); + const [menuCount, setMenuCount] = useState(0); + + return ( +

+ + Action principale + + } + /> + +
+ + +
+ +

Buttons

+
+ {BUTTON_SIZES.map((size) => ( +
+ {size} + {BUTTON_VARIANTS.map((variant) => ( + + ))} +
+ ))} +
+ + +
+
+
+ + +

Badges

+
+ {BADGE_VARIANTS.map((variant) => ( + + {variant} + + ))} +
+
+ + +

IconButton

+
+ } label="Edit" /> + } label="Duplicate" variant="primary" /> + } label="Delete" variant="destructive" /> +
+
+ + +

Form Inputs

+
+ + +