Commit Graph

4 Commits

Author SHA1 Message Date
kayjaydee 64dfe376bf feat(06-01): add useReadingTime composable fallback (200 wpm)
- Pure synchronous helper returning minutes (>= 1) from either a pre-computed
  word count (number) or raw text (string, tokenized on whitespace).
- Client-side safety net when `article.minutes` isn't yet populated
  (e.g., dev hot-reload before the Nitro hook re-parsed). Source of truth
  remains the Nitro `content:file:afterParse` hook (D-19).
- Same 200 wpm formula as server-side hook — ensures listing ↔ article parity.
- Auto-imported by Nuxt thanks to `use*` naming convention.
2026-04-22 09:04:53 +02:00
kayjaydee bd7e02f6ce fix: correct i18n key paths for projects, featured, testimonials
- useProjects: projects.${id}.* → projectData.${id}.* (matches locale structure)
- FeaturedProjectsSection: home.projects.* → home.featuredProjects.*
- TestimonialsSection: home.testimonials.* → testimonials.*
2026-04-08 18:53:49 +02:00
kayjaydee 3b7c7dbbbd fix(01): WR-02 use te() to detect missing i18n keys in useProjects 2026-04-08 15:17:12 +02:00
kayjaydee cfb3fce2e1 feat(01-02): create useProjects() composable with i18n support
- useProjects() returns projects, featuredProjects, filterByCategory, search, findById
- Added title/description/longDescription fields to Project interface
- Uses Nuxt auto-imports (computed, useI18n, Ref)
- i18n keys follow projects.${id}.title pattern
2026-04-08 14:59:29 +02:00