diff --git a/src/components/medications/injection-site-picker.tsx b/src/components/medications/injection-site-picker.tsx new file mode 100644 index 000000000..0ad1579bf --- /dev/null +++ b/src/components/medications/injection-site-picker.tsx @@ -0,0 +1,154 @@ +"use client"; + +import { useTranslations } from "@/lib/i18n/context"; +import { + INJECTION_SITE_KEYS, + SITE_COORDS, + describeInjectionSite, + nextInjectionSite, + type InjectionSiteKey, +} from "@/lib/medications/injection-sites"; + +/** + * v1.4.25 W4d — injection-site picker. + * + * Stylized front-of-body SVG with 8 click-targets. The active site + * highlights, the recommended next-site is ringed with a dashed outline + * so the user can rotate sensibly without consulting a separate guide. + * + * Per Marc's "nichts brickt" directive the picker is opt-in — it's only + * mounted from the GLP-1 dashboard tile and the optional log dialog. + * Existing medication intake flows continue to work without it (the + * intake-event row's `injectionSite` field stays NULL). + * + * Mobile-first: the picker is centred in a 320px column and remains + * touch-friendly at Pixel-5 width. SVG buttons have 44px hit areas + * (the visible circle is smaller but the