From 6ae21a2427eccd981cefb324f23633a452dae12c Mon Sep 17 00:00:00 2001 From: Tom Boullay Date: Sat, 30 May 2026 17:56:42 +0200 Subject: [PATCH] fix(site): unified card styles, import Nersans One font, native naming input --- public/fonts/NersansOne.woff | Bin 0 -> 10892 bytes public/fonts/NersansOne.woff2 | Bin 0 -> 7372 bytes src/components/site/SiteCard.tsx | 16 ++++++---------- src/components/site/SiteNamingScreen.tsx | 19 +++++++------------ src/data/site/siteConfig.ts | 4 ++-- src/index.css | 10 ++++++++++ 6 files changed, 25 insertions(+), 24 deletions(-) create mode 100644 public/fonts/NersansOne.woff create mode 100644 public/fonts/NersansOne.woff2 diff --git a/public/fonts/NersansOne.woff b/public/fonts/NersansOne.woff new file mode 100644 index 0000000000000000000000000000000000000000..b030e6f80bc51306a2af906f215f6ae4cbb6cb7a GIT binary patch literal 10892 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 literal 0 HcmV?d00001 diff --git a/src/components/site/SiteCard.tsx b/src/components/site/SiteCard.tsx index 3a50b71..df2e1b3 100644 --- a/src/components/site/SiteCard.tsx +++ b/src/components/site/SiteCard.tsx @@ -18,24 +18,20 @@ export function SiteCard({ const getBackground = (): string => { if (imagePath) return `url(${imagePath}) center/cover`; - if (isSituation) return "rgba(255, 255, 255, 0.42)"; - if (disabled) return "#b8b8b8"; - if (selected) return "#d9d9d9"; - return "#e8e8e8"; + if (disabled) return "rgba(255, 255, 255, 0.42)"; + return "#b8b8b8"; }; const getBorder = (): string => { if (selected) return "3px solid #a8d5a2"; if (isSituation) return "3px solid rgba(255, 255, 255, 0.55)"; - if (disabled) return "none"; - return "2px solid #ffffff"; + if (disabled) return "3px solid rgba(255, 255, 255, 0.55)"; + return "3px solid rgba(255, 255, 255, 0.55)"; }; const getTextColor = (): string => { - if (isSituation && disabled) return "rgba(77, 77, 77, 0.72)"; - if (isSituation) return "#4d4d4d"; - if (disabled) return "#888888"; - return "#666666"; + if (disabled) return "rgba(77, 77, 77, 0.72)"; + return "#4d4d4d"; }; return ( diff --git a/src/components/site/SiteNamingScreen.tsx b/src/components/site/SiteNamingScreen.tsx index 5afe1d6..1e77712 100644 --- a/src/components/site/SiteNamingScreen.tsx +++ b/src/components/site/SiteNamingScreen.tsx @@ -38,16 +38,12 @@ export function SiteNamingScreen(): React.JSX.Element { inputRef.current?.focus(); }, []); - const handleKeyDown = useCallback( - (e: React.KeyboardEvent): void => { - e.preventDefault(); - - // Only process if not complete and it's a letter key - if (!isComplete && e.key.length === 1 && /[a-zA-Z]/.test(e.key)) { - setCharIndex((prev) => Math.min(prev + 1, forcedName.length)); - } + const handleNameChange = useCallback( + (event: React.ChangeEvent): void => { + const nextLength = Math.min(event.target.value.length, forcedName.length); + setCharIndex(nextLength); }, - [isComplete, forcedName.length], + [forcedName.length], ); const handleConfirm = (): void => { @@ -99,8 +95,7 @@ export function SiteNamingScreen(): React.JSX.Element { ref={inputRef} type="text" value={displayValue} - onKeyDown={handleKeyDown} - readOnly + onChange={handleNameChange} placeholder="Écrivez votre prénom ici" style={{ display: "flex", @@ -114,7 +109,7 @@ export function SiteNamingScreen(): React.JSX.Element { background: "#D9D9D9", outline: "none", color: "#333", - caretColor: "transparent", + caretColor: "#333", fontFamily: "Inter, system-ui, sans-serif", fontSize: "clamp(16px, 2.5vw, 20px)", textAlign: "left", diff --git a/src/data/site/siteConfig.ts b/src/data/site/siteConfig.ts index 6f4d36c..b00dc02 100644 --- a/src/data/site/siteConfig.ts +++ b/src/data/site/siteConfig.ts @@ -24,11 +24,11 @@ export const EXPERIENCE_CARDS: readonly SiteCardConfig[] = [ * Cards for screen 2: "Quelle est votre situation ?" */ export const SITUATION_CARDS: readonly SiteCardConfig[] = [ - { id: "sit-refugie-climat", label: "Réfugié.e climatique", disabled: true }, + { id: "sit-refugie-climat", label: "Sans domicile fixe", disabled: true }, { id: "sit-refugie-guerre", label: "Réfugié.e de guerre", disabled: true }, { id: "sit-sans-domicile", - label: "Sans domicile fixe", + label: "Réfugié.e climatique", disabled: false, }, { id: "sit-autre", label: "Autre", disabled: true }, diff --git a/src/index.css b/src/index.css index bed3353..0b0e4ea 100644 --- a/src/index.css +++ b/src/index.css @@ -1,5 +1,15 @@ @import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"); +@font-face { + font-family: "Nersans One"; + src: + url("/fonts/NersansOne.woff2") format("woff2"), + url("/fonts/NersansOne.woff") format("woff"); + font-weight: 400; + font-style: normal; + font-display: swap; +} + /* Base document reset */ :root { color-scheme: dark;