Commit Graph

166 Commits

Author SHA1 Message Date
kayjaydee 3566b91fe6 fix(i18n): move locale files to i18n/locales/ for @nuxtjs/i18n resolution
@nuxtjs/i18n resolves langDir relative to its own i18n/ directory,
not the project root. Moved fr.json and en.json accordingly.
2026-04-08 16:33:07 +02:00
kayjaydee 2332c69557 fix(02): resolve 3 typecheck errors and i18n langDir path
- useSetLocale → destructured setLocale from useI18n()
- addSeoAttributes → seo option for useLocaleHead()
- process.env → import.meta.env for Nuxt compatibility
- langDir: 'locales/' → 'app/locales/' (Nuxt 4 resolves from project root)
2026-04-08 16:31:58 +02:00
kayjaydee d424084b46 docs(02-02): complete layout shell plan (header + footer + default layout) 2026-04-08 16:27:02 +02:00
kayjaydee c320085435 feat(02-02): create AppFooter, default layout, update app.vue with useLocaleHead
- AppFooter with copyright + Gitea/LinkedIn/Fiverr social icons (rel=noopener noreferrer)
- Default layout wraps header + slot + footer with min-h-screen flex
- app.vue uses NuxtLayout + useLocaleHead for global hreflang/canonical
- Fixed a11y.github -> a11y.gitea in both locale files
2026-04-08 16:26:14 +02:00
kayjaydee 61925c3c4d docs(02-03): complete per-route SEO metadata plan 2026-04-08 16:26:04 +02:00
kayjaydee 57f60e4bdc feat(02-02): create AppHeader with nav, lang/theme toggles, mobile drawer
- Sticky header with z-[1020], desktop nav with locale-aware NuxtLinks
- FR/EN text toggle using useSetLocale, dark/light icon toggle using useColorMode
- Mobile UDrawer with stacked nav links and toggles
- WCAG: min-w-11 min-h-11 touch targets, focus-visible:ring-2, aria-current on active link
2026-04-08 16:25:16 +02:00
kayjaydee 7f767154b3 feat(02-03): add per-route SEO metadata and JSON-LD to all page stubs
- useSeoMeta() with localized title/description/og tags on all 6 pages
- Homepage JSON-LD with Person + ProfessionalService schema
- og:image absolute URL on every page
- Stub templates with max-w-7xl wrapper and h1
2026-04-08 16:25:13 +02:00
kayjaydee 8a49a7fc88 docs(02-01): complete design system + i18n config plan 2026-04-08 16:23:48 +02:00
kayjaydee 69794e4bd9 feat(02-01): migrate i18n translations for Phase 2 scope
- nav, footer, a11y, seo keys from UI-SPEC copywriting contract
- All existing keys migrated from src/locales/fr.ts and en.ts
- Includes home, projects, about, contact, fiverr, faq, pricing, projectData, testimonials, common
- Emojis stripped from translation values for clean rendering
2026-04-08 16:23:03 +02:00
kayjaydee 7cf1366649 feat(02-01): design system, color-mode, sitemap config
- Brand color #85cb85 as CSS @theme with full shade palette
- app.config.ts maps Nuxt UI primary to brand
- colorMode with cookie storage, dark default, no FOUC
- i18n baseUrl and site.url for absolute SEO URLs
- Static og:image placeholder in public/
2026-04-08 16:17:04 +02:00
kayjaydee 068cc37397 docs(state): phase 2 planned 2026-04-08 16:13:48 +02:00
kayjaydee 87cbad25c1 docs(02): update CONTEXT.md D-05 Gitea + D-12 static og:image 2026-04-08 16:12:23 +02:00
kayjaydee 55497fe001 docs(02): create phase 2 SSR shell plans 2026-04-08 16:10:05 +02:00
kayjaydee 5db163a9b1 docs(02): research phase SSR shell domain 2026-04-08 15:57:15 +02:00
kayjaydee ae7ca3a34b docs(state): record phase 2 UI-SPEC session 2026-04-08 15:38:39 +02:00
kayjaydee 603b403cbb docs(phase-02): UI design contract for SSR Shell 2026-04-08 15:37:38 +02:00
kayjaydee 1254db7c8a docs(state): record phase 2 context session 2026-04-08 15:32:51 +02:00
kayjaydee 4fa965628a docs(02): capture phase context 2026-04-08 15:32:30 +02:00
kayjaydee c5de7de3e4 docs(phase-01): evolve PROJECT.md after phase completion 2026-04-08 15:19:34 +02:00
kayjaydee 0c1392677c docs(phase-01): complete phase execution 2026-04-08 15:18:49 +02:00
kayjaydee 1b54d4463f docs(01): add code review fix report 2026-04-08 15:18:04 +02:00
kayjaydee 427270f972 fix(01): WR-04 add dynamic lang attr on html element via useHead 2026-04-08 15:17:36 +02:00
kayjaydee adba594f52 fix(01): WR-03 move Bootstrap and Tailwind CSS from database to front category 2026-04-08 15:17:25 +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 71e6b90a04 fix(01): WR-01 complete i18n config with strategy, langDir and locale files 2026-04-08 15:17:00 +02:00
kayjaydee f50d4b0e6f fix(01): CR-01 move gtag ID to runtime config env var 2026-04-08 15:16:50 +02:00
kayjaydee 47c816d5c0 test(01): persist verification and human UAT items 2026-04-08 15:15:24 +02:00
kayjaydee 4b8995268a docs(01): add code review report 2026-04-08 15:13:01 +02:00
kayjaydee 2285875218 fix: restore CLAUDE.md deleted by worktree agent 2026-04-08 15:00:48 +02:00
kayjaydee fa143af729 docs(01-02): complete static data migration plan summary 2026-04-08 15:00:27 +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
kayjaydee d139605704 feat(01-02): migrate static data files and images to Nuxt structure
- 4 data files created in app/data/ with proper type imports from shared/types
- 74 WebP images copied to public/images/ (including flowboard gallery)
- All image paths migrated from @/assets/images/ to /images/
- FAQ uses i18n keys instead of direct text
2026-04-08 14:56:53 +02:00
kayjaydee 2db890708e docs(01-01): complete Nuxt 4 initialization plan summary 2026-04-08 14:53:43 +02:00
kayjaydee 9fb4505bb2 feat(01-01): add TypeScript interfaces and configure ESLint for Nuxt
- shared/types/index.ts with tightened Project, Technology, TechStack, Testimonial, FAQ interfaces
- technologies, category, date now required on Project (was optional)
- FAQ uses i18n keys (questionKey, answerKey, featuresKey)
- Replace old eslint.config.ts with Nuxt-compatible eslint.config.mjs
2026-04-08 14:53:06 +02:00
kayjaydee 01b0c13250 feat(01-01): initialize Nuxt 4 project with all modules
- nuxt.config.ts with compatibilityVersion 4, SSR, 6 modules
- app/app.vue and app/pages/index.vue minimal setup
- pnpm as package manager with all dependencies installed
- TypeScript strict mode enabled
- .gitignore updated for Nuxt (.nuxt, .output, .env)
- tsconfig.json extends .nuxt/tsconfig.json
2026-04-08 14:51:52 +02:00
kayjaydee 1704da8ce5 docs(01): address checker revision issues
- Mark RESEARCH.md Open Questions as RESOLVED with decisions
- Fix Plan 01-02 Task 1 verify to be independent of Task 2 (file existence + grep check instead of typecheck)
- Strengthen negative criterion: all app/data/ files must NOT contain @/assets/images/
2026-04-07 23:45:00 +02:00
kayjaydee f1e31fc043 docs(01): create phase 1 foundation plans 2026-04-07 23:39:15 +02:00
kayjaydee fdfddd2b97 docs(state): record phase 1 context session 2026-04-07 23:30:33 +02:00
kayjaydee 10fe8d6822 docs(01): capture phase context 2026-04-07 23:30:24 +02:00
kayjaydee 8177ff045a docs: create roadmap (3 phases) 2026-04-07 23:24:38 +02:00
kayjaydee 7273c6e815 docs: define v1 requirements 2026-04-07 23:22:10 +02:00
kayjaydee 3771e4abe9 docs: add project research 2026-04-07 23:17:32 +02:00
kayjaydee 2dff0a3d6c chore: add project config 2026-04-07 23:00:18 +02:00
kayjaydee 4a3736db34 docs: initialize project 2026-04-07 22:58:38 +02:00
kayjaydee 1b4e5eca0d docs: map existing codebase 2026-04-07 22:47:51 +02:00
Mr¤KayJayDee 2378febe6f add ads.txtx 2025-07-25 23:04:31 +02:00
Mr¤KayJayDee c79b818302 feat(analytics): intégration de Google Analytics et mise à jour du sitemap
- Remplacement de Google Tag Manager par Google Analytics (gtag.js) dans index.html pour le suivi des performances.
- Ajout d'une fonction de suivi des pages vues dans le routeur pour améliorer l'analyse des données.
- Mise à jour des dates de dernière modification dans sitemap.xml pour refléter la date actuelle.
- Révision des règles dans robots.txt pour un meilleur contrôle d'indexation.
2025-07-07 18:06:43 +02:00
Mr¤KayJayDee a8509416ae fix(header): suppression de la route de formation dans le menu de navigation
- Commenté la route de formation dans le composant AppHeader.vue pour éviter son affichage.
- Aucune autre modification apportée au fichier.
2025-07-05 22:47:45 +02:00
Mr¤KayJayDee 481c753371 feat(seo): mise à jour des métadonnées et intégration de Google Tag Manager
- Ajout du script Google Tag Manager dans index.html pour le suivi des performances.
- Mise à jour des couleurs de thème dans index.html et site.webmanifest pour un meilleur contraste.
- Révision des dates de dernière modification dans sitemap.xml pour refléter la date actuelle.
- Changement des priorités et des URLs des projets dans sitemap.xml pour une meilleure organisation.
- Modification de la gestion du thème par défaut dans useTheme.ts pour utiliser le mode sombre.
- Mise à jour des paramètres de localisation dans site.ts et index.ts pour un meilleur support multilingue.
2025-07-05 22:20:43 +02:00
Mr¤KayJayDee 6234e02fa7 feat(formation): ajout de la page de formation et des animations d'entrée
- Création d'une nouvelle page de formation avec des sections pour les plans tarifaires et les FAQ.
- Ajout de nouvelles animations CSS pour les entrées de page et les éléments.
- Mise à jour des traductions pour inclure la section de formation en anglais et en français.
- Intégration de la nouvelle route pour accéder à la page de formation.
- Amélioration des styles CSS pour la page de formation.
2025-06-26 10:06:19 +02:00