From ef3cc4efd96d291013bb38e7aa07a0e2d6133869 Mon Sep 17 00:00:00 2001 From: GauthierWebDev Date: Sat, 19 Apr 2025 12:14:42 +0200 Subject: [PATCH 001/106] chore: update file structure and rename files --- .gitignore | 10 ++++++++-- {app => app-old}/.env | 0 {app => app-old}/.prettierignore | 0 {app => app-old}/.prettierrc | 0 {app => app-old}/README.md | 0 {app => app-old}/assets/logo.afdesign | Bin {app => app-old}/assets/logo.svg | 0 .../components/common/Cookies.telefunc.ts | 0 {app => app-old}/components/common/Cookies.tsx | 0 {app => app-old}/components/common/Iframe.tsx | 0 {app => app-old}/components/common/Image.tsx | 0 {app => app-old}/components/common/Link.tsx | 0 {app => app-old}/components/common/Toggle.tsx | 0 {app => app-old}/components/md/Tabs.tsx | 0 {app => app-old}/components/syntax/Button.tsx | 0 {app => app-old}/components/syntax/CSRSnippet.tsx | 0 {app => app-old}/components/syntax/Callout.tsx | 0 {app => app-old}/components/syntax/DocsHeader.tsx | 0 {app => app-old}/components/syntax/DocsLayout.tsx | 0 {app => app-old}/components/syntax/Fence.tsx | 0 {app => app-old}/components/syntax/Hero.tsx | 0 .../components/syntax/HeroBackground.tsx | 0 {app => app-old}/components/syntax/Icon.tsx | 0 {app => app-old}/components/syntax/Logo.tsx | 0 .../components/syntax/MobileNavigation.tsx | 0 {app => app-old}/components/syntax/Navigation.tsx | 0 .../components/syntax/PrevNextLinks.tsx | 0 {app => app-old}/components/syntax/Prose.tsx | 0 {app => app-old}/components/syntax/QuickLinks.tsx | 0 {app => app-old}/components/syntax/SSRSnippet.tsx | 0 .../components/syntax/Search.telefunc.ts | 0 {app => app-old}/components/syntax/Search.tsx | 0 {app => app-old}/components/syntax/Snippet.tsx | 0 .../components/syntax/TableOfContents.tsx | 0 .../components/syntax/ThemeSelector.tsx | 0 .../components/syntax/icons/InstallationIcon.tsx | 0 .../components/syntax/icons/LightbulbIcon.tsx | 0 .../components/syntax/icons/PluginsIcon.tsx | 0 .../components/syntax/icons/PresetsIcon.tsx | 0 .../components/syntax/icons/QuestionIcon.tsx | 0 .../components/syntax/icons/ThemingIcon.tsx | 0 .../components/syntax/icons/WarningIcon.tsx | 0 {app => app-old}/contexts/ThemeContext.ts | 0 .../data/certifications/dwwm/at1/cp1/page.md | 0 .../data/certifications/dwwm/at1/cp2/page.md | 0 .../data/certifications/dwwm/at1/cp3/page.md | 0 .../data/certifications/dwwm/at1/cp4/page.md | 0 .../data/certifications/dwwm/at1/page.md | 0 .../data/certifications/dwwm/at2/cp5/page.md | 0 .../data/certifications/dwwm/at2/cp6/page.md | 0 .../data/certifications/dwwm/at2/cp7/page.md | 0 .../data/certifications/dwwm/at2/cp8/page.md | 0 .../data/certifications/dwwm/at2/page.md | 0 {app => app-old}/data/certifications/dwwm/page.md | 0 {app => app-old}/data/certifications/page.md | 0 .../data/docs/communaute/influenceurs/page.md | 0 .../data/docs/communaute/partages/page.md | 0 .../docs/merise/dictionnaire-de-donnees/page.md | 0 {app => app-old}/data/docs/merise/mcd/page.md | 0 {app => app-old}/data/docs/merise/mld/page.md | 0 {app => app-old}/data/docs/merise/mpd/page.md | 0 {app => app-old}/data/docs/merise/page.md | 0 {app => app-old}/data/docs/page.md | 0 {app => app-old}/data/docs/react/hooks/page.md | 0 .../data/docs/react/initialisation/page.md | 0 {app => app-old}/data/docs/react/jsx/page.md | 0 {app => app-old}/data/docs/react/page.md | 0 .../data/docs/react/premier-composant/page.md | 0 .../data/docs/react/state-et-cycle-de-vie/page.md | 0 .../data/docs/react/use-context/page.md | 0 .../data/docs/react/use-reducer/page.md | 0 {app => app-old}/data/page.md | 0 {app => app-old}/data/snippets/bash/pg_cron_file.sh | 0 .../data/snippets/bash/pg_cron_register.sh | 0 .../data/snippets/html/defer-iframe.html | 0 .../data/snippets/html/lazy-loading.html | 0 {app => app-old}/data/snippets/js/defer-iframe.ts | 0 {app => app-old}/data/snippets/js/xhr/fetch.js | 0 .../data/snippets/js/xhr/jquery-ajax.js | 0 {app => app-old}/data/snippets/js/xhr/xhr.js | 0 .../data/snippets/nginx/reverse-proxy.conf | 0 .../data/snippets/react/reducer/file-counter.jsx | 0 .../data/snippets/react/reducer/file-counter.tsx | 0 .../snippets/react/reducer/file-counterReducer.js | 0 .../snippets/react/reducer/file-counterReducer.ts | 0 .../react/reducer/reducer-action-creator.js | 0 .../react/reducer/reducer-action-creator.ts | 0 .../react/reducer/reducer-actions-constants.js | 0 .../snippets/react/reducer/reducer-actions-enum.js | 0 .../snippets/react/reducer/reducer-actions-enum.ts | 0 .../react/reducer/reducer-actions-union-use.ts | 0 .../snippets/react/reducer/reducer-actions-union.ts | 0 .../reducer/reducer-dispatch-action-creator.js | 0 .../react/reducer/reducer-dispatch-increment.js | 0 .../data/snippets/react/reducer/reducer-example.jsx | 0 .../data/snippets/react/reducer/reducer-example.tsx | 0 .../data/snippets/react/reducer/reducer-hook.js | 0 .../data/snippets/react/reducer/reducer-hook.ts | 0 .../snippets/react/reducer/reducer-initial-state.js | 0 .../snippets/react/reducer/reducer-initial-state.ts | 0 .../react/reducer/reducer-why-spread-operator.jsx | 0 .../data/snippets/react/reducer/reducer.js | 0 .../data/snippets/react/reducer/reducer.ts | 0 {app => app-old}/data/themes/prism.ts | 0 {app => app-old}/eslint.config.js | 0 {app => app-old}/fastify-entry.ts | 0 {app => app-old}/hooks/useDebounce.ts | 0 {app => app-old}/hooks/useTheme.ts | 0 {app => app-old}/images/blur-cyan.png | Bin {app => app-old}/images/blur-cyan.webp | Bin {app => app-old}/images/blur-indigo.png | Bin {app => app-old}/images/blur-indigo.webp | Bin {app => app-old}/layouts/LayoutDefault.tsx | 0 {app => app-old}/layouts/prism.css | 0 {app => app-old}/layouts/style.css | 0 {app => app-old}/layouts/tailwind.css | 0 {app => app-old}/lib/getTelefuncContext.ts | 0 {app => app-old}/lib/navigation.ts | 0 {app => app-old}/lib/search.ts | 0 {app => app-old}/lib/sections.ts | 0 {app => app-old}/markdoc/Tag.ts | 0 {app => app-old}/markdoc/nodes.tsx | 0 {app => app-old}/markdoc/tags.tsx | 0 {app => app-old}/package.json | 0 {app => app-old}/pages/+Head.tsx | 0 {app => app-old}/pages/+config.ts | 0 {app => app-old}/pages/+onPageTransitionEnd.ts | 0 {app => app-old}/pages/+onPageTransitionStart.ts | 0 {app => app-old}/pages/+title.ts | 0 {app => app-old}/pages/_error/+Page.tsx | 0 {app => app-old}/pages/buildTitle.ts | 0 {app => app-old}/pages/certifications/+Page.tsx | 0 {app => app-old}/pages/certifications/+data.ts | 0 .../pages/certifications/+onBeforePrerenderStart.ts | 0 {app => app-old}/pages/certifications/+route.ts | 0 {app => app-old}/pages/docs/+Page.tsx | 0 {app => app-old}/pages/docs/+data.ts | 0 .../pages/docs/+onBeforePrerenderStart.ts | 0 {app => app-old}/pages/docs/+route.ts | 0 {app => app-old}/pages/index/+Page.tsx | 0 {app => app-old}/pages/index/+data.ts | 0 {app => app-old}/pages/mentions-legales/+Page.tsx | 0 .../pages/politique-de-confidentialite/+Page.tsx | 0 {app => app-old}/pnpm-lock.yaml | 0 .../providers/ThemeProvider.telefunc.ts | 0 {app => app-old}/providers/ThemeProvider.tsx | 0 .../downloads/dwwm/REAC_DWWM_V04_02072024.pdf | Bin .../downloads/dwwm/REV2_DWWM_V04_02072024.pdf | Bin .../public/downloads/merise/band-manager.lo1 | Bin .../public/downloads/merise/band-manager.loo | Bin {app => app-old}/public/merise/mcd-1.webp | Bin {app => app-old}/public/merise/mcd-2.webp | Bin {app => app-old}/public/merise/mcd-3.webp | Bin {app => app-old}/public/merise/mcd-4.webp | Bin {app => app-old}/public/merise/mcd-basic.webp | Bin {app => app-old}/public/merise/og.webp | Bin {app => app-old}/public/og.webp | Bin {app => app-old}/public/patterns/mvc.webp | Bin {app => app-old}/public/robots.txt | 0 {app => app-old}/server/telefunc-handler.ts | 0 {app => app-old}/server/vike-handler.ts | 0 {app => app-old}/services/CookieParser.ts | 0 {app => app-old}/services/DocsService.ts | 0 {app => app-old}/services/FlexSearchService.ts | 0 {app => app-old}/services/RedisService.ts | 0 {app => app-old}/services/Sitemap.ts | 0 {app => app-old}/services/SnippetsService.ts | 0 {app => app-old}/sitemap.ts | 0 {app => app-old}/tsconfig.json | 0 {app => app-old}/types.d.ts | 0 {app => app-old}/vite.config.ts | 0 171 files changed, 8 insertions(+), 2 deletions(-) rename {app => app-old}/.env (100%) rename {app => app-old}/.prettierignore (100%) rename {app => app-old}/.prettierrc (100%) rename {app => app-old}/README.md (100%) rename {app => app-old}/assets/logo.afdesign (100%) rename {app => app-old}/assets/logo.svg (100%) rename {app => app-old}/components/common/Cookies.telefunc.ts (100%) rename {app => app-old}/components/common/Cookies.tsx (100%) rename {app => app-old}/components/common/Iframe.tsx (100%) rename {app => app-old}/components/common/Image.tsx (100%) rename {app => app-old}/components/common/Link.tsx (100%) rename {app => app-old}/components/common/Toggle.tsx (100%) rename {app => app-old}/components/md/Tabs.tsx (100%) rename {app => app-old}/components/syntax/Button.tsx (100%) rename {app => app-old}/components/syntax/CSRSnippet.tsx (100%) rename {app => app-old}/components/syntax/Callout.tsx (100%) rename {app => app-old}/components/syntax/DocsHeader.tsx (100%) rename {app => app-old}/components/syntax/DocsLayout.tsx (100%) rename {app => app-old}/components/syntax/Fence.tsx (100%) rename {app => app-old}/components/syntax/Hero.tsx (100%) rename {app => app-old}/components/syntax/HeroBackground.tsx (100%) rename {app => app-old}/components/syntax/Icon.tsx (100%) rename {app => app-old}/components/syntax/Logo.tsx (100%) rename {app => app-old}/components/syntax/MobileNavigation.tsx (100%) rename {app => app-old}/components/syntax/Navigation.tsx (100%) rename {app => app-old}/components/syntax/PrevNextLinks.tsx (100%) rename {app => app-old}/components/syntax/Prose.tsx (100%) rename {app => app-old}/components/syntax/QuickLinks.tsx (100%) rename {app => app-old}/components/syntax/SSRSnippet.tsx (100%) rename {app => app-old}/components/syntax/Search.telefunc.ts (100%) rename {app => app-old}/components/syntax/Search.tsx (100%) rename {app => app-old}/components/syntax/Snippet.tsx (100%) rename {app => app-old}/components/syntax/TableOfContents.tsx (100%) rename {app => app-old}/components/syntax/ThemeSelector.tsx (100%) rename {app => app-old}/components/syntax/icons/InstallationIcon.tsx (100%) rename {app => app-old}/components/syntax/icons/LightbulbIcon.tsx (100%) rename {app => app-old}/components/syntax/icons/PluginsIcon.tsx (100%) rename {app => app-old}/components/syntax/icons/PresetsIcon.tsx (100%) rename {app => app-old}/components/syntax/icons/QuestionIcon.tsx (100%) rename {app => app-old}/components/syntax/icons/ThemingIcon.tsx (100%) rename {app => app-old}/components/syntax/icons/WarningIcon.tsx (100%) rename {app => app-old}/contexts/ThemeContext.ts (100%) rename {app => app-old}/data/certifications/dwwm/at1/cp1/page.md (100%) rename {app => app-old}/data/certifications/dwwm/at1/cp2/page.md (100%) rename {app => app-old}/data/certifications/dwwm/at1/cp3/page.md (100%) rename {app => app-old}/data/certifications/dwwm/at1/cp4/page.md (100%) rename {app => app-old}/data/certifications/dwwm/at1/page.md (100%) rename {app => app-old}/data/certifications/dwwm/at2/cp5/page.md (100%) rename {app => app-old}/data/certifications/dwwm/at2/cp6/page.md (100%) rename {app => app-old}/data/certifications/dwwm/at2/cp7/page.md (100%) rename {app => app-old}/data/certifications/dwwm/at2/cp8/page.md (100%) rename {app => app-old}/data/certifications/dwwm/at2/page.md (100%) rename {app => app-old}/data/certifications/dwwm/page.md (100%) rename {app => app-old}/data/certifications/page.md (100%) rename {app => app-old}/data/docs/communaute/influenceurs/page.md (100%) rename {app => app-old}/data/docs/communaute/partages/page.md (100%) rename {app => app-old}/data/docs/merise/dictionnaire-de-donnees/page.md (100%) rename {app => app-old}/data/docs/merise/mcd/page.md (100%) rename {app => app-old}/data/docs/merise/mld/page.md (100%) rename {app => app-old}/data/docs/merise/mpd/page.md (100%) rename {app => app-old}/data/docs/merise/page.md (100%) rename {app => app-old}/data/docs/page.md (100%) rename {app => app-old}/data/docs/react/hooks/page.md (100%) rename {app => app-old}/data/docs/react/initialisation/page.md (100%) rename {app => app-old}/data/docs/react/jsx/page.md (100%) rename {app => app-old}/data/docs/react/page.md (100%) rename {app => app-old}/data/docs/react/premier-composant/page.md (100%) rename {app => app-old}/data/docs/react/state-et-cycle-de-vie/page.md (100%) rename {app => app-old}/data/docs/react/use-context/page.md (100%) rename {app => app-old}/data/docs/react/use-reducer/page.md (100%) rename {app => app-old}/data/page.md (100%) rename {app => app-old}/data/snippets/bash/pg_cron_file.sh (100%) rename {app => app-old}/data/snippets/bash/pg_cron_register.sh (100%) rename {app => app-old}/data/snippets/html/defer-iframe.html (100%) rename {app => app-old}/data/snippets/html/lazy-loading.html (100%) rename {app => app-old}/data/snippets/js/defer-iframe.ts (100%) rename {app => app-old}/data/snippets/js/xhr/fetch.js (100%) rename {app => app-old}/data/snippets/js/xhr/jquery-ajax.js (100%) rename {app => app-old}/data/snippets/js/xhr/xhr.js (100%) rename {app => app-old}/data/snippets/nginx/reverse-proxy.conf (100%) rename {app => app-old}/data/snippets/react/reducer/file-counter.jsx (100%) rename {app => app-old}/data/snippets/react/reducer/file-counter.tsx (100%) rename {app => app-old}/data/snippets/react/reducer/file-counterReducer.js (100%) rename {app => app-old}/data/snippets/react/reducer/file-counterReducer.ts (100%) rename {app => app-old}/data/snippets/react/reducer/reducer-action-creator.js (100%) rename {app => app-old}/data/snippets/react/reducer/reducer-action-creator.ts (100%) rename {app => app-old}/data/snippets/react/reducer/reducer-actions-constants.js (100%) rename {app => app-old}/data/snippets/react/reducer/reducer-actions-enum.js (100%) rename {app => app-old}/data/snippets/react/reducer/reducer-actions-enum.ts (100%) rename {app => app-old}/data/snippets/react/reducer/reducer-actions-union-use.ts (100%) rename {app => app-old}/data/snippets/react/reducer/reducer-actions-union.ts (100%) rename {app => app-old}/data/snippets/react/reducer/reducer-dispatch-action-creator.js (100%) rename {app => app-old}/data/snippets/react/reducer/reducer-dispatch-increment.js (100%) rename {app => app-old}/data/snippets/react/reducer/reducer-example.jsx (100%) rename {app => app-old}/data/snippets/react/reducer/reducer-example.tsx (100%) rename {app => app-old}/data/snippets/react/reducer/reducer-hook.js (100%) rename {app => app-old}/data/snippets/react/reducer/reducer-hook.ts (100%) rename {app => app-old}/data/snippets/react/reducer/reducer-initial-state.js (100%) rename {app => app-old}/data/snippets/react/reducer/reducer-initial-state.ts (100%) rename {app => app-old}/data/snippets/react/reducer/reducer-why-spread-operator.jsx (100%) rename {app => app-old}/data/snippets/react/reducer/reducer.js (100%) rename {app => app-old}/data/snippets/react/reducer/reducer.ts (100%) rename {app => app-old}/data/themes/prism.ts (100%) rename {app => app-old}/eslint.config.js (100%) rename {app => app-old}/fastify-entry.ts (100%) rename {app => app-old}/hooks/useDebounce.ts (100%) rename {app => app-old}/hooks/useTheme.ts (100%) rename {app => app-old}/images/blur-cyan.png (100%) rename {app => app-old}/images/blur-cyan.webp (100%) rename {app => app-old}/images/blur-indigo.png (100%) rename {app => app-old}/images/blur-indigo.webp (100%) rename {app => app-old}/layouts/LayoutDefault.tsx (100%) rename {app => app-old}/layouts/prism.css (100%) rename {app => app-old}/layouts/style.css (100%) rename {app => app-old}/layouts/tailwind.css (100%) rename {app => app-old}/lib/getTelefuncContext.ts (100%) rename {app => app-old}/lib/navigation.ts (100%) rename {app => app-old}/lib/search.ts (100%) rename {app => app-old}/lib/sections.ts (100%) rename {app => app-old}/markdoc/Tag.ts (100%) rename {app => app-old}/markdoc/nodes.tsx (100%) rename {app => app-old}/markdoc/tags.tsx (100%) rename {app => app-old}/package.json (100%) rename {app => app-old}/pages/+Head.tsx (100%) rename {app => app-old}/pages/+config.ts (100%) rename {app => app-old}/pages/+onPageTransitionEnd.ts (100%) rename {app => app-old}/pages/+onPageTransitionStart.ts (100%) rename {app => app-old}/pages/+title.ts (100%) rename {app => app-old}/pages/_error/+Page.tsx (100%) rename {app => app-old}/pages/buildTitle.ts (100%) rename {app => app-old}/pages/certifications/+Page.tsx (100%) rename {app => app-old}/pages/certifications/+data.ts (100%) rename {app => app-old}/pages/certifications/+onBeforePrerenderStart.ts (100%) rename {app => app-old}/pages/certifications/+route.ts (100%) rename {app => app-old}/pages/docs/+Page.tsx (100%) rename {app => app-old}/pages/docs/+data.ts (100%) rename {app => app-old}/pages/docs/+onBeforePrerenderStart.ts (100%) rename {app => app-old}/pages/docs/+route.ts (100%) rename {app => app-old}/pages/index/+Page.tsx (100%) rename {app => app-old}/pages/index/+data.ts (100%) rename {app => app-old}/pages/mentions-legales/+Page.tsx (100%) rename {app => app-old}/pages/politique-de-confidentialite/+Page.tsx (100%) rename {app => app-old}/pnpm-lock.yaml (100%) rename {app => app-old}/providers/ThemeProvider.telefunc.ts (100%) rename {app => app-old}/providers/ThemeProvider.tsx (100%) rename {app => app-old}/public/downloads/dwwm/REAC_DWWM_V04_02072024.pdf (100%) rename {app => app-old}/public/downloads/dwwm/REV2_DWWM_V04_02072024.pdf (100%) rename {app => app-old}/public/downloads/merise/band-manager.lo1 (100%) rename {app => app-old}/public/downloads/merise/band-manager.loo (100%) rename {app => app-old}/public/merise/mcd-1.webp (100%) rename {app => app-old}/public/merise/mcd-2.webp (100%) rename {app => app-old}/public/merise/mcd-3.webp (100%) rename {app => app-old}/public/merise/mcd-4.webp (100%) rename {app => app-old}/public/merise/mcd-basic.webp (100%) rename {app => app-old}/public/merise/og.webp (100%) rename {app => app-old}/public/og.webp (100%) rename {app => app-old}/public/patterns/mvc.webp (100%) rename {app => app-old}/public/robots.txt (100%) rename {app => app-old}/server/telefunc-handler.ts (100%) rename {app => app-old}/server/vike-handler.ts (100%) rename {app => app-old}/services/CookieParser.ts (100%) rename {app => app-old}/services/DocsService.ts (100%) rename {app => app-old}/services/FlexSearchService.ts (100%) rename {app => app-old}/services/RedisService.ts (100%) rename {app => app-old}/services/Sitemap.ts (100%) rename {app => app-old}/services/SnippetsService.ts (100%) rename {app => app-old}/sitemap.ts (100%) rename {app => app-old}/tsconfig.json (100%) rename {app => app-old}/types.d.ts (100%) rename {app => app-old}/vite.config.ts (100%) diff --git a/.gitignore b/.gitignore index 68d7568..f5044da 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,12 @@ /.env +**/*~lock* + +app-old/.pnpm-store +app-old/node_modules +app-old/dist +app-old/public/sitemap.xml + app/.pnpm-store app/node_modules app/dist -app/public/sitemap.xml -**/*~lock* \ No newline at end of file +app/public/sitemap.xml \ No newline at end of file diff --git a/app/.env b/app-old/.env similarity index 100% rename from app/.env rename to app-old/.env diff --git a/app/.prettierignore b/app-old/.prettierignore similarity index 100% rename from app/.prettierignore rename to app-old/.prettierignore diff --git a/app/.prettierrc b/app-old/.prettierrc similarity index 100% rename from app/.prettierrc rename to app-old/.prettierrc diff --git a/app/README.md b/app-old/README.md similarity index 100% rename from app/README.md rename to app-old/README.md diff --git a/app/assets/logo.afdesign b/app-old/assets/logo.afdesign similarity index 100% rename from app/assets/logo.afdesign rename to app-old/assets/logo.afdesign diff --git a/app/assets/logo.svg b/app-old/assets/logo.svg similarity index 100% rename from app/assets/logo.svg rename to app-old/assets/logo.svg diff --git a/app/components/common/Cookies.telefunc.ts b/app-old/components/common/Cookies.telefunc.ts similarity index 100% rename from app/components/common/Cookies.telefunc.ts rename to app-old/components/common/Cookies.telefunc.ts diff --git a/app/components/common/Cookies.tsx b/app-old/components/common/Cookies.tsx similarity index 100% rename from app/components/common/Cookies.tsx rename to app-old/components/common/Cookies.tsx diff --git a/app/components/common/Iframe.tsx b/app-old/components/common/Iframe.tsx similarity index 100% rename from app/components/common/Iframe.tsx rename to app-old/components/common/Iframe.tsx diff --git a/app/components/common/Image.tsx b/app-old/components/common/Image.tsx similarity index 100% rename from app/components/common/Image.tsx rename to app-old/components/common/Image.tsx diff --git a/app/components/common/Link.tsx b/app-old/components/common/Link.tsx similarity index 100% rename from app/components/common/Link.tsx rename to app-old/components/common/Link.tsx diff --git a/app/components/common/Toggle.tsx b/app-old/components/common/Toggle.tsx similarity index 100% rename from app/components/common/Toggle.tsx rename to app-old/components/common/Toggle.tsx diff --git a/app/components/md/Tabs.tsx b/app-old/components/md/Tabs.tsx similarity index 100% rename from app/components/md/Tabs.tsx rename to app-old/components/md/Tabs.tsx diff --git a/app/components/syntax/Button.tsx b/app-old/components/syntax/Button.tsx similarity index 100% rename from app/components/syntax/Button.tsx rename to app-old/components/syntax/Button.tsx diff --git a/app/components/syntax/CSRSnippet.tsx b/app-old/components/syntax/CSRSnippet.tsx similarity index 100% rename from app/components/syntax/CSRSnippet.tsx rename to app-old/components/syntax/CSRSnippet.tsx diff --git a/app/components/syntax/Callout.tsx b/app-old/components/syntax/Callout.tsx similarity index 100% rename from app/components/syntax/Callout.tsx rename to app-old/components/syntax/Callout.tsx diff --git a/app/components/syntax/DocsHeader.tsx b/app-old/components/syntax/DocsHeader.tsx similarity index 100% rename from app/components/syntax/DocsHeader.tsx rename to app-old/components/syntax/DocsHeader.tsx diff --git a/app/components/syntax/DocsLayout.tsx b/app-old/components/syntax/DocsLayout.tsx similarity index 100% rename from app/components/syntax/DocsLayout.tsx rename to app-old/components/syntax/DocsLayout.tsx diff --git a/app/components/syntax/Fence.tsx b/app-old/components/syntax/Fence.tsx similarity index 100% rename from app/components/syntax/Fence.tsx rename to app-old/components/syntax/Fence.tsx diff --git a/app/components/syntax/Hero.tsx b/app-old/components/syntax/Hero.tsx similarity index 100% rename from app/components/syntax/Hero.tsx rename to app-old/components/syntax/Hero.tsx diff --git a/app/components/syntax/HeroBackground.tsx b/app-old/components/syntax/HeroBackground.tsx similarity index 100% rename from app/components/syntax/HeroBackground.tsx rename to app-old/components/syntax/HeroBackground.tsx diff --git a/app/components/syntax/Icon.tsx b/app-old/components/syntax/Icon.tsx similarity index 100% rename from app/components/syntax/Icon.tsx rename to app-old/components/syntax/Icon.tsx diff --git a/app/components/syntax/Logo.tsx b/app-old/components/syntax/Logo.tsx similarity index 100% rename from app/components/syntax/Logo.tsx rename to app-old/components/syntax/Logo.tsx diff --git a/app/components/syntax/MobileNavigation.tsx b/app-old/components/syntax/MobileNavigation.tsx similarity index 100% rename from app/components/syntax/MobileNavigation.tsx rename to app-old/components/syntax/MobileNavigation.tsx diff --git a/app/components/syntax/Navigation.tsx b/app-old/components/syntax/Navigation.tsx similarity index 100% rename from app/components/syntax/Navigation.tsx rename to app-old/components/syntax/Navigation.tsx diff --git a/app/components/syntax/PrevNextLinks.tsx b/app-old/components/syntax/PrevNextLinks.tsx similarity index 100% rename from app/components/syntax/PrevNextLinks.tsx rename to app-old/components/syntax/PrevNextLinks.tsx diff --git a/app/components/syntax/Prose.tsx b/app-old/components/syntax/Prose.tsx similarity index 100% rename from app/components/syntax/Prose.tsx rename to app-old/components/syntax/Prose.tsx diff --git a/app/components/syntax/QuickLinks.tsx b/app-old/components/syntax/QuickLinks.tsx similarity index 100% rename from app/components/syntax/QuickLinks.tsx rename to app-old/components/syntax/QuickLinks.tsx diff --git a/app/components/syntax/SSRSnippet.tsx b/app-old/components/syntax/SSRSnippet.tsx similarity index 100% rename from app/components/syntax/SSRSnippet.tsx rename to app-old/components/syntax/SSRSnippet.tsx diff --git a/app/components/syntax/Search.telefunc.ts b/app-old/components/syntax/Search.telefunc.ts similarity index 100% rename from app/components/syntax/Search.telefunc.ts rename to app-old/components/syntax/Search.telefunc.ts diff --git a/app/components/syntax/Search.tsx b/app-old/components/syntax/Search.tsx similarity index 100% rename from app/components/syntax/Search.tsx rename to app-old/components/syntax/Search.tsx diff --git a/app/components/syntax/Snippet.tsx b/app-old/components/syntax/Snippet.tsx similarity index 100% rename from app/components/syntax/Snippet.tsx rename to app-old/components/syntax/Snippet.tsx diff --git a/app/components/syntax/TableOfContents.tsx b/app-old/components/syntax/TableOfContents.tsx similarity index 100% rename from app/components/syntax/TableOfContents.tsx rename to app-old/components/syntax/TableOfContents.tsx diff --git a/app/components/syntax/ThemeSelector.tsx b/app-old/components/syntax/ThemeSelector.tsx similarity index 100% rename from app/components/syntax/ThemeSelector.tsx rename to app-old/components/syntax/ThemeSelector.tsx diff --git a/app/components/syntax/icons/InstallationIcon.tsx b/app-old/components/syntax/icons/InstallationIcon.tsx similarity index 100% rename from app/components/syntax/icons/InstallationIcon.tsx rename to app-old/components/syntax/icons/InstallationIcon.tsx diff --git a/app/components/syntax/icons/LightbulbIcon.tsx b/app-old/components/syntax/icons/LightbulbIcon.tsx similarity index 100% rename from app/components/syntax/icons/LightbulbIcon.tsx rename to app-old/components/syntax/icons/LightbulbIcon.tsx diff --git a/app/components/syntax/icons/PluginsIcon.tsx b/app-old/components/syntax/icons/PluginsIcon.tsx similarity index 100% rename from app/components/syntax/icons/PluginsIcon.tsx rename to app-old/components/syntax/icons/PluginsIcon.tsx diff --git a/app/components/syntax/icons/PresetsIcon.tsx b/app-old/components/syntax/icons/PresetsIcon.tsx similarity index 100% rename from app/components/syntax/icons/PresetsIcon.tsx rename to app-old/components/syntax/icons/PresetsIcon.tsx diff --git a/app/components/syntax/icons/QuestionIcon.tsx b/app-old/components/syntax/icons/QuestionIcon.tsx similarity index 100% rename from app/components/syntax/icons/QuestionIcon.tsx rename to app-old/components/syntax/icons/QuestionIcon.tsx diff --git a/app/components/syntax/icons/ThemingIcon.tsx b/app-old/components/syntax/icons/ThemingIcon.tsx similarity index 100% rename from app/components/syntax/icons/ThemingIcon.tsx rename to app-old/components/syntax/icons/ThemingIcon.tsx diff --git a/app/components/syntax/icons/WarningIcon.tsx b/app-old/components/syntax/icons/WarningIcon.tsx similarity index 100% rename from app/components/syntax/icons/WarningIcon.tsx rename to app-old/components/syntax/icons/WarningIcon.tsx diff --git a/app/contexts/ThemeContext.ts b/app-old/contexts/ThemeContext.ts similarity index 100% rename from app/contexts/ThemeContext.ts rename to app-old/contexts/ThemeContext.ts diff --git a/app/data/certifications/dwwm/at1/cp1/page.md b/app-old/data/certifications/dwwm/at1/cp1/page.md similarity index 100% rename from app/data/certifications/dwwm/at1/cp1/page.md rename to app-old/data/certifications/dwwm/at1/cp1/page.md diff --git a/app/data/certifications/dwwm/at1/cp2/page.md b/app-old/data/certifications/dwwm/at1/cp2/page.md similarity index 100% rename from app/data/certifications/dwwm/at1/cp2/page.md rename to app-old/data/certifications/dwwm/at1/cp2/page.md diff --git a/app/data/certifications/dwwm/at1/cp3/page.md b/app-old/data/certifications/dwwm/at1/cp3/page.md similarity index 100% rename from app/data/certifications/dwwm/at1/cp3/page.md rename to app-old/data/certifications/dwwm/at1/cp3/page.md diff --git a/app/data/certifications/dwwm/at1/cp4/page.md b/app-old/data/certifications/dwwm/at1/cp4/page.md similarity index 100% rename from app/data/certifications/dwwm/at1/cp4/page.md rename to app-old/data/certifications/dwwm/at1/cp4/page.md diff --git a/app/data/certifications/dwwm/at1/page.md b/app-old/data/certifications/dwwm/at1/page.md similarity index 100% rename from app/data/certifications/dwwm/at1/page.md rename to app-old/data/certifications/dwwm/at1/page.md diff --git a/app/data/certifications/dwwm/at2/cp5/page.md b/app-old/data/certifications/dwwm/at2/cp5/page.md similarity index 100% rename from app/data/certifications/dwwm/at2/cp5/page.md rename to app-old/data/certifications/dwwm/at2/cp5/page.md diff --git a/app/data/certifications/dwwm/at2/cp6/page.md b/app-old/data/certifications/dwwm/at2/cp6/page.md similarity index 100% rename from app/data/certifications/dwwm/at2/cp6/page.md rename to app-old/data/certifications/dwwm/at2/cp6/page.md diff --git a/app/data/certifications/dwwm/at2/cp7/page.md b/app-old/data/certifications/dwwm/at2/cp7/page.md similarity index 100% rename from app/data/certifications/dwwm/at2/cp7/page.md rename to app-old/data/certifications/dwwm/at2/cp7/page.md diff --git a/app/data/certifications/dwwm/at2/cp8/page.md b/app-old/data/certifications/dwwm/at2/cp8/page.md similarity index 100% rename from app/data/certifications/dwwm/at2/cp8/page.md rename to app-old/data/certifications/dwwm/at2/cp8/page.md diff --git a/app/data/certifications/dwwm/at2/page.md b/app-old/data/certifications/dwwm/at2/page.md similarity index 100% rename from app/data/certifications/dwwm/at2/page.md rename to app-old/data/certifications/dwwm/at2/page.md diff --git a/app/data/certifications/dwwm/page.md b/app-old/data/certifications/dwwm/page.md similarity index 100% rename from app/data/certifications/dwwm/page.md rename to app-old/data/certifications/dwwm/page.md diff --git a/app/data/certifications/page.md b/app-old/data/certifications/page.md similarity index 100% rename from app/data/certifications/page.md rename to app-old/data/certifications/page.md diff --git a/app/data/docs/communaute/influenceurs/page.md b/app-old/data/docs/communaute/influenceurs/page.md similarity index 100% rename from app/data/docs/communaute/influenceurs/page.md rename to app-old/data/docs/communaute/influenceurs/page.md diff --git a/app/data/docs/communaute/partages/page.md b/app-old/data/docs/communaute/partages/page.md similarity index 100% rename from app/data/docs/communaute/partages/page.md rename to app-old/data/docs/communaute/partages/page.md diff --git a/app/data/docs/merise/dictionnaire-de-donnees/page.md b/app-old/data/docs/merise/dictionnaire-de-donnees/page.md similarity index 100% rename from app/data/docs/merise/dictionnaire-de-donnees/page.md rename to app-old/data/docs/merise/dictionnaire-de-donnees/page.md diff --git a/app/data/docs/merise/mcd/page.md b/app-old/data/docs/merise/mcd/page.md similarity index 100% rename from app/data/docs/merise/mcd/page.md rename to app-old/data/docs/merise/mcd/page.md diff --git a/app/data/docs/merise/mld/page.md b/app-old/data/docs/merise/mld/page.md similarity index 100% rename from app/data/docs/merise/mld/page.md rename to app-old/data/docs/merise/mld/page.md diff --git a/app/data/docs/merise/mpd/page.md b/app-old/data/docs/merise/mpd/page.md similarity index 100% rename from app/data/docs/merise/mpd/page.md rename to app-old/data/docs/merise/mpd/page.md diff --git a/app/data/docs/merise/page.md b/app-old/data/docs/merise/page.md similarity index 100% rename from app/data/docs/merise/page.md rename to app-old/data/docs/merise/page.md diff --git a/app/data/docs/page.md b/app-old/data/docs/page.md similarity index 100% rename from app/data/docs/page.md rename to app-old/data/docs/page.md diff --git a/app/data/docs/react/hooks/page.md b/app-old/data/docs/react/hooks/page.md similarity index 100% rename from app/data/docs/react/hooks/page.md rename to app-old/data/docs/react/hooks/page.md diff --git a/app/data/docs/react/initialisation/page.md b/app-old/data/docs/react/initialisation/page.md similarity index 100% rename from app/data/docs/react/initialisation/page.md rename to app-old/data/docs/react/initialisation/page.md diff --git a/app/data/docs/react/jsx/page.md b/app-old/data/docs/react/jsx/page.md similarity index 100% rename from app/data/docs/react/jsx/page.md rename to app-old/data/docs/react/jsx/page.md diff --git a/app/data/docs/react/page.md b/app-old/data/docs/react/page.md similarity index 100% rename from app/data/docs/react/page.md rename to app-old/data/docs/react/page.md diff --git a/app/data/docs/react/premier-composant/page.md b/app-old/data/docs/react/premier-composant/page.md similarity index 100% rename from app/data/docs/react/premier-composant/page.md rename to app-old/data/docs/react/premier-composant/page.md diff --git a/app/data/docs/react/state-et-cycle-de-vie/page.md b/app-old/data/docs/react/state-et-cycle-de-vie/page.md similarity index 100% rename from app/data/docs/react/state-et-cycle-de-vie/page.md rename to app-old/data/docs/react/state-et-cycle-de-vie/page.md diff --git a/app/data/docs/react/use-context/page.md b/app-old/data/docs/react/use-context/page.md similarity index 100% rename from app/data/docs/react/use-context/page.md rename to app-old/data/docs/react/use-context/page.md diff --git a/app/data/docs/react/use-reducer/page.md b/app-old/data/docs/react/use-reducer/page.md similarity index 100% rename from app/data/docs/react/use-reducer/page.md rename to app-old/data/docs/react/use-reducer/page.md diff --git a/app/data/page.md b/app-old/data/page.md similarity index 100% rename from app/data/page.md rename to app-old/data/page.md diff --git a/app/data/snippets/bash/pg_cron_file.sh b/app-old/data/snippets/bash/pg_cron_file.sh similarity index 100% rename from app/data/snippets/bash/pg_cron_file.sh rename to app-old/data/snippets/bash/pg_cron_file.sh diff --git a/app/data/snippets/bash/pg_cron_register.sh b/app-old/data/snippets/bash/pg_cron_register.sh similarity index 100% rename from app/data/snippets/bash/pg_cron_register.sh rename to app-old/data/snippets/bash/pg_cron_register.sh diff --git a/app/data/snippets/html/defer-iframe.html b/app-old/data/snippets/html/defer-iframe.html similarity index 100% rename from app/data/snippets/html/defer-iframe.html rename to app-old/data/snippets/html/defer-iframe.html diff --git a/app/data/snippets/html/lazy-loading.html b/app-old/data/snippets/html/lazy-loading.html similarity index 100% rename from app/data/snippets/html/lazy-loading.html rename to app-old/data/snippets/html/lazy-loading.html diff --git a/app/data/snippets/js/defer-iframe.ts b/app-old/data/snippets/js/defer-iframe.ts similarity index 100% rename from app/data/snippets/js/defer-iframe.ts rename to app-old/data/snippets/js/defer-iframe.ts diff --git a/app/data/snippets/js/xhr/fetch.js b/app-old/data/snippets/js/xhr/fetch.js similarity index 100% rename from app/data/snippets/js/xhr/fetch.js rename to app-old/data/snippets/js/xhr/fetch.js diff --git a/app/data/snippets/js/xhr/jquery-ajax.js b/app-old/data/snippets/js/xhr/jquery-ajax.js similarity index 100% rename from app/data/snippets/js/xhr/jquery-ajax.js rename to app-old/data/snippets/js/xhr/jquery-ajax.js diff --git a/app/data/snippets/js/xhr/xhr.js b/app-old/data/snippets/js/xhr/xhr.js similarity index 100% rename from app/data/snippets/js/xhr/xhr.js rename to app-old/data/snippets/js/xhr/xhr.js diff --git a/app/data/snippets/nginx/reverse-proxy.conf b/app-old/data/snippets/nginx/reverse-proxy.conf similarity index 100% rename from app/data/snippets/nginx/reverse-proxy.conf rename to app-old/data/snippets/nginx/reverse-proxy.conf diff --git a/app/data/snippets/react/reducer/file-counter.jsx b/app-old/data/snippets/react/reducer/file-counter.jsx similarity index 100% rename from app/data/snippets/react/reducer/file-counter.jsx rename to app-old/data/snippets/react/reducer/file-counter.jsx diff --git a/app/data/snippets/react/reducer/file-counter.tsx b/app-old/data/snippets/react/reducer/file-counter.tsx similarity index 100% rename from app/data/snippets/react/reducer/file-counter.tsx rename to app-old/data/snippets/react/reducer/file-counter.tsx diff --git a/app/data/snippets/react/reducer/file-counterReducer.js b/app-old/data/snippets/react/reducer/file-counterReducer.js similarity index 100% rename from app/data/snippets/react/reducer/file-counterReducer.js rename to app-old/data/snippets/react/reducer/file-counterReducer.js diff --git a/app/data/snippets/react/reducer/file-counterReducer.ts b/app-old/data/snippets/react/reducer/file-counterReducer.ts similarity index 100% rename from app/data/snippets/react/reducer/file-counterReducer.ts rename to app-old/data/snippets/react/reducer/file-counterReducer.ts diff --git a/app/data/snippets/react/reducer/reducer-action-creator.js b/app-old/data/snippets/react/reducer/reducer-action-creator.js similarity index 100% rename from app/data/snippets/react/reducer/reducer-action-creator.js rename to app-old/data/snippets/react/reducer/reducer-action-creator.js diff --git a/app/data/snippets/react/reducer/reducer-action-creator.ts b/app-old/data/snippets/react/reducer/reducer-action-creator.ts similarity index 100% rename from app/data/snippets/react/reducer/reducer-action-creator.ts rename to app-old/data/snippets/react/reducer/reducer-action-creator.ts diff --git a/app/data/snippets/react/reducer/reducer-actions-constants.js b/app-old/data/snippets/react/reducer/reducer-actions-constants.js similarity index 100% rename from app/data/snippets/react/reducer/reducer-actions-constants.js rename to app-old/data/snippets/react/reducer/reducer-actions-constants.js diff --git a/app/data/snippets/react/reducer/reducer-actions-enum.js b/app-old/data/snippets/react/reducer/reducer-actions-enum.js similarity index 100% rename from app/data/snippets/react/reducer/reducer-actions-enum.js rename to app-old/data/snippets/react/reducer/reducer-actions-enum.js diff --git a/app/data/snippets/react/reducer/reducer-actions-enum.ts b/app-old/data/snippets/react/reducer/reducer-actions-enum.ts similarity index 100% rename from app/data/snippets/react/reducer/reducer-actions-enum.ts rename to app-old/data/snippets/react/reducer/reducer-actions-enum.ts diff --git a/app/data/snippets/react/reducer/reducer-actions-union-use.ts b/app-old/data/snippets/react/reducer/reducer-actions-union-use.ts similarity index 100% rename from app/data/snippets/react/reducer/reducer-actions-union-use.ts rename to app-old/data/snippets/react/reducer/reducer-actions-union-use.ts diff --git a/app/data/snippets/react/reducer/reducer-actions-union.ts b/app-old/data/snippets/react/reducer/reducer-actions-union.ts similarity index 100% rename from app/data/snippets/react/reducer/reducer-actions-union.ts rename to app-old/data/snippets/react/reducer/reducer-actions-union.ts diff --git a/app/data/snippets/react/reducer/reducer-dispatch-action-creator.js b/app-old/data/snippets/react/reducer/reducer-dispatch-action-creator.js similarity index 100% rename from app/data/snippets/react/reducer/reducer-dispatch-action-creator.js rename to app-old/data/snippets/react/reducer/reducer-dispatch-action-creator.js diff --git a/app/data/snippets/react/reducer/reducer-dispatch-increment.js b/app-old/data/snippets/react/reducer/reducer-dispatch-increment.js similarity index 100% rename from app/data/snippets/react/reducer/reducer-dispatch-increment.js rename to app-old/data/snippets/react/reducer/reducer-dispatch-increment.js diff --git a/app/data/snippets/react/reducer/reducer-example.jsx b/app-old/data/snippets/react/reducer/reducer-example.jsx similarity index 100% rename from app/data/snippets/react/reducer/reducer-example.jsx rename to app-old/data/snippets/react/reducer/reducer-example.jsx diff --git a/app/data/snippets/react/reducer/reducer-example.tsx b/app-old/data/snippets/react/reducer/reducer-example.tsx similarity index 100% rename from app/data/snippets/react/reducer/reducer-example.tsx rename to app-old/data/snippets/react/reducer/reducer-example.tsx diff --git a/app/data/snippets/react/reducer/reducer-hook.js b/app-old/data/snippets/react/reducer/reducer-hook.js similarity index 100% rename from app/data/snippets/react/reducer/reducer-hook.js rename to app-old/data/snippets/react/reducer/reducer-hook.js diff --git a/app/data/snippets/react/reducer/reducer-hook.ts b/app-old/data/snippets/react/reducer/reducer-hook.ts similarity index 100% rename from app/data/snippets/react/reducer/reducer-hook.ts rename to app-old/data/snippets/react/reducer/reducer-hook.ts diff --git a/app/data/snippets/react/reducer/reducer-initial-state.js b/app-old/data/snippets/react/reducer/reducer-initial-state.js similarity index 100% rename from app/data/snippets/react/reducer/reducer-initial-state.js rename to app-old/data/snippets/react/reducer/reducer-initial-state.js diff --git a/app/data/snippets/react/reducer/reducer-initial-state.ts b/app-old/data/snippets/react/reducer/reducer-initial-state.ts similarity index 100% rename from app/data/snippets/react/reducer/reducer-initial-state.ts rename to app-old/data/snippets/react/reducer/reducer-initial-state.ts diff --git a/app/data/snippets/react/reducer/reducer-why-spread-operator.jsx b/app-old/data/snippets/react/reducer/reducer-why-spread-operator.jsx similarity index 100% rename from app/data/snippets/react/reducer/reducer-why-spread-operator.jsx rename to app-old/data/snippets/react/reducer/reducer-why-spread-operator.jsx diff --git a/app/data/snippets/react/reducer/reducer.js b/app-old/data/snippets/react/reducer/reducer.js similarity index 100% rename from app/data/snippets/react/reducer/reducer.js rename to app-old/data/snippets/react/reducer/reducer.js diff --git a/app/data/snippets/react/reducer/reducer.ts b/app-old/data/snippets/react/reducer/reducer.ts similarity index 100% rename from app/data/snippets/react/reducer/reducer.ts rename to app-old/data/snippets/react/reducer/reducer.ts diff --git a/app/data/themes/prism.ts b/app-old/data/themes/prism.ts similarity index 100% rename from app/data/themes/prism.ts rename to app-old/data/themes/prism.ts diff --git a/app/eslint.config.js b/app-old/eslint.config.js similarity index 100% rename from app/eslint.config.js rename to app-old/eslint.config.js diff --git a/app/fastify-entry.ts b/app-old/fastify-entry.ts similarity index 100% rename from app/fastify-entry.ts rename to app-old/fastify-entry.ts diff --git a/app/hooks/useDebounce.ts b/app-old/hooks/useDebounce.ts similarity index 100% rename from app/hooks/useDebounce.ts rename to app-old/hooks/useDebounce.ts diff --git a/app/hooks/useTheme.ts b/app-old/hooks/useTheme.ts similarity index 100% rename from app/hooks/useTheme.ts rename to app-old/hooks/useTheme.ts diff --git a/app/images/blur-cyan.png b/app-old/images/blur-cyan.png similarity index 100% rename from app/images/blur-cyan.png rename to app-old/images/blur-cyan.png diff --git a/app/images/blur-cyan.webp b/app-old/images/blur-cyan.webp similarity index 100% rename from app/images/blur-cyan.webp rename to app-old/images/blur-cyan.webp diff --git a/app/images/blur-indigo.png b/app-old/images/blur-indigo.png similarity index 100% rename from app/images/blur-indigo.png rename to app-old/images/blur-indigo.png diff --git a/app/images/blur-indigo.webp b/app-old/images/blur-indigo.webp similarity index 100% rename from app/images/blur-indigo.webp rename to app-old/images/blur-indigo.webp diff --git a/app/layouts/LayoutDefault.tsx b/app-old/layouts/LayoutDefault.tsx similarity index 100% rename from app/layouts/LayoutDefault.tsx rename to app-old/layouts/LayoutDefault.tsx diff --git a/app/layouts/prism.css b/app-old/layouts/prism.css similarity index 100% rename from app/layouts/prism.css rename to app-old/layouts/prism.css diff --git a/app/layouts/style.css b/app-old/layouts/style.css similarity index 100% rename from app/layouts/style.css rename to app-old/layouts/style.css diff --git a/app/layouts/tailwind.css b/app-old/layouts/tailwind.css similarity index 100% rename from app/layouts/tailwind.css rename to app-old/layouts/tailwind.css diff --git a/app/lib/getTelefuncContext.ts b/app-old/lib/getTelefuncContext.ts similarity index 100% rename from app/lib/getTelefuncContext.ts rename to app-old/lib/getTelefuncContext.ts diff --git a/app/lib/navigation.ts b/app-old/lib/navigation.ts similarity index 100% rename from app/lib/navigation.ts rename to app-old/lib/navigation.ts diff --git a/app/lib/search.ts b/app-old/lib/search.ts similarity index 100% rename from app/lib/search.ts rename to app-old/lib/search.ts diff --git a/app/lib/sections.ts b/app-old/lib/sections.ts similarity index 100% rename from app/lib/sections.ts rename to app-old/lib/sections.ts diff --git a/app/markdoc/Tag.ts b/app-old/markdoc/Tag.ts similarity index 100% rename from app/markdoc/Tag.ts rename to app-old/markdoc/Tag.ts diff --git a/app/markdoc/nodes.tsx b/app-old/markdoc/nodes.tsx similarity index 100% rename from app/markdoc/nodes.tsx rename to app-old/markdoc/nodes.tsx diff --git a/app/markdoc/tags.tsx b/app-old/markdoc/tags.tsx similarity index 100% rename from app/markdoc/tags.tsx rename to app-old/markdoc/tags.tsx diff --git a/app/package.json b/app-old/package.json similarity index 100% rename from app/package.json rename to app-old/package.json diff --git a/app/pages/+Head.tsx b/app-old/pages/+Head.tsx similarity index 100% rename from app/pages/+Head.tsx rename to app-old/pages/+Head.tsx diff --git a/app/pages/+config.ts b/app-old/pages/+config.ts similarity index 100% rename from app/pages/+config.ts rename to app-old/pages/+config.ts diff --git a/app/pages/+onPageTransitionEnd.ts b/app-old/pages/+onPageTransitionEnd.ts similarity index 100% rename from app/pages/+onPageTransitionEnd.ts rename to app-old/pages/+onPageTransitionEnd.ts diff --git a/app/pages/+onPageTransitionStart.ts b/app-old/pages/+onPageTransitionStart.ts similarity index 100% rename from app/pages/+onPageTransitionStart.ts rename to app-old/pages/+onPageTransitionStart.ts diff --git a/app/pages/+title.ts b/app-old/pages/+title.ts similarity index 100% rename from app/pages/+title.ts rename to app-old/pages/+title.ts diff --git a/app/pages/_error/+Page.tsx b/app-old/pages/_error/+Page.tsx similarity index 100% rename from app/pages/_error/+Page.tsx rename to app-old/pages/_error/+Page.tsx diff --git a/app/pages/buildTitle.ts b/app-old/pages/buildTitle.ts similarity index 100% rename from app/pages/buildTitle.ts rename to app-old/pages/buildTitle.ts diff --git a/app/pages/certifications/+Page.tsx b/app-old/pages/certifications/+Page.tsx similarity index 100% rename from app/pages/certifications/+Page.tsx rename to app-old/pages/certifications/+Page.tsx diff --git a/app/pages/certifications/+data.ts b/app-old/pages/certifications/+data.ts similarity index 100% rename from app/pages/certifications/+data.ts rename to app-old/pages/certifications/+data.ts diff --git a/app/pages/certifications/+onBeforePrerenderStart.ts b/app-old/pages/certifications/+onBeforePrerenderStart.ts similarity index 100% rename from app/pages/certifications/+onBeforePrerenderStart.ts rename to app-old/pages/certifications/+onBeforePrerenderStart.ts diff --git a/app/pages/certifications/+route.ts b/app-old/pages/certifications/+route.ts similarity index 100% rename from app/pages/certifications/+route.ts rename to app-old/pages/certifications/+route.ts diff --git a/app/pages/docs/+Page.tsx b/app-old/pages/docs/+Page.tsx similarity index 100% rename from app/pages/docs/+Page.tsx rename to app-old/pages/docs/+Page.tsx diff --git a/app/pages/docs/+data.ts b/app-old/pages/docs/+data.ts similarity index 100% rename from app/pages/docs/+data.ts rename to app-old/pages/docs/+data.ts diff --git a/app/pages/docs/+onBeforePrerenderStart.ts b/app-old/pages/docs/+onBeforePrerenderStart.ts similarity index 100% rename from app/pages/docs/+onBeforePrerenderStart.ts rename to app-old/pages/docs/+onBeforePrerenderStart.ts diff --git a/app/pages/docs/+route.ts b/app-old/pages/docs/+route.ts similarity index 100% rename from app/pages/docs/+route.ts rename to app-old/pages/docs/+route.ts diff --git a/app/pages/index/+Page.tsx b/app-old/pages/index/+Page.tsx similarity index 100% rename from app/pages/index/+Page.tsx rename to app-old/pages/index/+Page.tsx diff --git a/app/pages/index/+data.ts b/app-old/pages/index/+data.ts similarity index 100% rename from app/pages/index/+data.ts rename to app-old/pages/index/+data.ts diff --git a/app/pages/mentions-legales/+Page.tsx b/app-old/pages/mentions-legales/+Page.tsx similarity index 100% rename from app/pages/mentions-legales/+Page.tsx rename to app-old/pages/mentions-legales/+Page.tsx diff --git a/app/pages/politique-de-confidentialite/+Page.tsx b/app-old/pages/politique-de-confidentialite/+Page.tsx similarity index 100% rename from app/pages/politique-de-confidentialite/+Page.tsx rename to app-old/pages/politique-de-confidentialite/+Page.tsx diff --git a/app/pnpm-lock.yaml b/app-old/pnpm-lock.yaml similarity index 100% rename from app/pnpm-lock.yaml rename to app-old/pnpm-lock.yaml diff --git a/app/providers/ThemeProvider.telefunc.ts b/app-old/providers/ThemeProvider.telefunc.ts similarity index 100% rename from app/providers/ThemeProvider.telefunc.ts rename to app-old/providers/ThemeProvider.telefunc.ts diff --git a/app/providers/ThemeProvider.tsx b/app-old/providers/ThemeProvider.tsx similarity index 100% rename from app/providers/ThemeProvider.tsx rename to app-old/providers/ThemeProvider.tsx diff --git a/app/public/downloads/dwwm/REAC_DWWM_V04_02072024.pdf b/app-old/public/downloads/dwwm/REAC_DWWM_V04_02072024.pdf similarity index 100% rename from app/public/downloads/dwwm/REAC_DWWM_V04_02072024.pdf rename to app-old/public/downloads/dwwm/REAC_DWWM_V04_02072024.pdf diff --git a/app/public/downloads/dwwm/REV2_DWWM_V04_02072024.pdf b/app-old/public/downloads/dwwm/REV2_DWWM_V04_02072024.pdf similarity index 100% rename from app/public/downloads/dwwm/REV2_DWWM_V04_02072024.pdf rename to app-old/public/downloads/dwwm/REV2_DWWM_V04_02072024.pdf diff --git a/app/public/downloads/merise/band-manager.lo1 b/app-old/public/downloads/merise/band-manager.lo1 similarity index 100% rename from app/public/downloads/merise/band-manager.lo1 rename to app-old/public/downloads/merise/band-manager.lo1 diff --git a/app/public/downloads/merise/band-manager.loo b/app-old/public/downloads/merise/band-manager.loo similarity index 100% rename from app/public/downloads/merise/band-manager.loo rename to app-old/public/downloads/merise/band-manager.loo diff --git a/app/public/merise/mcd-1.webp b/app-old/public/merise/mcd-1.webp similarity index 100% rename from app/public/merise/mcd-1.webp rename to app-old/public/merise/mcd-1.webp diff --git a/app/public/merise/mcd-2.webp b/app-old/public/merise/mcd-2.webp similarity index 100% rename from app/public/merise/mcd-2.webp rename to app-old/public/merise/mcd-2.webp diff --git a/app/public/merise/mcd-3.webp b/app-old/public/merise/mcd-3.webp similarity index 100% rename from app/public/merise/mcd-3.webp rename to app-old/public/merise/mcd-3.webp diff --git a/app/public/merise/mcd-4.webp b/app-old/public/merise/mcd-4.webp similarity index 100% rename from app/public/merise/mcd-4.webp rename to app-old/public/merise/mcd-4.webp diff --git a/app/public/merise/mcd-basic.webp b/app-old/public/merise/mcd-basic.webp similarity index 100% rename from app/public/merise/mcd-basic.webp rename to app-old/public/merise/mcd-basic.webp diff --git a/app/public/merise/og.webp b/app-old/public/merise/og.webp similarity index 100% rename from app/public/merise/og.webp rename to app-old/public/merise/og.webp diff --git a/app/public/og.webp b/app-old/public/og.webp similarity index 100% rename from app/public/og.webp rename to app-old/public/og.webp diff --git a/app/public/patterns/mvc.webp b/app-old/public/patterns/mvc.webp similarity index 100% rename from app/public/patterns/mvc.webp rename to app-old/public/patterns/mvc.webp diff --git a/app/public/robots.txt b/app-old/public/robots.txt similarity index 100% rename from app/public/robots.txt rename to app-old/public/robots.txt diff --git a/app/server/telefunc-handler.ts b/app-old/server/telefunc-handler.ts similarity index 100% rename from app/server/telefunc-handler.ts rename to app-old/server/telefunc-handler.ts diff --git a/app/server/vike-handler.ts b/app-old/server/vike-handler.ts similarity index 100% rename from app/server/vike-handler.ts rename to app-old/server/vike-handler.ts diff --git a/app/services/CookieParser.ts b/app-old/services/CookieParser.ts similarity index 100% rename from app/services/CookieParser.ts rename to app-old/services/CookieParser.ts diff --git a/app/services/DocsService.ts b/app-old/services/DocsService.ts similarity index 100% rename from app/services/DocsService.ts rename to app-old/services/DocsService.ts diff --git a/app/services/FlexSearchService.ts b/app-old/services/FlexSearchService.ts similarity index 100% rename from app/services/FlexSearchService.ts rename to app-old/services/FlexSearchService.ts diff --git a/app/services/RedisService.ts b/app-old/services/RedisService.ts similarity index 100% rename from app/services/RedisService.ts rename to app-old/services/RedisService.ts diff --git a/app/services/Sitemap.ts b/app-old/services/Sitemap.ts similarity index 100% rename from app/services/Sitemap.ts rename to app-old/services/Sitemap.ts diff --git a/app/services/SnippetsService.ts b/app-old/services/SnippetsService.ts similarity index 100% rename from app/services/SnippetsService.ts rename to app-old/services/SnippetsService.ts diff --git a/app/sitemap.ts b/app-old/sitemap.ts similarity index 100% rename from app/sitemap.ts rename to app-old/sitemap.ts diff --git a/app/tsconfig.json b/app-old/tsconfig.json similarity index 100% rename from app/tsconfig.json rename to app-old/tsconfig.json diff --git a/app/types.d.ts b/app-old/types.d.ts similarity index 100% rename from app/types.d.ts rename to app-old/types.d.ts diff --git a/app/vite.config.ts b/app-old/vite.config.ts similarity index 100% rename from app/vite.config.ts rename to app-old/vite.config.ts From 09c156b987589886f42c8dda2152a46b102fbb38 Mon Sep 17 00:00:00 2001 From: GauthierWebDev Date: Sat, 19 Apr 2025 12:36:50 +0200 Subject: [PATCH 002/106] feat: Add initial project files and configurations --- README.md | 49 +++++++++++++++ app/.env | 4 ++ app/.prettierrc | 3 + app/assets/logo.svg | 67 ++++++++++++++++++++ app/biome.json | 15 +++++ app/components/Link.tsx | 14 +++++ app/database/todoItems.ts | 17 ++++++ app/eslint.config.ts | 56 +++++++++++++++++ app/fastify-entry.ts | 76 +++++++++++++++++++++++ app/global.d.ts | 12 ++++ app/layouts/LayoutDefault.tsx | 50 +++++++++++++++ app/layouts/style.css | 29 +++++++++ app/layouts/tailwind.css | 1 + app/package.json | 40 ++++++++++++ app/pages/+Head.tsx | 21 +++++++ app/pages/+config.ts | 18 ++++++ app/pages/+onPageTransitionEnd.ts | 6 ++ app/pages/+onPageTransitionStart.ts | 6 ++ app/pages/_error/+Page.tsx | 20 ++++++ app/pages/index/+Page.tsx | 16 +++++ app/pages/index/Counter.tsx | 19 ++++++ app/pages/star-wars/@id/+Page.tsx | 16 +++++ app/pages/star-wars/@id/+data.ts | 32 ++++++++++ app/pages/star-wars/index/+Page.tsx | 24 ++++++++ app/pages/star-wars/index/+data.ts | 32 ++++++++++ app/pages/star-wars/types.ts | 10 +++ app/pages/todo/+Page.tsx | 13 ++++ app/pages/todo/+config.ts | 3 + app/pages/todo/+data.ts | 11 ++++ app/pages/todo/TodoList.telefunc.ts | 7 +++ app/pages/todo/TodoList.tsx | 49 +++++++++++++++ app/server/authjs-handler.ts | 95 +++++++++++++++++++++++++++++ app/server/telefunc-handler.ts | 22 +++++++ app/server/vike-handler.ts | 18 ++++++ app/tsconfig.json | 28 +++++++++ app/vite.config.ts | 12 ++++ compose-old.yml | 14 +++++ compose.yml | 9 ++- 38 files changed, 929 insertions(+), 5 deletions(-) create mode 100644 README.md create mode 100644 app/.env create mode 100644 app/.prettierrc create mode 100644 app/assets/logo.svg create mode 100644 app/biome.json create mode 100644 app/components/Link.tsx create mode 100644 app/database/todoItems.ts create mode 100644 app/eslint.config.ts create mode 100644 app/fastify-entry.ts create mode 100644 app/global.d.ts create mode 100644 app/layouts/LayoutDefault.tsx create mode 100644 app/layouts/style.css create mode 100644 app/layouts/tailwind.css create mode 100644 app/package.json create mode 100644 app/pages/+Head.tsx create mode 100644 app/pages/+config.ts create mode 100644 app/pages/+onPageTransitionEnd.ts create mode 100644 app/pages/+onPageTransitionStart.ts create mode 100644 app/pages/_error/+Page.tsx create mode 100644 app/pages/index/+Page.tsx create mode 100644 app/pages/index/Counter.tsx create mode 100644 app/pages/star-wars/@id/+Page.tsx create mode 100644 app/pages/star-wars/@id/+data.ts create mode 100644 app/pages/star-wars/index/+Page.tsx create mode 100644 app/pages/star-wars/index/+data.ts create mode 100644 app/pages/star-wars/types.ts create mode 100644 app/pages/todo/+Page.tsx create mode 100644 app/pages/todo/+config.ts create mode 100644 app/pages/todo/+data.ts create mode 100644 app/pages/todo/TodoList.telefunc.ts create mode 100644 app/pages/todo/TodoList.tsx create mode 100644 app/server/authjs-handler.ts create mode 100644 app/server/telefunc-handler.ts create mode 100644 app/server/vike-handler.ts create mode 100644 app/tsconfig.json create mode 100644 app/vite.config.ts create mode 100644 compose-old.yml diff --git a/README.md b/README.md new file mode 100644 index 0000000..63baa05 --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +Generated with [vike.dev/new](https://vike.dev/new) ([version 429](https://www.npmjs.com/package/create-vike/v/0.0.429)) using this command: + +```sh +bun create vike@latest --solid --tailwindcss --authjs --telefunc --fastify --google-analytics --eslint --prettier --biome +``` + +## Contents + +* [`/pages/+config.ts`](#pagesconfigts) +* [Routing](#routing) +* [`/pages/_error/+Page.jsx`](#pages_errorpagejsx) +* [`/pages/+onPageTransitionStart.ts` and `/pages/+onPageTransitionEnd.ts`](#pagesonpagetransitionstartts-and-pagesonpagetransitionendts) +* [SSR](#ssr) +* [HTML Streaming](#html-streaming) + +This app is ready to start. It's powered by [Vike](https://vike.dev) and [SolidJS](https://www.solidjs.com/guides/getting-started). + +### `/pages/+config.ts` + +Such `+` files are [the interface](https://vike.dev/config) between Vike and your code. It defines: + +* A default [`` component](https://vike.dev/Layout) (that wraps your [`` components](https://vike.dev/Page)). +* A default [`title`](https://vike.dev/title). +* Global [`` tags](https://vike.dev/head-tags). + +### Routing + +[Vike's built-in router](https://vike.dev/routing) lets you choose between: + +* [Filesystem Routing](https://vike.dev/filesystem-routing) (the URL of a page is determined based on where its `+Page.jsx` file is located on the filesystem) +* [Route Strings](https://vike.dev/route-string) +* [Route Functions](https://vike.dev/route-function) + +### `/pages/_error/+Page.jsx` + +The [error page](https://vike.dev/error-page) which is rendered when errors occur. + +### `/pages/+onPageTransitionStart.ts` and `/pages/+onPageTransitionEnd.ts` + +The [`onPageTransitionStart()` hook](https://vike.dev/onPageTransitionStart), together with [`onPageTransitionEnd()`](https://vike.dev/onPageTransitionEnd), enables you to implement page transition animations. + +### SSR + +SSR is enabled by default. You can [disable it](https://vike.dev/ssr) for all your pages or only for some pages. + +### HTML Streaming + +You can enable/disable [HTML streaming](https://vike.dev/stream) for all your pages, or only for some pages while still using it for others. + diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..94e7623 --- /dev/null +++ b/app/.env @@ -0,0 +1,4 @@ +# Google Analytics + +# See the documentation https://support.google.com/analytics/answer/9304153?hl=en#zippy=%2Cweb +PUBLIC_ENV__GOOGLE_ANALYTICS="G-XXXXXXXXXX" diff --git a/app/.prettierrc b/app/.prettierrc new file mode 100644 index 0000000..963354f --- /dev/null +++ b/app/.prettierrc @@ -0,0 +1,3 @@ +{ + "printWidth": 120 +} diff --git a/app/assets/logo.svg b/app/assets/logo.svg new file mode 100644 index 0000000..0fb65c0 --- /dev/null +++ b/app/assets/logo.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/biome.json b/app/biome.json new file mode 100644 index 0000000..d03d259 --- /dev/null +++ b/app/biome.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.7.3/schema.json", + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true + } + }, + "files": { + "ignore": ["dist/**", "*.js", "*.cjs", "*.mjs", "*.spec.ts"] + } +} diff --git a/app/components/Link.tsx b/app/components/Link.tsx new file mode 100644 index 0000000..2e303dc --- /dev/null +++ b/app/components/Link.tsx @@ -0,0 +1,14 @@ +import { createMemo } from "solid-js"; +import { usePageContext } from "vike-solid/usePageContext"; + +export function Link(props: { href: string; children: string }) { + const pageContext = usePageContext(); + const isActive = createMemo(() => + props.href === "/" ? pageContext.urlPathname === props.href : pageContext.urlPathname.startsWith(props.href), + ); + return ( + + {props.children} + + ); +} diff --git a/app/database/todoItems.ts b/app/database/todoItems.ts new file mode 100644 index 0000000..5404680 --- /dev/null +++ b/app/database/todoItems.ts @@ -0,0 +1,17 @@ +interface TodoItem { + text: string; +} + +const todosDefault = [{ text: "Buy milk" }, { text: "Buy strawberries" }]; + +const database = + // We create an in-memory database. + // - We use globalThis so that the database isn't reset upon HMR. + // - The database is reset when restarting the server, use a proper database (SQLite/PostgreSQL/...) if you want persistent data. + // biome-ignore lint: + ((globalThis as unknown as { __database: { todos: TodoItem[] } }).__database ??= { todos: todosDefault }); + +const { todos } = database; + +export { todos }; +export type { TodoItem }; diff --git a/app/eslint.config.ts b/app/eslint.config.ts new file mode 100644 index 0000000..4176eb9 --- /dev/null +++ b/app/eslint.config.ts @@ -0,0 +1,56 @@ +import eslint from "@eslint/js"; +import prettier from "eslint-plugin-prettier/recommended"; +import solid from "eslint-plugin-solid/configs/typescript"; +import globals from "globals"; +import tseslint from "typescript-eslint"; + +export default tseslint.config( + { + ignores: [ + "dist/*", + // Temporary compiled files + "**/*.ts.build-*.mjs", + + // JS files at the root of the project + "*.js", + "*.cjs", + "*.mjs", + ], + }, + eslint.configs.recommended, + ...tseslint.configs.recommended, + { + languageOptions: { + parserOptions: { + warnOnUnsupportedTypeScriptVersion: false, + sourceType: "module", + ecmaVersion: "latest", + }, + }, + }, + { + rules: { + "@typescript-eslint/no-unused-vars": [ + 1, + { + argsIgnorePattern: "^_", + }, + ], + "@typescript-eslint/no-namespace": 0, + }, + }, + + { + files: ["**/*.{ts,tsx,js,jsx}"], + ...solid, + languageOptions: { + parser: tseslint.parser, + globals: { + ...globals.serviceworker, + ...globals.browser, + }, + }, + }, + + prettier, +); diff --git a/app/fastify-entry.ts b/app/fastify-entry.ts new file mode 100644 index 0000000..4dc9cea --- /dev/null +++ b/app/fastify-entry.ts @@ -0,0 +1,76 @@ +import { dirname } from "node:path"; +import { fileURLToPath } from "node:url"; +import { authjsHandler, authjsSessionMiddleware } from "./server/authjs-handler"; + +import { vikeHandler } from "./server/vike-handler"; +import { telefuncHandler } from "./server/telefunc-handler"; +import Fastify from "fastify"; +import { createHandler, createMiddleware } from "@universal-middleware/fastify"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); +const root = __dirname; +const port = process.env.PORT ? parseInt(process.env.PORT, 10) : 3000; +const hmrPort = process.env.HMR_PORT ? parseInt(process.env.HMR_PORT, 10) : 24678; + +async function startServer() { + const app = Fastify(); + + // Avoid pre-parsing body, otherwise it will cause issue with universal handlers + // This will probably change in the future though, you can follow https://github.com/magne4000/universal-middleware for updates + app.removeAllContentTypeParsers(); + app.addContentTypeParser("*", function (_request, _payload, done) { + done(null, ""); + }); + + await app.register(await import("@fastify/middie")); + + if (process.env.NODE_ENV === "production") { + await app.register(await import("@fastify/static"), { + root: `${root}/dist/client`, + wildcard: false, + }); + } else { + // Instantiate Vite's development server and integrate its middleware to our server. + // ⚠️ We should instantiate it *only* in development. (It isn't needed in production + // and would unnecessarily bloat our server in production.) + const vite = await import("vite"); + const viteDevMiddleware = ( + await vite.createServer({ + root, + server: { middlewareMode: true, hmr: { port: hmrPort } }, + }) + ).middlewares; + app.use(viteDevMiddleware); + } + + await app.register(createMiddleware(authjsSessionMiddleware)()); + + /** + * Auth.js route + * @link {@see https://authjs.dev/getting-started/installation} + **/ + app.all("/api/auth/*", createHandler(authjsHandler)()); + + app.post<{ Body: string }>("/_telefunc", createHandler(telefuncHandler)()); + + /** + * Vike route + * + * @link {@see https://vike.dev} + **/ + app.all("/*", createHandler(vikeHandler)()); + + return app; +} + +const app = await startServer(); + +app.listen( + { + port: port, + }, + () => { + console.log(`Server listening on http://localhost:${port}`); + }, +); diff --git a/app/global.d.ts b/app/global.d.ts new file mode 100644 index 0000000..8cac553 --- /dev/null +++ b/app/global.d.ts @@ -0,0 +1,12 @@ +import { Session } from "@auth/core/types"; + +declare global { + namespace Vike { + interface PageContext { + session?: Session | null; + } + } +} + +// biome-ignore lint/complexity/noUselessEmptyExport: ensure that the file is considered as a module +export {}; diff --git a/app/layouts/LayoutDefault.tsx b/app/layouts/LayoutDefault.tsx new file mode 100644 index 0000000..b3e3aa9 --- /dev/null +++ b/app/layouts/LayoutDefault.tsx @@ -0,0 +1,50 @@ +import "./style.css"; + +import "./tailwind.css"; + +import type { JSX } from "solid-js"; +import logoUrl from "../assets/logo.svg"; +import { Link } from "../components/Link.js"; + +export default function LayoutDefault(props: { children?: JSX.Element }) { + return ( +
+ + + Welcome + Todo + Data Fetching + {""} + + {props.children} +
+ ); +} + +function Sidebar(props: { children: JSX.Element }) { + return ( + + ); +} + +function Content(props: { children: JSX.Element }) { + return ( +
+
+ {props.children} +
+
+ ); +} + +function Logo() { + return ( +
+ + logo + +
+ ); +} diff --git a/app/layouts/style.css b/app/layouts/style.css new file mode 100644 index 0000000..c5a3d28 --- /dev/null +++ b/app/layouts/style.css @@ -0,0 +1,29 @@ +/* Links */ +a { + text-decoration: none; +} +#sidebar a { + padding: 2px 10px; + margin-left: -10px; +} +#sidebar a.is-active { + background-color: #eee; +} + +/* Reset */ +body { + margin: 0; + font-family: sans-serif; +} +* { + box-sizing: border-box; +} + +/* Page Transition Animation */ +#page-content { + opacity: 1; + transition: opacity 0.3s ease-in-out; +} +body.page-is-transitioning #page-content { + opacity: 0; +} diff --git a/app/layouts/tailwind.css b/app/layouts/tailwind.css new file mode 100644 index 0000000..f1d8c73 --- /dev/null +++ b/app/layouts/tailwind.css @@ -0,0 +1 @@ +@import "tailwindcss"; diff --git a/app/package.json b/app/package.json new file mode 100644 index 0000000..74aa314 --- /dev/null +++ b/app/package.json @@ -0,0 +1,40 @@ +{ + "scripts": { + "dev": "tsx ./fastify-entry.ts", + "build": "vike build", + "preview": "cross-env NODE_ENV=production tsx ./fastify-entry.ts", + "lint": "biome lint --write .", + "format": "biome format --write ." + }, + "dependencies": { + "vike": "^0.4.228", + "@auth/core": "^0.38.0", + "@universal-middleware/core": "^0.4.7", + "@fastify/middie": "^9.0.3", + "@fastify/static": "^8.1.1", + "@universal-middleware/fastify": "^0.5.16", + "fastify": "^5.3.0", + "solid-js": "^1.9.5", + "vike-solid": "^0.7.9", + "telefunc": "^0.2.3" + }, + "devDependencies": { + "typescript": "^5.8.3", + "vite": "^6.2.6", + "@biomejs/biome": "1.9.4", + "eslint": "^9.24.0", + "@eslint/js": "^9.24.0", + "typescript-eslint": "^8.29.1", + "globals": "^16.0.0", + "eslint-plugin-prettier": "^5.2.6", + "eslint-config-prettier": "^10.1.2", + "eslint-plugin-solid": "^0.14.5", + "@types/node": "^18.19.86", + "tsx": "^4.19.3", + "cross-env": "^7.0.3", + "prettier": "^3.5.3", + "tailwindcss": "^4.1.3", + "@tailwindcss/vite": "^4.1.3" + }, + "type": "module" +} \ No newline at end of file diff --git a/app/pages/+Head.tsx b/app/pages/+Head.tsx new file mode 100644 index 0000000..c6de5bb --- /dev/null +++ b/app/pages/+Head.tsx @@ -0,0 +1,21 @@ +/* eslint-disable solid/no-innerhtml */ + +// https://vike.dev/Head + +export default function HeadDefault() { + return ( + <> +