From 3869d67172e99f899640715a6be7fa961816b842 Mon Sep 17 00:00:00 2001 From: Daniel Heras Quesada Date: Tue, 16 Jan 2024 23:53:33 +0100 Subject: [PATCH] V1 without presentation styling --- .../data-fetching/src/app/word-list/page.tsx | 16 - .../src/modules/words/word-list/index.ts | 1 - .../src/modules/words/word-list/utils.ts | 15 - .../words/word-list/word-list.module.css | 3 - .../words/word-list/word-list.stories.tsx | 23 - .../words/word-list/word-list.types.ts | 8 - .../words/word-list/word-list.view.tsx | 15 - examples/data-fetching/src/styles/main.css | 5 - examples/front-arch-ssr-react | 1 - .../presentation-animations/.gitignore | 15 - .../presentation-animations/package-lock.json | 1041 ----------------- .../presentation-animations/package.json | 20 - .../src/motion-canvas.d.ts | 1 - .../presentation-animations/src/project.meta | 32 - .../presentation-animations/src/project.ts | 7 - .../src/scenes/example.meta | 5 - .../src/scenes/example.tsx | 22 - .../presentation-animations/tsconfig.json | 4 - .../presentation-animations/vite.config.ts | 10 - .../__kebabCase_name__.api.ts | 0 .../__kebabCase_name__.hooks.ts | 0 .../__kebabCase_name__.types.ts | 0 .../api/__kebabCase_name__/index.ts | 0 .../__kebabCase_name__.component.tsx | 0 .../__kebabCase_name__.module.css | 0 .../__kebabCase_name__.stories.tsx | 0 .../component/__kebabCase_name__/index.ts | 0 .../__kebabCase_name__.layout.tsx | 0 .../__kebabCase_name__.module.css | 0 .../__kebabCase_name__.stories.tsx | 0 .../layout/__kebabCase_name__/index.ts | 0 .../__kebabCase_name__.module.css | 0 .../__kebabCase_name__.stories.tsx | 0 .../__kebabCase_name__.view.tsx | 0 .../view/__kebabCase_name__/index.ts | 0 .../__kebabCase_name__.module.css | 0 .../__kebabCase_name__.stories.tsx | 0 .../__kebabCase_name__.widget.tsx | 0 .../widget/__kebabCase_name__/index.ts | 0 .../.commitlintrc.json | 0 .../.editorconfig | 0 .../.eslintignore | 0 .../.eslintrc.json | 0 .../data-fetching => presentation}/.gitignore | 0 .../.husky/commit-msg | 0 .../.husky/pre-commit | 0 .../.prettierrc.json | 0 .../.storybook/main.ts | 0 .../.storybook/preview.ts | 0 .../.vscode/extensions.json | 0 .../.vscode/launch.json | 0 .../.vscode/settings.json | 0 .../data-fetching => presentation}/LICENSE | 0 .../data-fetching => presentation}/README.md | 0 .../global.d.ts | 0 .../jest.config.ts | 0 .../next.config.js | 3 + .../package-lock.json | 0 .../package.json | 0 .../postcss.config.js | 0 .../public/favicon.ico | Bin .../public/next.svg | 0 .../public/server-side-rendering-diagram.avif | Bin 0 -> 27744 bytes .../public/thirteen.svg | 0 .../public/vercel.svg | 0 .../src/app/auth/sign-in/page.tsx | 0 .../src/app/layout.tsx | 0 .../src/app/page.tsx | 0 presentation/src/app/presentation/page.tsx | 140 +++ .../src/app/users/page.tsx | 0 presentation/src/app/word-list/actions.ts | 6 + .../components/clientside-word-list.tsx | 31 + .../word-list/components/go-back-button.tsx | 15 + .../components/revalidate-button.tsx | 11 + .../components/serverside-word-list.tsx | 22 + presentation/src/app/word-list/page.tsx | 12 + presentation/src/app/word-list/utils.ts | 22 + .../auth-form/auth-form.component.tsx | 0 .../components/auth-form/auth-form.module.css | 0 .../auth-form/auth-form.stories.tsx | 0 .../auth/components/auth-form/index.ts | 0 ...auth-to-apicontext-connection.provider.tsx | 0 .../auth-to-apicontext-connection/index.ts | 0 .../auth/providers/auth/auth.options.ts | 0 .../auth/providers/auth/auth.provider.tsx | 0 .../src/modules/auth/providers/auth/index.ts | 0 .../modules/auth/providers/auth/nextauth.d.ts | 0 .../src/modules/auth/views/sign-in/index.ts | 0 .../auth/views/sign-in/sign-in.module.css | 0 .../auth/views/sign-in/sign-in.stories.tsx | 0 .../auth/views/sign-in/sign-in.view.tsx | 0 .../auth/widgets/account/account.module.css | 0 .../auth/widgets/account/account.stories.tsx | 0 .../auth/widgets/account/account.widget.tsx | 0 .../src/modules/auth/widgets/account/index.ts | 0 .../src/modules/auth/widgets/login/index.ts | 0 .../auth/widgets/login/login.module.css | 0 .../auth/widgets/login/login.stories.tsx | 0 .../auth/widgets/login/login.widget.tsx | 0 .../components/icons/icons.component.tsx | 0 .../common/components/icons/icons.module.css | 0 .../common/components/icons/icons.stories.tsx | 0 .../modules/common/components/icons/index.ts | 0 .../common/components/loading-button/index.ts | 0 .../loading-button.component.tsx | 0 .../loading-button/loading-button.module.css | 0 .../loading-button/loading-button.stories.tsx | 0 .../ui/accordion/accordion.component.tsx | 0 .../ui/accordion/accordion.module.css | 0 .../ui/accordion/accordion.stories.tsx | 0 .../common/components/ui/accordion/index.ts | 0 .../alert-dialog/alert-dialog.component.tsx | 0 .../ui/alert-dialog/alert-dialog.module.css | 0 .../ui/alert-dialog/alert-dialog.stories.tsx | 0 .../components/ui/alert-dialog/index.ts | 0 .../components/ui/alert/alert.component.tsx | 0 .../components/ui/alert/alert.module.css | 0 .../components/ui/alert/alert.stories.tsx | 0 .../common/components/ui/alert/index.ts | 0 .../aspect-ratio/aspect-ratio.component.tsx | 0 .../ui/aspect-ratio/aspect-ratio.stories.tsx | 0 .../components/ui/aspect-ratio/index.ts | 0 .../components/ui/avatar/avatar.component.tsx | 0 .../components/ui/avatar/avatar.module.css | 0 .../components/ui/avatar/avatar.stories.tsx | 0 .../common/components/ui/avatar/index.ts | 0 .../components/ui/badge/badge.component.tsx | 0 .../components/ui/badge/badge.module.css | 0 .../components/ui/badge/badge.stories.tsx | 0 .../common/components/ui/badge/index.ts | 0 .../components/ui/button/button.component.tsx | 0 .../components/ui/button/button.module.css | 0 .../components/ui/button/button.stories.tsx | 0 .../common/components/ui/button/index.ts | 0 .../ui/calendar/calendar.component.tsx | 0 .../ui/calendar/calendar.module.css | 0 .../ui/calendar/calendar.stories.tsx | 0 .../common/components/ui/calendar/index.ts | 0 .../components/ui/card/card.component.tsx | 0 .../common/components/ui/card/card.module.css | 0 .../components/ui/card/card.stories.tsx | 0 .../common/components/ui/card/index.ts | 0 .../ui/checkbox/checkbox.component.tsx | 0 .../ui/checkbox/checkbox.module.css | 0 .../ui/checkbox/checkbox.stories.tsx | 0 .../common/components/ui/checkbox/index.ts | 0 .../ui/collapsible/collapsible.component.tsx | 0 .../ui/collapsible/collapsible.module.css | 0 .../ui/collapsible/collapsible.stories.tsx | 0 .../common/components/ui/collapsible/index.ts | 0 .../ui/command/command.component.tsx | 0 .../components/ui/command/command.module.css | 0 .../components/ui/command/command.stories.tsx | 0 .../common/components/ui/command/index.ts | 0 .../context-menu/context-menu.component.tsx | 0 .../ui/context-menu/context-menu.module.css | 0 .../ui/context-menu/context-menu.stories.tsx | 0 .../components/ui/context-menu/index.ts | 0 .../components/ui/dialog/dialog.component.tsx | 0 .../components/ui/dialog/dialog.module.css | 0 .../components/ui/dialog/dialog.stories.tsx | 0 .../common/components/ui/dialog/index.ts | 0 .../dropdown-menu/dropdown-menu.component.tsx | 0 .../ui/dropdown-menu/dropdown-menu.module.css | 0 .../dropdown-menu/dropdown-menu.stories.tsx | 0 .../components/ui/dropdown-menu/index.ts | 0 .../components/ui/form/form.component.tsx | 0 .../common/components/ui/form/form.module.css | 0 .../components/ui/form/form.stories.tsx | 0 .../common/components/ui/form/index.ts | 0 .../ui/hover-card/hover-card.component.tsx | 0 .../ui/hover-card/hover-card.module.css | 0 .../ui/hover-card/hover-card.stories.tsx | 0 .../common/components/ui/hover-card/index.ts | 0 .../common/components/ui/input/index.ts | 0 .../components/ui/input/input.component.tsx | 0 .../components/ui/input/input.module.css | 0 .../components/ui/input/input.stories.tsx | 0 .../common/components/ui/label/index.ts | 0 .../components/ui/label/label.component.tsx | 0 .../components/ui/label/label.module.css | 0 .../components/ui/label/label.stories.tsx | 0 .../modules/common/components/ui/map/index.ts | 0 .../components/ui/map/map.component.tsx | 0 .../common/components/ui/map/map.module.css | 0 .../common/components/ui/map/map.stories.tsx | 0 .../common/components/ui/menubar/index.ts | 0 .../ui/menubar/menubar.component.tsx | 0 .../components/ui/menubar/menubar.module.css | 0 .../components/ui/menubar/menubar.stories.tsx | 0 .../components/ui/navigation-menu/index.ts | 0 .../navigation-menu.component.tsx | 0 .../navigation-menu.module.css | 0 .../navigation-menu.stories.tsx | 0 .../common/components/ui/popover/index.ts | 0 .../ui/popover/popover.component.tsx | 0 .../components/ui/popover/popover.module.css | 0 .../components/ui/popover/popover.stories.tsx | 0 .../common/components/ui/progress/index.ts | 0 .../ui/progress/progress.component.tsx | 0 .../ui/progress/progress.module.css | 0 .../ui/progress/progress.stories.tsx | 0 .../common/components/ui/radio-group/index.ts | 0 .../ui/radio-group/radio-group.component.tsx | 0 .../ui/radio-group/radio-group.module.css | 0 .../ui/radio-group/radio-group.stories.tsx | 0 .../common/components/ui/scroll-area/index.ts | 0 .../ui/scroll-area/scroll-area.component.tsx | 0 .../ui/scroll-area/scroll-area.module.css | 0 .../ui/scroll-area/scroll-area.stories.tsx | 0 .../common/components/ui/select/index.ts | 0 .../components/ui/select/select.component.tsx | 0 .../components/ui/select/select.module.css | 0 .../components/ui/select/select.stories.tsx | 0 .../common/components/ui/separator/index.ts | 0 .../ui/separator/separator.component.tsx | 0 .../ui/separator/separator.module.css | 0 .../ui/separator/separator.stories.tsx | 0 .../common/components/ui/sheet/index.ts | 0 .../components/ui/sheet/sheet.component.tsx | 0 .../components/ui/sheet/sheet.module.css | 0 .../components/ui/sheet/sheet.stories.tsx | 0 .../common/components/ui/skeleton/index.ts | 0 .../ui/skeleton/skeleton.component.tsx | 0 .../ui/skeleton/skeleton.module.css | 0 .../ui/skeleton/skeleton.stories.tsx | 0 .../common/components/ui/slider/index.ts | 0 .../components/ui/slider/slider.component.tsx | 0 .../components/ui/slider/slider.module.css | 0 .../components/ui/slider/slider.stories.tsx | 0 .../common/components/ui/switch/index.ts | 0 .../components/ui/switch/switch.component.tsx | 0 .../components/ui/switch/switch.module.css | 0 .../components/ui/switch/switch.stories.tsx | 0 .../common/components/ui/table/index.ts | 0 .../components/ui/table/table.component.tsx | 0 .../components/ui/table/table.module.css | 0 .../components/ui/table/table.stories.tsx | 0 .../common/components/ui/tabs/index.ts | 0 .../components/ui/tabs/tabs.component.tsx | 0 .../common/components/ui/tabs/tabs.module.css | 0 .../components/ui/tabs/tabs.stories.tsx | 0 .../common/components/ui/textarea/index.ts | 0 .../ui/textarea/textarea.component.tsx | 0 .../ui/textarea/textarea.module.css | 0 .../ui/textarea/textarea.stories.tsx | 0 .../common/components/ui/toast/index.ts | 0 .../components/ui/toast/toast.component.tsx | 0 .../components/ui/toast/toast.module.css | 0 .../components/ui/toast/toast.stories.tsx | 0 .../common/components/ui/toggle/index.ts | 0 .../components/ui/toggle/toggle.component.tsx | 0 .../components/ui/toggle/toggle.module.css | 0 .../components/ui/toggle/toggle.stories.tsx | 0 .../common/components/ui/tooltip/index.ts | 0 .../ui/tooltip/tooltip.component.tsx | 0 .../components/ui/tooltip/tooltip.module.css | 0 .../components/ui/tooltip/tooltip.stories.tsx | 0 .../application/application.layout.tsx | 6 +- .../application/application.module.css | 0 .../application/application.stories.tsx | 0 .../common/layouts/application/index.ts | 0 .../src/modules/common/layouts/root/index.ts | 0 .../common/layouts/root/root.layout.tsx | 0 .../common/layouts/root/root.module.css | 0 .../common/layouts/root/root.stories.tsx | 0 .../api-context/api-context.default.tsx | 0 .../api-context/api-context.provider.tsx | 0 .../providers/api-context/axios.instance.ts | 0 .../common/providers/api-context/index.ts | 0 .../common/providers/app/app.provider.tsx | 0 .../src/modules/common/providers/app/index.ts | 0 .../modules/common/providers/query/index.ts | 0 .../common/providers/query/query.provider.tsx | 0 .../common/views/main/app-main.module.css | 0 .../common/views/main/app-main.stories.tsx | 0 .../common/views/main/app-main.view.tsx | 0 .../src/modules/common/views/main/index.ts | 0 .../common/widgets/footer/footer.module.css | 0 .../common/widgets/footer/footer.stories.tsx | 0 .../common/widgets/footer/footer.widget.tsx | 0 .../modules/common/widgets/footer/index.ts | 0 .../common/widgets/header/header.module.css | 0 .../common/widgets/header/header.stories.tsx | 0 .../common/widgets/header/header.widget.tsx | 0 .../modules/common/widgets/header/index.ts | 0 .../src/modules/hookey/index.ts | 0 .../src/modules/users/views/main/index.ts | 0 .../users/views/main/users-main.module.css | 0 .../users/views/main/users-main.stories.tsx | 0 .../users/views/main/users-main.view.tsx | 0 presentation/src/styles/main.css | 94 ++ .../tailwind.config.js | 0 .../tsconfig.json | 0 presentation_brainstorm.md | 27 +- 295 files changed, 378 insertions(+), 1255 deletions(-) delete mode 100644 examples/data-fetching/src/app/word-list/page.tsx delete mode 100644 examples/data-fetching/src/modules/words/word-list/index.ts delete mode 100644 examples/data-fetching/src/modules/words/word-list/utils.ts delete mode 100644 examples/data-fetching/src/modules/words/word-list/word-list.module.css delete mode 100644 examples/data-fetching/src/modules/words/word-list/word-list.stories.tsx delete mode 100644 examples/data-fetching/src/modules/words/word-list/word-list.types.ts delete mode 100644 examples/data-fetching/src/modules/words/word-list/word-list.view.tsx delete mode 100644 examples/data-fetching/src/styles/main.css delete mode 160000 examples/front-arch-ssr-react delete mode 100644 motion-canvas-animations/presentation-animations/.gitignore delete mode 100644 motion-canvas-animations/presentation-animations/package-lock.json delete mode 100644 motion-canvas-animations/presentation-animations/package.json delete mode 100644 motion-canvas-animations/presentation-animations/src/motion-canvas.d.ts delete mode 100644 motion-canvas-animations/presentation-animations/src/project.meta delete mode 100644 motion-canvas-animations/presentation-animations/src/project.ts delete mode 100644 motion-canvas-animations/presentation-animations/src/scenes/example.meta delete mode 100644 motion-canvas-animations/presentation-animations/src/scenes/example.tsx delete mode 100644 motion-canvas-animations/presentation-animations/tsconfig.json delete mode 100644 motion-canvas-animations/presentation-animations/vite.config.ts rename {examples/data-fetching => presentation}/.blueprints/api/__kebabCase_name__/__kebabCase_name__.api.ts (100%) rename {examples/data-fetching => presentation}/.blueprints/api/__kebabCase_name__/__kebabCase_name__.hooks.ts (100%) rename {examples/data-fetching => presentation}/.blueprints/api/__kebabCase_name__/__kebabCase_name__.types.ts (100%) rename {examples/data-fetching => presentation}/.blueprints/api/__kebabCase_name__/index.ts (100%) rename {examples/data-fetching => presentation}/.blueprints/component/__kebabCase_name__/__kebabCase_name__.component.tsx (100%) rename {examples/data-fetching => presentation}/.blueprints/component/__kebabCase_name__/__kebabCase_name__.module.css (100%) rename {examples/data-fetching => presentation}/.blueprints/component/__kebabCase_name__/__kebabCase_name__.stories.tsx (100%) rename {examples/data-fetching => presentation}/.blueprints/component/__kebabCase_name__/index.ts (100%) rename {examples/data-fetching => presentation}/.blueprints/layout/__kebabCase_name__/__kebabCase_name__.layout.tsx (100%) rename {examples/data-fetching => presentation}/.blueprints/layout/__kebabCase_name__/__kebabCase_name__.module.css (100%) rename {examples/data-fetching => presentation}/.blueprints/layout/__kebabCase_name__/__kebabCase_name__.stories.tsx (100%) rename {examples/data-fetching => presentation}/.blueprints/layout/__kebabCase_name__/index.ts (100%) rename {examples/data-fetching => presentation}/.blueprints/view/__kebabCase_name__/__kebabCase_name__.module.css (100%) rename {examples/data-fetching => presentation}/.blueprints/view/__kebabCase_name__/__kebabCase_name__.stories.tsx (100%) rename {examples/data-fetching => presentation}/.blueprints/view/__kebabCase_name__/__kebabCase_name__.view.tsx (100%) rename {examples/data-fetching => presentation}/.blueprints/view/__kebabCase_name__/index.ts (100%) rename {examples/data-fetching => presentation}/.blueprints/widget/__kebabCase_name__/__kebabCase_name__.module.css (100%) rename {examples/data-fetching => presentation}/.blueprints/widget/__kebabCase_name__/__kebabCase_name__.stories.tsx (100%) rename {examples/data-fetching => presentation}/.blueprints/widget/__kebabCase_name__/__kebabCase_name__.widget.tsx (100%) rename {examples/data-fetching => presentation}/.blueprints/widget/__kebabCase_name__/index.ts (100%) rename {examples/data-fetching => presentation}/.commitlintrc.json (100%) rename {examples/data-fetching => presentation}/.editorconfig (100%) rename {examples/data-fetching => presentation}/.eslintignore (100%) rename {examples/data-fetching => presentation}/.eslintrc.json (100%) rename {examples/data-fetching => presentation}/.gitignore (100%) rename {examples/data-fetching => presentation}/.husky/commit-msg (100%) rename {examples/data-fetching => presentation}/.husky/pre-commit (100%) rename {examples/data-fetching => presentation}/.prettierrc.json (100%) rename {examples/data-fetching => presentation}/.storybook/main.ts (100%) rename {examples/data-fetching => presentation}/.storybook/preview.ts (100%) rename {examples/data-fetching => presentation}/.vscode/extensions.json (100%) rename {examples/data-fetching => presentation}/.vscode/launch.json (100%) rename {examples/data-fetching => presentation}/.vscode/settings.json (100%) rename {examples/data-fetching => presentation}/LICENSE (100%) rename {examples/data-fetching => presentation}/README.md (100%) rename {examples/data-fetching => presentation}/global.d.ts (100%) rename {examples/data-fetching => presentation}/jest.config.ts (100%) rename {examples/data-fetching => presentation}/next.config.js (85%) rename {examples/data-fetching => presentation}/package-lock.json (100%) rename {examples/data-fetching => presentation}/package.json (100%) rename {examples/data-fetching => presentation}/postcss.config.js (100%) rename {examples/data-fetching => presentation}/public/favicon.ico (100%) rename {examples/data-fetching => presentation}/public/next.svg (100%) create mode 100644 presentation/public/server-side-rendering-diagram.avif rename {examples/data-fetching => presentation}/public/thirteen.svg (100%) rename {examples/data-fetching => presentation}/public/vercel.svg (100%) rename {examples/data-fetching => presentation}/src/app/auth/sign-in/page.tsx (100%) rename {examples/data-fetching => presentation}/src/app/layout.tsx (100%) rename {examples/data-fetching => presentation}/src/app/page.tsx (100%) create mode 100644 presentation/src/app/presentation/page.tsx rename {examples/data-fetching => presentation}/src/app/users/page.tsx (100%) create mode 100644 presentation/src/app/word-list/actions.ts create mode 100644 presentation/src/app/word-list/components/clientside-word-list.tsx create mode 100644 presentation/src/app/word-list/components/go-back-button.tsx create mode 100644 presentation/src/app/word-list/components/revalidate-button.tsx create mode 100644 presentation/src/app/word-list/components/serverside-word-list.tsx create mode 100644 presentation/src/app/word-list/page.tsx create mode 100644 presentation/src/app/word-list/utils.ts rename {examples/data-fetching => presentation}/src/modules/auth/components/auth-form/auth-form.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/auth/components/auth-form/auth-form.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/auth/components/auth-form/auth-form.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/auth/components/auth-form/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/auth/providers/auth-to-apicontext-connection/auth-to-apicontext-connection.provider.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/auth/providers/auth-to-apicontext-connection/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/auth/providers/auth/auth.options.ts (100%) rename {examples/data-fetching => presentation}/src/modules/auth/providers/auth/auth.provider.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/auth/providers/auth/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/auth/providers/auth/nextauth.d.ts (100%) rename {examples/data-fetching => presentation}/src/modules/auth/views/sign-in/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/auth/views/sign-in/sign-in.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/auth/views/sign-in/sign-in.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/auth/views/sign-in/sign-in.view.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/auth/widgets/account/account.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/auth/widgets/account/account.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/auth/widgets/account/account.widget.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/auth/widgets/account/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/auth/widgets/login/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/auth/widgets/login/login.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/auth/widgets/login/login.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/auth/widgets/login/login.widget.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/icons/icons.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/icons/icons.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/icons/icons.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/icons/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/loading-button/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/loading-button/loading-button.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/loading-button/loading-button.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/loading-button/loading-button.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/accordion/accordion.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/accordion/accordion.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/accordion/accordion.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/accordion/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/alert-dialog/alert-dialog.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/alert-dialog/alert-dialog.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/alert-dialog/alert-dialog.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/alert-dialog/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/alert/alert.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/alert/alert.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/alert/alert.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/alert/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/aspect-ratio/aspect-ratio.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/aspect-ratio/aspect-ratio.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/aspect-ratio/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/avatar/avatar.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/avatar/avatar.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/avatar/avatar.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/avatar/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/badge/badge.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/badge/badge.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/badge/badge.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/badge/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/button/button.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/button/button.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/button/button.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/button/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/calendar/calendar.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/calendar/calendar.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/calendar/calendar.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/calendar/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/card/card.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/card/card.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/card/card.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/card/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/checkbox/checkbox.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/checkbox/checkbox.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/checkbox/checkbox.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/checkbox/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/collapsible/collapsible.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/collapsible/collapsible.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/collapsible/collapsible.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/collapsible/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/command/command.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/command/command.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/command/command.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/command/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/context-menu/context-menu.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/context-menu/context-menu.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/context-menu/context-menu.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/context-menu/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/dialog/dialog.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/dialog/dialog.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/dialog/dialog.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/dialog/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/dropdown-menu/dropdown-menu.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/dropdown-menu/dropdown-menu.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/dropdown-menu/dropdown-menu.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/dropdown-menu/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/form/form.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/form/form.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/form/form.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/form/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/hover-card/hover-card.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/hover-card/hover-card.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/hover-card/hover-card.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/hover-card/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/input/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/input/input.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/input/input.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/input/input.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/label/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/label/label.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/label/label.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/label/label.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/map/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/map/map.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/map/map.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/map/map.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/menubar/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/menubar/menubar.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/menubar/menubar.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/menubar/menubar.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/navigation-menu/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/navigation-menu/navigation-menu.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/navigation-menu/navigation-menu.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/navigation-menu/navigation-menu.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/popover/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/popover/popover.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/popover/popover.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/popover/popover.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/progress/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/progress/progress.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/progress/progress.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/progress/progress.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/radio-group/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/radio-group/radio-group.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/radio-group/radio-group.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/radio-group/radio-group.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/scroll-area/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/scroll-area/scroll-area.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/scroll-area/scroll-area.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/scroll-area/scroll-area.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/select/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/select/select.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/select/select.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/select/select.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/separator/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/separator/separator.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/separator/separator.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/separator/separator.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/sheet/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/sheet/sheet.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/sheet/sheet.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/sheet/sheet.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/skeleton/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/skeleton/skeleton.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/skeleton/skeleton.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/skeleton/skeleton.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/slider/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/slider/slider.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/slider/slider.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/slider/slider.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/switch/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/switch/switch.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/switch/switch.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/switch/switch.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/table/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/table/table.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/table/table.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/table/table.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/tabs/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/tabs/tabs.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/tabs/tabs.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/tabs/tabs.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/textarea/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/textarea/textarea.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/textarea/textarea.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/textarea/textarea.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/toast/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/toast/toast.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/toast/toast.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/toast/toast.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/toggle/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/toggle/toggle.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/toggle/toggle.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/toggle/toggle.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/tooltip/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/tooltip/tooltip.component.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/tooltip/tooltip.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/components/ui/tooltip/tooltip.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/layouts/application/application.layout.tsx (76%) rename {examples/data-fetching => presentation}/src/modules/common/layouts/application/application.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/layouts/application/application.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/layouts/application/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/layouts/root/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/layouts/root/root.layout.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/layouts/root/root.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/layouts/root/root.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/providers/api-context/api-context.default.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/providers/api-context/api-context.provider.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/providers/api-context/axios.instance.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/providers/api-context/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/providers/app/app.provider.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/providers/app/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/providers/query/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/providers/query/query.provider.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/views/main/app-main.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/views/main/app-main.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/views/main/app-main.view.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/views/main/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/widgets/footer/footer.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/widgets/footer/footer.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/widgets/footer/footer.widget.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/widgets/footer/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/common/widgets/header/header.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/common/widgets/header/header.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/widgets/header/header.widget.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/common/widgets/header/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/hookey/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/users/views/main/index.ts (100%) rename {examples/data-fetching => presentation}/src/modules/users/views/main/users-main.module.css (100%) rename {examples/data-fetching => presentation}/src/modules/users/views/main/users-main.stories.tsx (100%) rename {examples/data-fetching => presentation}/src/modules/users/views/main/users-main.view.tsx (100%) create mode 100644 presentation/src/styles/main.css rename {examples/data-fetching => presentation}/tailwind.config.js (100%) rename {examples/data-fetching => presentation}/tsconfig.json (100%) diff --git a/examples/data-fetching/src/app/word-list/page.tsx b/examples/data-fetching/src/app/word-list/page.tsx deleted file mode 100644 index d90d4d4..0000000 --- a/examples/data-fetching/src/app/word-list/page.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { getRandomWordList } from "@/words/word-list/utils"; - -const getServerSideProps = async () => { - const wordList = await getRandomWordList(); - console.log("Data is being fetch...", wordList) - return { props: { wordList:wordList } } -} - -export default async function WordList(){ - const wordList = await getServerSideProps(); - return ( -
- WordList server props: {JSON.stringify(wordList)} -
- ) -} diff --git a/examples/data-fetching/src/modules/words/word-list/index.ts b/examples/data-fetching/src/modules/words/word-list/index.ts deleted file mode 100644 index 231d5ac..0000000 --- a/examples/data-fetching/src/modules/words/word-list/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './word-list.view' diff --git a/examples/data-fetching/src/modules/words/word-list/utils.ts b/examples/data-fetching/src/modules/words/word-list/utils.ts deleted file mode 100644 index fb6089e..0000000 --- a/examples/data-fetching/src/modules/words/word-list/utils.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { WordListRepsonse } from './word-list.types' - -const dataURL = 'http://localhost:3000/words/es?complexity=easy&howMany=10' - -export async function getStaticProps() { - const randomWordList = await getRandomWordList(); - return { - props: { randomWordList }, // will be passed to the page component as props - } -} - -export async function getRandomWordList() { - const wordList: WordListRepsonse = await fetch(dataURL).then((response) => response.json()); - return wordList; -} diff --git a/examples/data-fetching/src/modules/words/word-list/word-list.module.css b/examples/data-fetching/src/modules/words/word-list/word-list.module.css deleted file mode 100644 index 595bbbf..0000000 --- a/examples/data-fetching/src/modules/words/word-list/word-list.module.css +++ /dev/null @@ -1,3 +0,0 @@ -.container { - -} \ No newline at end of file diff --git a/examples/data-fetching/src/modules/words/word-list/word-list.stories.tsx b/examples/data-fetching/src/modules/words/word-list/word-list.stories.tsx deleted file mode 100644 index 52fc59b..0000000 --- a/examples/data-fetching/src/modules/words/word-list/word-list.stories.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/react' -import { expect } from '@storybook/jest' -import { within } from '@storybook/testing-library' -import { WordListView } from './word-list.view' - -const meta: Meta = { - title: 'WordListView', - component: WordListView, - argTypes: {}, -} - -export default meta -type Story = StoryObj - -export const Default: Story = { - args: {}, - async play({ canvasElement }) { - const canvas = within(canvasElement) - const container = canvas.getByTestId('word-list-view') - - expect(container).toBeTruthy() - }, -} diff --git a/examples/data-fetching/src/modules/words/word-list/word-list.types.ts b/examples/data-fetching/src/modules/words/word-list/word-list.types.ts deleted file mode 100644 index c9422fb..0000000 --- a/examples/data-fetching/src/modules/words/word-list/word-list.types.ts +++ /dev/null @@ -1,8 +0,0 @@ -export type WordElement = { - word: string - correct?: boolean -} - -export type WordListRepsonse = { - wordList: WordElement[] -} diff --git a/examples/data-fetching/src/modules/words/word-list/word-list.view.tsx b/examples/data-fetching/src/modules/words/word-list/word-list.view.tsx deleted file mode 100644 index 700e0bb..0000000 --- a/examples/data-fetching/src/modules/words/word-list/word-list.view.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import React from 'react' -import styles from './word-list.module.css' -import { InferGetServerSidePropsType, InferGetStaticPropsType } from 'next' -import { getRandomWordList, getStaticProps } from './utils' - -export function WordListView( - props: InferGetStaticPropsType -) { - return ( -
- WordList: {JSON.stringify(props?.randomWordList)} -
- ) -} - diff --git a/examples/data-fetching/src/styles/main.css b/examples/data-fetching/src/styles/main.css deleted file mode 100644 index 3e5cdbd..0000000 --- a/examples/data-fetching/src/styles/main.css +++ /dev/null @@ -1,5 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - -@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@100;200;300;400;500;600;700;800;900&display=swap'); diff --git a/examples/front-arch-ssr-react b/examples/front-arch-ssr-react deleted file mode 160000 index febdeb7..0000000 --- a/examples/front-arch-ssr-react +++ /dev/null @@ -1 +0,0 @@ -Subproject commit febdeb78282571e3781f33a85d2662d6ab8d1da8 diff --git a/motion-canvas-animations/presentation-animations/.gitignore b/motion-canvas-animations/presentation-animations/.gitignore deleted file mode 100644 index 829b1c7..0000000 --- a/motion-canvas-animations/presentation-animations/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -# Generated files -node_modules -output -dist - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/motion-canvas-animations/presentation-animations/package-lock.json b/motion-canvas-animations/presentation-animations/package-lock.json deleted file mode 100644 index ca56fd3..0000000 --- a/motion-canvas-animations/presentation-animations/package-lock.json +++ /dev/null @@ -1,1041 +0,0 @@ -{ - "name": "presentation-animations", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "presentation-animations", - "version": "0.0.0", - "dependencies": { - "@motion-canvas/2d": "^3.11.0", - "@motion-canvas/core": "^3.11.0", - "@motion-canvas/ffmpeg": "^1.1.0" - }, - "devDependencies": { - "@motion-canvas/ui": "^3.11.0", - "@motion-canvas/vite-plugin": "^3.11.0", - "typescript": "^4.9.5", - "vite": "^4.1.4" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@ffmpeg-installer/darwin-arm64": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/darwin-arm64/-/darwin-arm64-4.1.5.tgz", - "integrity": "sha512-hYqTiP63mXz7wSQfuqfFwfLOfwwFChUedeCVKkBtl/cliaTM7/ePI9bVzfZ2c+dWu3TqCwLDRWNSJ5pqZl8otA==", - "cpu": [ - "arm64" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@ffmpeg-installer/darwin-x64": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/darwin-x64/-/darwin-x64-4.1.0.tgz", - "integrity": "sha512-Z4EyG3cIFjdhlY8wI9aLUXuH8nVt7E9SlMVZtWvSPnm2sm37/yC2CwjUzyCQbJbySnef1tQwGG2Sx+uWhd9IAw==", - "cpu": [ - "x64" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@ffmpeg-installer/ffmpeg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/ffmpeg/-/ffmpeg-1.1.0.tgz", - "integrity": "sha512-Uq4rmwkdGxIa9A6Bd/VqqYbT7zqh1GrT5/rFwCwKM70b42W5gIjWeVETq6SdcL0zXqDtY081Ws/iJWhr1+xvQg==", - "optionalDependencies": { - "@ffmpeg-installer/darwin-arm64": "4.1.5", - "@ffmpeg-installer/darwin-x64": "4.1.0", - "@ffmpeg-installer/linux-arm": "4.1.3", - "@ffmpeg-installer/linux-arm64": "4.1.4", - "@ffmpeg-installer/linux-ia32": "4.1.0", - "@ffmpeg-installer/linux-x64": "4.1.0", - "@ffmpeg-installer/win32-ia32": "4.1.0", - "@ffmpeg-installer/win32-x64": "4.1.0" - } - }, - "node_modules/@ffmpeg-installer/linux-arm": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-arm/-/linux-arm-4.1.3.tgz", - "integrity": "sha512-NDf5V6l8AfzZ8WzUGZ5mV8O/xMzRag2ETR6+TlGIsMHp81agx51cqpPItXPib/nAZYmo55Bl2L6/WOMI3A5YRg==", - "cpu": [ - "arm" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ffmpeg-installer/linux-arm64": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-arm64/-/linux-arm64-4.1.4.tgz", - "integrity": "sha512-dljEqAOD0oIM6O6DxBW9US/FkvqvQwgJ2lGHOwHDDwu/pX8+V0YsDL1xqHbj1DMX/+nP9rxw7G7gcUvGspSoKg==", - "cpu": [ - "arm64" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ffmpeg-installer/linux-ia32": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-ia32/-/linux-ia32-4.1.0.tgz", - "integrity": "sha512-0LWyFQnPf+Ij9GQGD034hS6A90URNu9HCtQ5cTqo5MxOEc7Rd8gLXrJvn++UmxhU0J5RyRE9KRYstdCVUjkNOQ==", - "cpu": [ - "ia32" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ffmpeg-installer/linux-x64": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-x64/-/linux-x64-4.1.0.tgz", - "integrity": "sha512-Y5BWhGLU/WpQjOArNIgXD3z5mxxdV8c41C+U15nsE5yF8tVcdCGet5zPs5Zy3Ta6bU7haGpIzryutqCGQA/W8A==", - "cpu": [ - "x64" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ffmpeg-installer/win32-ia32": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/win32-ia32/-/win32-ia32-4.1.0.tgz", - "integrity": "sha512-FV2D7RlaZv/lrtdhaQ4oETwoFUsUjlUiasiZLDxhEUPdNDWcH1OU9K1xTvqz+OXLdsmYelUDuBS/zkMOTtlUAw==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@ffmpeg-installer/win32-x64": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/win32-x64/-/win32-x64-4.1.0.tgz", - "integrity": "sha512-Drt5u2vzDnIONf4ZEkKtFlbvwj6rI3kxw1Ck9fpudmtgaZIHD4ucsWB2lCZBXRxJgXR+2IMSti+4rtM4C4rXgg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@ffprobe-installer/darwin-arm64": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@ffprobe-installer/darwin-arm64/-/darwin-arm64-5.0.1.tgz", - "integrity": "sha512-vwNCNjokH8hfkbl6m95zICHwkSzhEvDC3GVBcUp5HX8+4wsX10SP3B+bGur7XUzTIZ4cQpgJmEIAx6TUwRepMg==", - "cpu": [ - "arm64" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@ffprobe-installer/darwin-x64": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ffprobe-installer/darwin-x64/-/darwin-x64-5.1.0.tgz", - "integrity": "sha512-J+YGscZMpQclFg31O4cfVRGmDpkVsQ2fZujoUdMAAYcP0NtqpC49Hs3SWJpBdsGB4VeqOt5TTm1vSZQzs1NkhA==", - "cpu": [ - "x64" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@ffprobe-installer/ffprobe": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ffprobe-installer/ffprobe/-/ffprobe-2.1.2.tgz", - "integrity": "sha512-ZNvwk4f2magF42Zji2Ese16SMj9BS7Fui4kRjg6gTYTxY3gWZNpg85n4MIfQyI9nimHg4x/gT6FVkp/bBDuBwg==", - "engines": { - "node": ">=14.21.2" - }, - "optionalDependencies": { - "@ffprobe-installer/darwin-arm64": "5.0.1", - "@ffprobe-installer/darwin-x64": "5.1.0", - "@ffprobe-installer/linux-arm": "5.2.0", - "@ffprobe-installer/linux-arm64": "5.2.0", - "@ffprobe-installer/linux-ia32": "5.2.0", - "@ffprobe-installer/linux-x64": "5.2.0", - "@ffprobe-installer/win32-ia32": "5.1.0", - "@ffprobe-installer/win32-x64": "5.1.0" - } - }, - "node_modules/@ffprobe-installer/linux-arm": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@ffprobe-installer/linux-arm/-/linux-arm-5.2.0.tgz", - "integrity": "sha512-PF5HqEhCY7WTWHtLDYbA/+rLS+rhslWvyBlAG1Fk8VzVlnRdl93o6hy7DE2kJgxWQbFaR3ZktPQGEzfkrmQHvQ==", - "cpu": [ - "arm" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ffprobe-installer/linux-arm64": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@ffprobe-installer/linux-arm64/-/linux-arm64-5.2.0.tgz", - "integrity": "sha512-X1VvWtlLs6ScP73biVLuHD5ohKJKsMTa0vafCESOen4mOoNeLAYbxOVxDWAdFz9cpZgRiloFj5QD6nDj8E28yQ==", - "cpu": [ - "arm64" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ffprobe-installer/linux-ia32": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@ffprobe-installer/linux-ia32/-/linux-ia32-5.2.0.tgz", - "integrity": "sha512-TFVK5sasXyXhbIG7LtPRDmtkrkOsInwKcL43iEvEw+D9vCS2rc//mn9/0Q+BR0UoJEiMK4+ApYr/3LLVUBPOCQ==", - "cpu": [ - "ia32" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ffprobe-installer/linux-x64": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@ffprobe-installer/linux-x64/-/linux-x64-5.2.0.tgz", - "integrity": "sha512-D3UeqTLYPNs7pBWPLUYGehPdRVqU8eACox4OZy3pZUZatxye2YKlvBwEfaLdL1v2Z4FOAlLUhms0kY8m8kqSRA==", - "cpu": [ - "x64" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ffprobe-installer/win32-ia32": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ffprobe-installer/win32-ia32/-/win32-ia32-5.1.0.tgz", - "integrity": "sha512-5O3vOoNRxmut0/Nu9vSazTdSHasrr+zPT2B3Hm7kjmO3QVFcIfVImS6ReQnZeSy8JPJOqXts5kX5x/3KOX54XQ==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@ffprobe-installer/win32-x64": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ffprobe-installer/win32-x64/-/win32-x64-5.1.0.tgz", - "integrity": "sha512-jMGYeAgkrdn4e2vvYt/qakgHRE3CPju4bn5TmdPfoAm1BlX1mY9cyMd8gf5vSzI8gH8Zq5WQAyAkmekX/8TSTg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@motion-canvas/2d": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/@motion-canvas/2d/-/2d-3.11.0.tgz", - "integrity": "sha512-T/RPXGRxddO/xxbC2RcOXfrtBTp8lfcmnuW1fa6++0qy0chK5NFxm3bHJczCbX0ynKB2VAoqLNobTF9eD6ZP3w==", - "dependencies": { - "@motion-canvas/core": "^3.11.0", - "code-fns": "^0.8.2", - "mathjax-full": "^3.2.2", - "parse-svg-path": "^0.1.2" - } - }, - "node_modules/@motion-canvas/core": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/@motion-canvas/core/-/core-3.11.0.tgz", - "integrity": "sha512-/WjdoSTqTPwCgrB2pP8YXq2T3KviYHrywVxXJ5fEjQ1gajkPKYD7aVlRcY1+kaTbwqXhCARMCh+pSjT2nfhTsw==", - "dependencies": { - "@types/chroma-js": "^2.1.4", - "chroma-js": "^2.4.2" - }, - "peerDependencies": { - "vite": "^4.1.4" - } - }, - "node_modules/@motion-canvas/ffmpeg": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@motion-canvas/ffmpeg/-/ffmpeg-1.1.1.tgz", - "integrity": "sha512-w2d7oFfR3hYHXeYtFGoHp6goY+vVL0LoZ2h1b/veTH5KvE7jrLp2Kl/XPHsYJ5ZDRHUT0Nhl05DBLdXYqdSqgg==", - "dependencies": { - "@ffmpeg-installer/ffmpeg": "^1.1.0", - "@ffprobe-installer/ffprobe": "^2.0.0", - "fluent-ffmpeg": "^2.1.2" - }, - "peerDependencies": { - "@motion-canvas/core": "^3.7.0", - "@motion-canvas/vite-plugin": "^3.7.0", - "vite": "4.x" - } - }, - "node_modules/@motion-canvas/ui": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/@motion-canvas/ui/-/ui-3.11.0.tgz", - "integrity": "sha512-sd0GxvCkejL2lzExsvgLsC1GgHzLP/0LlMw1QE2/3pMQo3rMOVA7L1Oq6br8HqdJhzMEgW3DWC0NjDJsUfkL2A==", - "dev": true, - "dependencies": { - "@motion-canvas/core": "^3.11.0" - } - }, - "node_modules/@motion-canvas/vite-plugin": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/@motion-canvas/vite-plugin/-/vite-plugin-3.11.0.tgz", - "integrity": "sha512-26ixfy5NhvFePj1DBdh7MFsgevpRrzzEKjzSyCK3FOvPcnUWFjab4wWErpsIEnu6a0p7yj4w9VKpa8USx6N95A==", - "dependencies": { - "follow-redirects": "^1.15.2", - "mime-types": "^2.1.35" - }, - "peerDependencies": { - "vite": "4.x" - } - }, - "node_modules/@types/chroma-js": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@types/chroma-js/-/chroma-js-2.4.3.tgz", - "integrity": "sha512-1ly5ly/7S/YF8aD7MxUQnFOZxdegimuOunJl0xDsLlguu5JrwuSTVGVH3UpIUlh6YauI0RMNT4cqjBonhgbdIQ==" - }, - "node_modules/@types/hast": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.8.tgz", - "integrity": "sha512-aMIqAlFd2wTIDZuvLbhUT+TGvMxrNC8ECUIVtH6xxy0sQLs3iu6NO8Kp/VT5je7i5ufnebXzdV1dNDMnvaH6IQ==", - "dependencies": { - "@types/unist": "^2" - } - }, - "node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" - }, - "node_modules/@wooorm/starry-night": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@wooorm/starry-night/-/starry-night-1.7.0.tgz", - "integrity": "sha512-ktO0nkddrovIoNW2jAUT+Cdd9n1bWjy1Ir4CdcmgTaT6E94HLlQfu7Yv62falclBEwvsuVp3bSBw23wtta1fNw==", - "dependencies": { - "@types/hast": "^2.0.0", - "import-meta-resolve": "^2.0.0", - "vscode-oniguruma": "^1.0.0", - "vscode-textmate": "^9.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/async": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" - }, - "node_modules/chroma-js": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz", - "integrity": "sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==" - }, - "node_modules/code-fns": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/code-fns/-/code-fns-0.8.2.tgz", - "integrity": "sha512-3VVeq3cnWxWiWKFLsVo+XWsOXBSW2gAx2uv0ViETLNmNuygEPHlCeDAv/Zy7xXqPgXtgLZyvIJZmx+ojTgOIGA==", - "dependencies": { - "@wooorm/starry-night": "^1.2.0" - } - }, - "node_modules/commander": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", - "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==", - "engines": { - "node": "^12.20.0 || >=14" - } - }, - "node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" - } - }, - "node_modules/esm": { - "version": "3.2.25", - "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", - "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/fluent-ffmpeg": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.1.2.tgz", - "integrity": "sha512-IZTB4kq5GK0DPp7sGQ0q/BWurGHffRtQQwVkiqDgeO6wYJLLV5ZhgNOQ65loZxxuPMKZKZcICCUnaGtlxBiR0Q==", - "dependencies": { - "async": ">=0.2.9", - "which": "^1.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/import-meta-resolve": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-2.2.2.tgz", - "integrity": "sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/mathjax-full": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz", - "integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==", - "dependencies": { - "esm": "^3.2.25", - "mhchemparser": "^4.1.0", - "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.6" - } - }, - "node_modules/mhchemparser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.2.1.tgz", - "integrity": "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==" - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mj-context-menu": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz", - "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==" - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/parse-svg-path": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", - "integrity": "sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==" - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/postcss": { - "version": "8.4.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", - "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/rollup": { - "version": "3.29.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", - "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/speech-rule-engine": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz", - "integrity": "sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==", - "dependencies": { - "commander": "9.2.0", - "wicked-good-xpath": "1.3.0", - "xmldom-sre": "0.1.31" - }, - "bin": { - "sre": "bin/sre" - } - }, - "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/vite": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz", - "integrity": "sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==", - "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vscode-oniguruma": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", - "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==" - }, - "node_modules/vscode-textmate": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-9.0.0.tgz", - "integrity": "sha512-Cl65diFGxz7gpwbav10HqiY/eVYTO1sjQpmRmV991Bj7wAoOAjGQ97PpQcXorDE2Uc4hnGWLY17xme+5t6MlSg==" - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/wicked-good-xpath": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz", - "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==" - }, - "node_modules/xmldom-sre": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz", - "integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==", - "engines": { - "node": ">=0.1" - } - } - } -} diff --git a/motion-canvas-animations/presentation-animations/package.json b/motion-canvas-animations/presentation-animations/package.json deleted file mode 100644 index a78e319..0000000 --- a/motion-canvas-animations/presentation-animations/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "presentation-animations", - "private": true, - "version": "0.0.0", - "scripts": { - "serve": "vite", - "build": "tsc && vite build" - }, - "dependencies": { - "@motion-canvas/core": "^3.11.0", - "@motion-canvas/2d": "^3.11.0", - "@motion-canvas/ffmpeg": "^1.1.0" - }, - "devDependencies": { - "@motion-canvas/ui": "^3.11.0", - "@motion-canvas/vite-plugin": "^3.11.0", - "typescript": "^4.9.5", - "vite": "^4.1.4" - } -} \ No newline at end of file diff --git a/motion-canvas-animations/presentation-animations/src/motion-canvas.d.ts b/motion-canvas-animations/presentation-animations/src/motion-canvas.d.ts deleted file mode 100644 index 067c6a4..0000000 --- a/motion-canvas-animations/presentation-animations/src/motion-canvas.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/motion-canvas-animations/presentation-animations/src/project.meta b/motion-canvas-animations/presentation-animations/src/project.meta deleted file mode 100644 index 499e306..0000000 --- a/motion-canvas-animations/presentation-animations/src/project.meta +++ /dev/null @@ -1,32 +0,0 @@ -{ - "version": 0, - "shared": { - "background": null, - "range": [ - 0, - null - ], - "size": { - "x": 1920, - "y": 1080 - }, - "audioOffset": 0 - }, - "preview": { - "fps": 30, - "resolutionScale": 1 - }, - "rendering": { - "fps": 60, - "resolutionScale": 1, - "colorSpace": "srgb", - "exporter": { - "name": "@motion-canvas/core/image-sequence", - "options": { - "fileType": "image/png", - "quality": 100, - "groupByScene": false - } - } - } -} \ No newline at end of file diff --git a/motion-canvas-animations/presentation-animations/src/project.ts b/motion-canvas-animations/presentation-animations/src/project.ts deleted file mode 100644 index ecfbbeb..0000000 --- a/motion-canvas-animations/presentation-animations/src/project.ts +++ /dev/null @@ -1,7 +0,0 @@ -import {makeProject} from '@motion-canvas/core'; - -import example from './scenes/example?scene'; - -export default makeProject({ - scenes: [example], -}); diff --git a/motion-canvas-animations/presentation-animations/src/scenes/example.meta b/motion-canvas-animations/presentation-animations/src/scenes/example.meta deleted file mode 100644 index e172c07..0000000 --- a/motion-canvas-animations/presentation-animations/src/scenes/example.meta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": 0, - "timeEvents": [], - "seed": 1375832605 -} \ No newline at end of file diff --git a/motion-canvas-animations/presentation-animations/src/scenes/example.tsx b/motion-canvas-animations/presentation-animations/src/scenes/example.tsx deleted file mode 100644 index 9d8499d..0000000 --- a/motion-canvas-animations/presentation-animations/src/scenes/example.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import {makeScene2D, Circle} from '@motion-canvas/2d'; -import {all, createRef} from '@motion-canvas/core'; - -export default makeScene2D(function* (view) { - const myCircle = createRef(); - - view.add( - , - ); - - yield* all( - myCircle().position.x(300, 1).to(-300, 1), - myCircle().fill('#e6a700', 1).to('#e13238', 1), - ); -}); diff --git a/motion-canvas-animations/presentation-animations/tsconfig.json b/motion-canvas-animations/presentation-animations/tsconfig.json deleted file mode 100644 index e7d5347..0000000 --- a/motion-canvas-animations/presentation-animations/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@motion-canvas/2d/tsconfig.project.json", - "include": ["src"] -} diff --git a/motion-canvas-animations/presentation-animations/vite.config.ts b/motion-canvas-animations/presentation-animations/vite.config.ts deleted file mode 100644 index 42d9d68..0000000 --- a/motion-canvas-animations/presentation-animations/vite.config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import {defineConfig} from 'vite'; -import motionCanvas from '@motion-canvas/vite-plugin'; -import ffmpeg from '@motion-canvas/ffmpeg'; - -export default defineConfig({ - plugins: [ - motionCanvas(), - ffmpeg(), - ], -}); diff --git a/examples/data-fetching/.blueprints/api/__kebabCase_name__/__kebabCase_name__.api.ts b/presentation/.blueprints/api/__kebabCase_name__/__kebabCase_name__.api.ts similarity index 100% rename from examples/data-fetching/.blueprints/api/__kebabCase_name__/__kebabCase_name__.api.ts rename to presentation/.blueprints/api/__kebabCase_name__/__kebabCase_name__.api.ts diff --git a/examples/data-fetching/.blueprints/api/__kebabCase_name__/__kebabCase_name__.hooks.ts b/presentation/.blueprints/api/__kebabCase_name__/__kebabCase_name__.hooks.ts similarity index 100% rename from examples/data-fetching/.blueprints/api/__kebabCase_name__/__kebabCase_name__.hooks.ts rename to presentation/.blueprints/api/__kebabCase_name__/__kebabCase_name__.hooks.ts diff --git a/examples/data-fetching/.blueprints/api/__kebabCase_name__/__kebabCase_name__.types.ts b/presentation/.blueprints/api/__kebabCase_name__/__kebabCase_name__.types.ts similarity index 100% rename from examples/data-fetching/.blueprints/api/__kebabCase_name__/__kebabCase_name__.types.ts rename to presentation/.blueprints/api/__kebabCase_name__/__kebabCase_name__.types.ts diff --git a/examples/data-fetching/.blueprints/api/__kebabCase_name__/index.ts b/presentation/.blueprints/api/__kebabCase_name__/index.ts similarity index 100% rename from examples/data-fetching/.blueprints/api/__kebabCase_name__/index.ts rename to presentation/.blueprints/api/__kebabCase_name__/index.ts diff --git a/examples/data-fetching/.blueprints/component/__kebabCase_name__/__kebabCase_name__.component.tsx b/presentation/.blueprints/component/__kebabCase_name__/__kebabCase_name__.component.tsx similarity index 100% rename from examples/data-fetching/.blueprints/component/__kebabCase_name__/__kebabCase_name__.component.tsx rename to presentation/.blueprints/component/__kebabCase_name__/__kebabCase_name__.component.tsx diff --git a/examples/data-fetching/.blueprints/component/__kebabCase_name__/__kebabCase_name__.module.css b/presentation/.blueprints/component/__kebabCase_name__/__kebabCase_name__.module.css similarity index 100% rename from examples/data-fetching/.blueprints/component/__kebabCase_name__/__kebabCase_name__.module.css rename to presentation/.blueprints/component/__kebabCase_name__/__kebabCase_name__.module.css diff --git a/examples/data-fetching/.blueprints/component/__kebabCase_name__/__kebabCase_name__.stories.tsx b/presentation/.blueprints/component/__kebabCase_name__/__kebabCase_name__.stories.tsx similarity index 100% rename from examples/data-fetching/.blueprints/component/__kebabCase_name__/__kebabCase_name__.stories.tsx rename to presentation/.blueprints/component/__kebabCase_name__/__kebabCase_name__.stories.tsx diff --git a/examples/data-fetching/.blueprints/component/__kebabCase_name__/index.ts b/presentation/.blueprints/component/__kebabCase_name__/index.ts similarity index 100% rename from examples/data-fetching/.blueprints/component/__kebabCase_name__/index.ts rename to presentation/.blueprints/component/__kebabCase_name__/index.ts diff --git a/examples/data-fetching/.blueprints/layout/__kebabCase_name__/__kebabCase_name__.layout.tsx b/presentation/.blueprints/layout/__kebabCase_name__/__kebabCase_name__.layout.tsx similarity index 100% rename from examples/data-fetching/.blueprints/layout/__kebabCase_name__/__kebabCase_name__.layout.tsx rename to presentation/.blueprints/layout/__kebabCase_name__/__kebabCase_name__.layout.tsx diff --git a/examples/data-fetching/.blueprints/layout/__kebabCase_name__/__kebabCase_name__.module.css b/presentation/.blueprints/layout/__kebabCase_name__/__kebabCase_name__.module.css similarity index 100% rename from examples/data-fetching/.blueprints/layout/__kebabCase_name__/__kebabCase_name__.module.css rename to presentation/.blueprints/layout/__kebabCase_name__/__kebabCase_name__.module.css diff --git a/examples/data-fetching/.blueprints/layout/__kebabCase_name__/__kebabCase_name__.stories.tsx b/presentation/.blueprints/layout/__kebabCase_name__/__kebabCase_name__.stories.tsx similarity index 100% rename from examples/data-fetching/.blueprints/layout/__kebabCase_name__/__kebabCase_name__.stories.tsx rename to presentation/.blueprints/layout/__kebabCase_name__/__kebabCase_name__.stories.tsx diff --git a/examples/data-fetching/.blueprints/layout/__kebabCase_name__/index.ts b/presentation/.blueprints/layout/__kebabCase_name__/index.ts similarity index 100% rename from examples/data-fetching/.blueprints/layout/__kebabCase_name__/index.ts rename to presentation/.blueprints/layout/__kebabCase_name__/index.ts diff --git a/examples/data-fetching/.blueprints/view/__kebabCase_name__/__kebabCase_name__.module.css b/presentation/.blueprints/view/__kebabCase_name__/__kebabCase_name__.module.css similarity index 100% rename from examples/data-fetching/.blueprints/view/__kebabCase_name__/__kebabCase_name__.module.css rename to presentation/.blueprints/view/__kebabCase_name__/__kebabCase_name__.module.css diff --git a/examples/data-fetching/.blueprints/view/__kebabCase_name__/__kebabCase_name__.stories.tsx b/presentation/.blueprints/view/__kebabCase_name__/__kebabCase_name__.stories.tsx similarity index 100% rename from examples/data-fetching/.blueprints/view/__kebabCase_name__/__kebabCase_name__.stories.tsx rename to presentation/.blueprints/view/__kebabCase_name__/__kebabCase_name__.stories.tsx diff --git a/examples/data-fetching/.blueprints/view/__kebabCase_name__/__kebabCase_name__.view.tsx b/presentation/.blueprints/view/__kebabCase_name__/__kebabCase_name__.view.tsx similarity index 100% rename from examples/data-fetching/.blueprints/view/__kebabCase_name__/__kebabCase_name__.view.tsx rename to presentation/.blueprints/view/__kebabCase_name__/__kebabCase_name__.view.tsx diff --git a/examples/data-fetching/.blueprints/view/__kebabCase_name__/index.ts b/presentation/.blueprints/view/__kebabCase_name__/index.ts similarity index 100% rename from examples/data-fetching/.blueprints/view/__kebabCase_name__/index.ts rename to presentation/.blueprints/view/__kebabCase_name__/index.ts diff --git a/examples/data-fetching/.blueprints/widget/__kebabCase_name__/__kebabCase_name__.module.css b/presentation/.blueprints/widget/__kebabCase_name__/__kebabCase_name__.module.css similarity index 100% rename from examples/data-fetching/.blueprints/widget/__kebabCase_name__/__kebabCase_name__.module.css rename to presentation/.blueprints/widget/__kebabCase_name__/__kebabCase_name__.module.css diff --git a/examples/data-fetching/.blueprints/widget/__kebabCase_name__/__kebabCase_name__.stories.tsx b/presentation/.blueprints/widget/__kebabCase_name__/__kebabCase_name__.stories.tsx similarity index 100% rename from examples/data-fetching/.blueprints/widget/__kebabCase_name__/__kebabCase_name__.stories.tsx rename to presentation/.blueprints/widget/__kebabCase_name__/__kebabCase_name__.stories.tsx diff --git a/examples/data-fetching/.blueprints/widget/__kebabCase_name__/__kebabCase_name__.widget.tsx b/presentation/.blueprints/widget/__kebabCase_name__/__kebabCase_name__.widget.tsx similarity index 100% rename from examples/data-fetching/.blueprints/widget/__kebabCase_name__/__kebabCase_name__.widget.tsx rename to presentation/.blueprints/widget/__kebabCase_name__/__kebabCase_name__.widget.tsx diff --git a/examples/data-fetching/.blueprints/widget/__kebabCase_name__/index.ts b/presentation/.blueprints/widget/__kebabCase_name__/index.ts similarity index 100% rename from examples/data-fetching/.blueprints/widget/__kebabCase_name__/index.ts rename to presentation/.blueprints/widget/__kebabCase_name__/index.ts diff --git a/examples/data-fetching/.commitlintrc.json b/presentation/.commitlintrc.json similarity index 100% rename from examples/data-fetching/.commitlintrc.json rename to presentation/.commitlintrc.json diff --git a/examples/data-fetching/.editorconfig b/presentation/.editorconfig similarity index 100% rename from examples/data-fetching/.editorconfig rename to presentation/.editorconfig diff --git a/examples/data-fetching/.eslintignore b/presentation/.eslintignore similarity index 100% rename from examples/data-fetching/.eslintignore rename to presentation/.eslintignore diff --git a/examples/data-fetching/.eslintrc.json b/presentation/.eslintrc.json similarity index 100% rename from examples/data-fetching/.eslintrc.json rename to presentation/.eslintrc.json diff --git a/examples/data-fetching/.gitignore b/presentation/.gitignore similarity index 100% rename from examples/data-fetching/.gitignore rename to presentation/.gitignore diff --git a/examples/data-fetching/.husky/commit-msg b/presentation/.husky/commit-msg similarity index 100% rename from examples/data-fetching/.husky/commit-msg rename to presentation/.husky/commit-msg diff --git a/examples/data-fetching/.husky/pre-commit b/presentation/.husky/pre-commit similarity index 100% rename from examples/data-fetching/.husky/pre-commit rename to presentation/.husky/pre-commit diff --git a/examples/data-fetching/.prettierrc.json b/presentation/.prettierrc.json similarity index 100% rename from examples/data-fetching/.prettierrc.json rename to presentation/.prettierrc.json diff --git a/examples/data-fetching/.storybook/main.ts b/presentation/.storybook/main.ts similarity index 100% rename from examples/data-fetching/.storybook/main.ts rename to presentation/.storybook/main.ts diff --git a/examples/data-fetching/.storybook/preview.ts b/presentation/.storybook/preview.ts similarity index 100% rename from examples/data-fetching/.storybook/preview.ts rename to presentation/.storybook/preview.ts diff --git a/examples/data-fetching/.vscode/extensions.json b/presentation/.vscode/extensions.json similarity index 100% rename from examples/data-fetching/.vscode/extensions.json rename to presentation/.vscode/extensions.json diff --git a/examples/data-fetching/.vscode/launch.json b/presentation/.vscode/launch.json similarity index 100% rename from examples/data-fetching/.vscode/launch.json rename to presentation/.vscode/launch.json diff --git a/examples/data-fetching/.vscode/settings.json b/presentation/.vscode/settings.json similarity index 100% rename from examples/data-fetching/.vscode/settings.json rename to presentation/.vscode/settings.json diff --git a/examples/data-fetching/LICENSE b/presentation/LICENSE similarity index 100% rename from examples/data-fetching/LICENSE rename to presentation/LICENSE diff --git a/examples/data-fetching/README.md b/presentation/README.md similarity index 100% rename from examples/data-fetching/README.md rename to presentation/README.md diff --git a/examples/data-fetching/global.d.ts b/presentation/global.d.ts similarity index 100% rename from examples/data-fetching/global.d.ts rename to presentation/global.d.ts diff --git a/examples/data-fetching/jest.config.ts b/presentation/jest.config.ts similarity index 100% rename from examples/data-fetching/jest.config.ts rename to presentation/jest.config.ts diff --git a/examples/data-fetching/next.config.js b/presentation/next.config.js similarity index 85% rename from examples/data-fetching/next.config.js rename to presentation/next.config.js index bef805c..00fdd60 100644 --- a/examples/data-fetching/next.config.js +++ b/presentation/next.config.js @@ -1,6 +1,9 @@ /** @type {import('next').NextConfig} */ const nextConfig = { reactStrictMode: true, + experimental: { + serverActions: true, + }, // Avoiding CORS issues // async rewrites() { // return [ diff --git a/examples/data-fetching/package-lock.json b/presentation/package-lock.json similarity index 100% rename from examples/data-fetching/package-lock.json rename to presentation/package-lock.json diff --git a/examples/data-fetching/package.json b/presentation/package.json similarity index 100% rename from examples/data-fetching/package.json rename to presentation/package.json diff --git a/examples/data-fetching/postcss.config.js b/presentation/postcss.config.js similarity index 100% rename from examples/data-fetching/postcss.config.js rename to presentation/postcss.config.js diff --git a/examples/data-fetching/public/favicon.ico b/presentation/public/favicon.ico similarity index 100% rename from examples/data-fetching/public/favicon.ico rename to presentation/public/favicon.ico diff --git a/examples/data-fetching/public/next.svg b/presentation/public/next.svg similarity index 100% rename from examples/data-fetching/public/next.svg rename to presentation/public/next.svg diff --git a/presentation/public/server-side-rendering-diagram.avif b/presentation/public/server-side-rendering-diagram.avif new file mode 100644 index 0000000000000000000000000000000000000000..800d9773021c41a2b4b271997381d925bf4752e0 GIT binary patch literal 27744 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 + + const stages = [ + , + , + , + , + , + ] + + return ( +
+ {stages[current]} + +
+ ) +} + +// 1. Introduction +// 2. Rendering strategies. +// 3. Benefits. +// 4. Actual process and why its important to know it. +// 5. Serverside data fetching + +function Introduction() { + return ( +
+

Next

+
+

Nos da la posibilidad de renderizar desde el servidor

+
+
+ ) +} + +function Rendering() { + return ( +
+

Rendering

+
+ The rendering works is split into chunks: - By individual route + segments - By React [Suspense + boundaries](https://react.dev/reference/react/Suspense) (react + way of having a fallback while a components has finished + loading) Each chunk is rendered in the server, then, on the + client: 1. The HTML is used to immediately show fast preview. 2. + The server components rendered are inserted to update the DOM + (components rendered in server with placeholders for client + components and props). 3. `JS` instructions are used to + [hydrate?](https://react.dev/reference/react-dom/client/hydrateRoot) + Client Components and make the application interactive. +
+
+ ) +} + +function Strategies() { + return ( +
+

Strategies

+
+
    +
  • + - Static rendering (default): Good for static pages: + Rendered in build time or in the background after data + revalidation +
  • +
  • + - Security: sensitive data is kept int the server (API + keys and tokens) +
  • +
  • + - Dynamic rendering: rendered per user request, Next + uses this type of rendering automatically when discovers + a dynamic function (`cookies()`, `headers()`, + `userSearchParams()`). +
  • +
  • + - Streaming: work is split into chunks and streamed as + they become ready so the load is progressive. +
  • +
+
+
+ ) +} + +function Benefits() { + return ( +
+

Beneficios

+
+
    +
  • + - Fetch data directly on the server, performance and + load benefits. +
  • +
  • + - Security: sensitive data is kept int the server (API + keys and tokens) +
  • +
  • + - Caching: results can be cached to improve performance + between users. +
  • +
  • + - Bundle size: will be reduced as part of the + application will reside in the server. +
  • +
  • + - SEO: because the pages will be rendered the search + engine bots will make good use of it. +
  • +
  • + - Streaming: to split the rendering into chunks and + stream them as they become ready. +
  • +
+
+
+ ) +} + +function DataFetching() { + const router = useRouter() + router.push('/word-list') + return <>Redirecting... +} diff --git a/examples/data-fetching/src/app/users/page.tsx b/presentation/src/app/users/page.tsx similarity index 100% rename from examples/data-fetching/src/app/users/page.tsx rename to presentation/src/app/users/page.tsx diff --git a/presentation/src/app/word-list/actions.ts b/presentation/src/app/word-list/actions.ts new file mode 100644 index 0000000..b8860be --- /dev/null +++ b/presentation/src/app/word-list/actions.ts @@ -0,0 +1,6 @@ +'use server' +import { revalidateTag } from 'next/cache' + +export async function revalidateFetchByTag(tag: string) { + revalidateTag(tag) +} diff --git a/presentation/src/app/word-list/components/clientside-word-list.tsx b/presentation/src/app/word-list/components/clientside-word-list.tsx new file mode 100644 index 0000000..20c7cb6 --- /dev/null +++ b/presentation/src/app/word-list/components/clientside-word-list.tsx @@ -0,0 +1,31 @@ +'use client' + +import { useEffect, useState } from 'react' +import { WordListRepsonse, fetchWordlist } from '../utils' + +export default function ClientWordList() { + const [data, setData] = useState() + + const fetchData = () => + fetchWordlist().then((response) => setData(response)) + + useEffect(() => { + fetchData() + }, []) + + return ( +
+

+ Wordlist fetched in the client +

+
+ {data?.wordList.map((word) => ( + {word.word} + ))} +
+
+ +
+
+ ) +} diff --git a/presentation/src/app/word-list/components/go-back-button.tsx b/presentation/src/app/word-list/components/go-back-button.tsx new file mode 100644 index 0000000..f76458b --- /dev/null +++ b/presentation/src/app/word-list/components/go-back-button.tsx @@ -0,0 +1,15 @@ +'use client' + +import { useRouter } from 'next/navigation' + +export default function GoBackButton() { + const router = useRouter() + return ( + + ) +} diff --git a/presentation/src/app/word-list/components/revalidate-button.tsx b/presentation/src/app/word-list/components/revalidate-button.tsx new file mode 100644 index 0000000..657b18f --- /dev/null +++ b/presentation/src/app/word-list/components/revalidate-button.tsx @@ -0,0 +1,11 @@ +'use client' + +import { revalidateFetchByTag } from '../actions' + +export default function RevalidateButton() { + return ( + + ) +} diff --git a/presentation/src/app/word-list/components/serverside-word-list.tsx b/presentation/src/app/word-list/components/serverside-word-list.tsx new file mode 100644 index 0000000..aef9091 --- /dev/null +++ b/presentation/src/app/word-list/components/serverside-word-list.tsx @@ -0,0 +1,22 @@ +import RevalidateButton from './revalidate-button' +import { fetchWordlist } from '../utils' + +export default async function ServerWordList() { + const response = await fetchWordlist() + + return ( +
+

+ Wordlist fetched in the server +

+
+ {response?.wordList.map((word) => ( + {word.word} + ))} +
+
+ +
+
+ ) +} diff --git a/presentation/src/app/word-list/page.tsx b/presentation/src/app/word-list/page.tsx new file mode 100644 index 0000000..b281ebc --- /dev/null +++ b/presentation/src/app/word-list/page.tsx @@ -0,0 +1,12 @@ +import ClientWordList from './components/clientside-word-list' +import GoBackButton from './components/go-back-button' +import ServerWordList from './components/serverside-word-list' + +export default function WordList() { + return ( +
+ + +
+ ) +} diff --git a/presentation/src/app/word-list/utils.ts b/presentation/src/app/word-list/utils.ts new file mode 100644 index 0000000..7564ff6 --- /dev/null +++ b/presentation/src/app/word-list/utils.ts @@ -0,0 +1,22 @@ +const WORDLIST_API_URL = + 'http://localhost:3000/words/es?complexity=medium&howMany=30' + +export type WordElement = { + word: string + correct?: boolean +} + +export type WordListRepsonse = { + wordList: WordElement[] +} + +// fetch("https://...", { cache: "no-store" }); +export const fetchWordlist = async () => { + const wordList: WordListRepsonse = await fetch(WORDLIST_API_URL, { + next: { tags: ['wordlist'] }, + }).then((response) => response.json()) + + console.log('Data fetch is done', wordList) + + return wordList +} diff --git a/examples/data-fetching/src/modules/auth/components/auth-form/auth-form.component.tsx b/presentation/src/modules/auth/components/auth-form/auth-form.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/auth/components/auth-form/auth-form.component.tsx rename to presentation/src/modules/auth/components/auth-form/auth-form.component.tsx diff --git a/examples/data-fetching/src/modules/auth/components/auth-form/auth-form.module.css b/presentation/src/modules/auth/components/auth-form/auth-form.module.css similarity index 100% rename from examples/data-fetching/src/modules/auth/components/auth-form/auth-form.module.css rename to presentation/src/modules/auth/components/auth-form/auth-form.module.css diff --git a/examples/data-fetching/src/modules/auth/components/auth-form/auth-form.stories.tsx b/presentation/src/modules/auth/components/auth-form/auth-form.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/auth/components/auth-form/auth-form.stories.tsx rename to presentation/src/modules/auth/components/auth-form/auth-form.stories.tsx diff --git a/examples/data-fetching/src/modules/auth/components/auth-form/index.ts b/presentation/src/modules/auth/components/auth-form/index.ts similarity index 100% rename from examples/data-fetching/src/modules/auth/components/auth-form/index.ts rename to presentation/src/modules/auth/components/auth-form/index.ts diff --git a/examples/data-fetching/src/modules/auth/providers/auth-to-apicontext-connection/auth-to-apicontext-connection.provider.tsx b/presentation/src/modules/auth/providers/auth-to-apicontext-connection/auth-to-apicontext-connection.provider.tsx similarity index 100% rename from examples/data-fetching/src/modules/auth/providers/auth-to-apicontext-connection/auth-to-apicontext-connection.provider.tsx rename to presentation/src/modules/auth/providers/auth-to-apicontext-connection/auth-to-apicontext-connection.provider.tsx diff --git a/examples/data-fetching/src/modules/auth/providers/auth-to-apicontext-connection/index.ts b/presentation/src/modules/auth/providers/auth-to-apicontext-connection/index.ts similarity index 100% rename from examples/data-fetching/src/modules/auth/providers/auth-to-apicontext-connection/index.ts rename to presentation/src/modules/auth/providers/auth-to-apicontext-connection/index.ts diff --git a/examples/data-fetching/src/modules/auth/providers/auth/auth.options.ts b/presentation/src/modules/auth/providers/auth/auth.options.ts similarity index 100% rename from examples/data-fetching/src/modules/auth/providers/auth/auth.options.ts rename to presentation/src/modules/auth/providers/auth/auth.options.ts diff --git a/examples/data-fetching/src/modules/auth/providers/auth/auth.provider.tsx b/presentation/src/modules/auth/providers/auth/auth.provider.tsx similarity index 100% rename from examples/data-fetching/src/modules/auth/providers/auth/auth.provider.tsx rename to presentation/src/modules/auth/providers/auth/auth.provider.tsx diff --git a/examples/data-fetching/src/modules/auth/providers/auth/index.ts b/presentation/src/modules/auth/providers/auth/index.ts similarity index 100% rename from examples/data-fetching/src/modules/auth/providers/auth/index.ts rename to presentation/src/modules/auth/providers/auth/index.ts diff --git a/examples/data-fetching/src/modules/auth/providers/auth/nextauth.d.ts b/presentation/src/modules/auth/providers/auth/nextauth.d.ts similarity index 100% rename from examples/data-fetching/src/modules/auth/providers/auth/nextauth.d.ts rename to presentation/src/modules/auth/providers/auth/nextauth.d.ts diff --git a/examples/data-fetching/src/modules/auth/views/sign-in/index.ts b/presentation/src/modules/auth/views/sign-in/index.ts similarity index 100% rename from examples/data-fetching/src/modules/auth/views/sign-in/index.ts rename to presentation/src/modules/auth/views/sign-in/index.ts diff --git a/examples/data-fetching/src/modules/auth/views/sign-in/sign-in.module.css b/presentation/src/modules/auth/views/sign-in/sign-in.module.css similarity index 100% rename from examples/data-fetching/src/modules/auth/views/sign-in/sign-in.module.css rename to presentation/src/modules/auth/views/sign-in/sign-in.module.css diff --git a/examples/data-fetching/src/modules/auth/views/sign-in/sign-in.stories.tsx b/presentation/src/modules/auth/views/sign-in/sign-in.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/auth/views/sign-in/sign-in.stories.tsx rename to presentation/src/modules/auth/views/sign-in/sign-in.stories.tsx diff --git a/examples/data-fetching/src/modules/auth/views/sign-in/sign-in.view.tsx b/presentation/src/modules/auth/views/sign-in/sign-in.view.tsx similarity index 100% rename from examples/data-fetching/src/modules/auth/views/sign-in/sign-in.view.tsx rename to presentation/src/modules/auth/views/sign-in/sign-in.view.tsx diff --git a/examples/data-fetching/src/modules/auth/widgets/account/account.module.css b/presentation/src/modules/auth/widgets/account/account.module.css similarity index 100% rename from examples/data-fetching/src/modules/auth/widgets/account/account.module.css rename to presentation/src/modules/auth/widgets/account/account.module.css diff --git a/examples/data-fetching/src/modules/auth/widgets/account/account.stories.tsx b/presentation/src/modules/auth/widgets/account/account.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/auth/widgets/account/account.stories.tsx rename to presentation/src/modules/auth/widgets/account/account.stories.tsx diff --git a/examples/data-fetching/src/modules/auth/widgets/account/account.widget.tsx b/presentation/src/modules/auth/widgets/account/account.widget.tsx similarity index 100% rename from examples/data-fetching/src/modules/auth/widgets/account/account.widget.tsx rename to presentation/src/modules/auth/widgets/account/account.widget.tsx diff --git a/examples/data-fetching/src/modules/auth/widgets/account/index.ts b/presentation/src/modules/auth/widgets/account/index.ts similarity index 100% rename from examples/data-fetching/src/modules/auth/widgets/account/index.ts rename to presentation/src/modules/auth/widgets/account/index.ts diff --git a/examples/data-fetching/src/modules/auth/widgets/login/index.ts b/presentation/src/modules/auth/widgets/login/index.ts similarity index 100% rename from examples/data-fetching/src/modules/auth/widgets/login/index.ts rename to presentation/src/modules/auth/widgets/login/index.ts diff --git a/examples/data-fetching/src/modules/auth/widgets/login/login.module.css b/presentation/src/modules/auth/widgets/login/login.module.css similarity index 100% rename from examples/data-fetching/src/modules/auth/widgets/login/login.module.css rename to presentation/src/modules/auth/widgets/login/login.module.css diff --git a/examples/data-fetching/src/modules/auth/widgets/login/login.stories.tsx b/presentation/src/modules/auth/widgets/login/login.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/auth/widgets/login/login.stories.tsx rename to presentation/src/modules/auth/widgets/login/login.stories.tsx diff --git a/examples/data-fetching/src/modules/auth/widgets/login/login.widget.tsx b/presentation/src/modules/auth/widgets/login/login.widget.tsx similarity index 100% rename from examples/data-fetching/src/modules/auth/widgets/login/login.widget.tsx rename to presentation/src/modules/auth/widgets/login/login.widget.tsx diff --git a/examples/data-fetching/src/modules/common/components/icons/icons.component.tsx b/presentation/src/modules/common/components/icons/icons.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/icons/icons.component.tsx rename to presentation/src/modules/common/components/icons/icons.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/icons/icons.module.css b/presentation/src/modules/common/components/icons/icons.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/icons/icons.module.css rename to presentation/src/modules/common/components/icons/icons.module.css diff --git a/examples/data-fetching/src/modules/common/components/icons/icons.stories.tsx b/presentation/src/modules/common/components/icons/icons.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/icons/icons.stories.tsx rename to presentation/src/modules/common/components/icons/icons.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/icons/index.ts b/presentation/src/modules/common/components/icons/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/icons/index.ts rename to presentation/src/modules/common/components/icons/index.ts diff --git a/examples/data-fetching/src/modules/common/components/loading-button/index.ts b/presentation/src/modules/common/components/loading-button/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/loading-button/index.ts rename to presentation/src/modules/common/components/loading-button/index.ts diff --git a/examples/data-fetching/src/modules/common/components/loading-button/loading-button.component.tsx b/presentation/src/modules/common/components/loading-button/loading-button.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/loading-button/loading-button.component.tsx rename to presentation/src/modules/common/components/loading-button/loading-button.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/loading-button/loading-button.module.css b/presentation/src/modules/common/components/loading-button/loading-button.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/loading-button/loading-button.module.css rename to presentation/src/modules/common/components/loading-button/loading-button.module.css diff --git a/examples/data-fetching/src/modules/common/components/loading-button/loading-button.stories.tsx b/presentation/src/modules/common/components/loading-button/loading-button.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/loading-button/loading-button.stories.tsx rename to presentation/src/modules/common/components/loading-button/loading-button.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/accordion/accordion.component.tsx b/presentation/src/modules/common/components/ui/accordion/accordion.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/accordion/accordion.component.tsx rename to presentation/src/modules/common/components/ui/accordion/accordion.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/accordion/accordion.module.css b/presentation/src/modules/common/components/ui/accordion/accordion.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/accordion/accordion.module.css rename to presentation/src/modules/common/components/ui/accordion/accordion.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/accordion/accordion.stories.tsx b/presentation/src/modules/common/components/ui/accordion/accordion.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/accordion/accordion.stories.tsx rename to presentation/src/modules/common/components/ui/accordion/accordion.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/accordion/index.ts b/presentation/src/modules/common/components/ui/accordion/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/accordion/index.ts rename to presentation/src/modules/common/components/ui/accordion/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/alert-dialog/alert-dialog.component.tsx b/presentation/src/modules/common/components/ui/alert-dialog/alert-dialog.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/alert-dialog/alert-dialog.component.tsx rename to presentation/src/modules/common/components/ui/alert-dialog/alert-dialog.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/alert-dialog/alert-dialog.module.css b/presentation/src/modules/common/components/ui/alert-dialog/alert-dialog.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/alert-dialog/alert-dialog.module.css rename to presentation/src/modules/common/components/ui/alert-dialog/alert-dialog.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/alert-dialog/alert-dialog.stories.tsx b/presentation/src/modules/common/components/ui/alert-dialog/alert-dialog.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/alert-dialog/alert-dialog.stories.tsx rename to presentation/src/modules/common/components/ui/alert-dialog/alert-dialog.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/alert-dialog/index.ts b/presentation/src/modules/common/components/ui/alert-dialog/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/alert-dialog/index.ts rename to presentation/src/modules/common/components/ui/alert-dialog/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/alert/alert.component.tsx b/presentation/src/modules/common/components/ui/alert/alert.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/alert/alert.component.tsx rename to presentation/src/modules/common/components/ui/alert/alert.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/alert/alert.module.css b/presentation/src/modules/common/components/ui/alert/alert.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/alert/alert.module.css rename to presentation/src/modules/common/components/ui/alert/alert.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/alert/alert.stories.tsx b/presentation/src/modules/common/components/ui/alert/alert.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/alert/alert.stories.tsx rename to presentation/src/modules/common/components/ui/alert/alert.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/alert/index.ts b/presentation/src/modules/common/components/ui/alert/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/alert/index.ts rename to presentation/src/modules/common/components/ui/alert/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/aspect-ratio/aspect-ratio.component.tsx b/presentation/src/modules/common/components/ui/aspect-ratio/aspect-ratio.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/aspect-ratio/aspect-ratio.component.tsx rename to presentation/src/modules/common/components/ui/aspect-ratio/aspect-ratio.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/aspect-ratio/aspect-ratio.stories.tsx b/presentation/src/modules/common/components/ui/aspect-ratio/aspect-ratio.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/aspect-ratio/aspect-ratio.stories.tsx rename to presentation/src/modules/common/components/ui/aspect-ratio/aspect-ratio.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/aspect-ratio/index.ts b/presentation/src/modules/common/components/ui/aspect-ratio/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/aspect-ratio/index.ts rename to presentation/src/modules/common/components/ui/aspect-ratio/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/avatar/avatar.component.tsx b/presentation/src/modules/common/components/ui/avatar/avatar.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/avatar/avatar.component.tsx rename to presentation/src/modules/common/components/ui/avatar/avatar.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/avatar/avatar.module.css b/presentation/src/modules/common/components/ui/avatar/avatar.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/avatar/avatar.module.css rename to presentation/src/modules/common/components/ui/avatar/avatar.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/avatar/avatar.stories.tsx b/presentation/src/modules/common/components/ui/avatar/avatar.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/avatar/avatar.stories.tsx rename to presentation/src/modules/common/components/ui/avatar/avatar.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/avatar/index.ts b/presentation/src/modules/common/components/ui/avatar/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/avatar/index.ts rename to presentation/src/modules/common/components/ui/avatar/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/badge/badge.component.tsx b/presentation/src/modules/common/components/ui/badge/badge.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/badge/badge.component.tsx rename to presentation/src/modules/common/components/ui/badge/badge.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/badge/badge.module.css b/presentation/src/modules/common/components/ui/badge/badge.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/badge/badge.module.css rename to presentation/src/modules/common/components/ui/badge/badge.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/badge/badge.stories.tsx b/presentation/src/modules/common/components/ui/badge/badge.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/badge/badge.stories.tsx rename to presentation/src/modules/common/components/ui/badge/badge.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/badge/index.ts b/presentation/src/modules/common/components/ui/badge/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/badge/index.ts rename to presentation/src/modules/common/components/ui/badge/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/button/button.component.tsx b/presentation/src/modules/common/components/ui/button/button.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/button/button.component.tsx rename to presentation/src/modules/common/components/ui/button/button.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/button/button.module.css b/presentation/src/modules/common/components/ui/button/button.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/button/button.module.css rename to presentation/src/modules/common/components/ui/button/button.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/button/button.stories.tsx b/presentation/src/modules/common/components/ui/button/button.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/button/button.stories.tsx rename to presentation/src/modules/common/components/ui/button/button.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/button/index.ts b/presentation/src/modules/common/components/ui/button/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/button/index.ts rename to presentation/src/modules/common/components/ui/button/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/calendar/calendar.component.tsx b/presentation/src/modules/common/components/ui/calendar/calendar.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/calendar/calendar.component.tsx rename to presentation/src/modules/common/components/ui/calendar/calendar.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/calendar/calendar.module.css b/presentation/src/modules/common/components/ui/calendar/calendar.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/calendar/calendar.module.css rename to presentation/src/modules/common/components/ui/calendar/calendar.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/calendar/calendar.stories.tsx b/presentation/src/modules/common/components/ui/calendar/calendar.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/calendar/calendar.stories.tsx rename to presentation/src/modules/common/components/ui/calendar/calendar.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/calendar/index.ts b/presentation/src/modules/common/components/ui/calendar/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/calendar/index.ts rename to presentation/src/modules/common/components/ui/calendar/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/card/card.component.tsx b/presentation/src/modules/common/components/ui/card/card.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/card/card.component.tsx rename to presentation/src/modules/common/components/ui/card/card.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/card/card.module.css b/presentation/src/modules/common/components/ui/card/card.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/card/card.module.css rename to presentation/src/modules/common/components/ui/card/card.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/card/card.stories.tsx b/presentation/src/modules/common/components/ui/card/card.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/card/card.stories.tsx rename to presentation/src/modules/common/components/ui/card/card.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/card/index.ts b/presentation/src/modules/common/components/ui/card/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/card/index.ts rename to presentation/src/modules/common/components/ui/card/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/checkbox/checkbox.component.tsx b/presentation/src/modules/common/components/ui/checkbox/checkbox.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/checkbox/checkbox.component.tsx rename to presentation/src/modules/common/components/ui/checkbox/checkbox.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/checkbox/checkbox.module.css b/presentation/src/modules/common/components/ui/checkbox/checkbox.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/checkbox/checkbox.module.css rename to presentation/src/modules/common/components/ui/checkbox/checkbox.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/checkbox/checkbox.stories.tsx b/presentation/src/modules/common/components/ui/checkbox/checkbox.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/checkbox/checkbox.stories.tsx rename to presentation/src/modules/common/components/ui/checkbox/checkbox.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/checkbox/index.ts b/presentation/src/modules/common/components/ui/checkbox/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/checkbox/index.ts rename to presentation/src/modules/common/components/ui/checkbox/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/collapsible/collapsible.component.tsx b/presentation/src/modules/common/components/ui/collapsible/collapsible.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/collapsible/collapsible.component.tsx rename to presentation/src/modules/common/components/ui/collapsible/collapsible.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/collapsible/collapsible.module.css b/presentation/src/modules/common/components/ui/collapsible/collapsible.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/collapsible/collapsible.module.css rename to presentation/src/modules/common/components/ui/collapsible/collapsible.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/collapsible/collapsible.stories.tsx b/presentation/src/modules/common/components/ui/collapsible/collapsible.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/collapsible/collapsible.stories.tsx rename to presentation/src/modules/common/components/ui/collapsible/collapsible.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/collapsible/index.ts b/presentation/src/modules/common/components/ui/collapsible/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/collapsible/index.ts rename to presentation/src/modules/common/components/ui/collapsible/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/command/command.component.tsx b/presentation/src/modules/common/components/ui/command/command.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/command/command.component.tsx rename to presentation/src/modules/common/components/ui/command/command.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/command/command.module.css b/presentation/src/modules/common/components/ui/command/command.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/command/command.module.css rename to presentation/src/modules/common/components/ui/command/command.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/command/command.stories.tsx b/presentation/src/modules/common/components/ui/command/command.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/command/command.stories.tsx rename to presentation/src/modules/common/components/ui/command/command.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/command/index.ts b/presentation/src/modules/common/components/ui/command/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/command/index.ts rename to presentation/src/modules/common/components/ui/command/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/context-menu/context-menu.component.tsx b/presentation/src/modules/common/components/ui/context-menu/context-menu.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/context-menu/context-menu.component.tsx rename to presentation/src/modules/common/components/ui/context-menu/context-menu.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/context-menu/context-menu.module.css b/presentation/src/modules/common/components/ui/context-menu/context-menu.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/context-menu/context-menu.module.css rename to presentation/src/modules/common/components/ui/context-menu/context-menu.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/context-menu/context-menu.stories.tsx b/presentation/src/modules/common/components/ui/context-menu/context-menu.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/context-menu/context-menu.stories.tsx rename to presentation/src/modules/common/components/ui/context-menu/context-menu.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/context-menu/index.ts b/presentation/src/modules/common/components/ui/context-menu/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/context-menu/index.ts rename to presentation/src/modules/common/components/ui/context-menu/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/dialog/dialog.component.tsx b/presentation/src/modules/common/components/ui/dialog/dialog.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/dialog/dialog.component.tsx rename to presentation/src/modules/common/components/ui/dialog/dialog.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/dialog/dialog.module.css b/presentation/src/modules/common/components/ui/dialog/dialog.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/dialog/dialog.module.css rename to presentation/src/modules/common/components/ui/dialog/dialog.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/dialog/dialog.stories.tsx b/presentation/src/modules/common/components/ui/dialog/dialog.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/dialog/dialog.stories.tsx rename to presentation/src/modules/common/components/ui/dialog/dialog.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/dialog/index.ts b/presentation/src/modules/common/components/ui/dialog/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/dialog/index.ts rename to presentation/src/modules/common/components/ui/dialog/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/dropdown-menu/dropdown-menu.component.tsx b/presentation/src/modules/common/components/ui/dropdown-menu/dropdown-menu.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/dropdown-menu/dropdown-menu.component.tsx rename to presentation/src/modules/common/components/ui/dropdown-menu/dropdown-menu.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/dropdown-menu/dropdown-menu.module.css b/presentation/src/modules/common/components/ui/dropdown-menu/dropdown-menu.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/dropdown-menu/dropdown-menu.module.css rename to presentation/src/modules/common/components/ui/dropdown-menu/dropdown-menu.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/dropdown-menu/dropdown-menu.stories.tsx b/presentation/src/modules/common/components/ui/dropdown-menu/dropdown-menu.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/dropdown-menu/dropdown-menu.stories.tsx rename to presentation/src/modules/common/components/ui/dropdown-menu/dropdown-menu.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/dropdown-menu/index.ts b/presentation/src/modules/common/components/ui/dropdown-menu/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/dropdown-menu/index.ts rename to presentation/src/modules/common/components/ui/dropdown-menu/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/form/form.component.tsx b/presentation/src/modules/common/components/ui/form/form.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/form/form.component.tsx rename to presentation/src/modules/common/components/ui/form/form.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/form/form.module.css b/presentation/src/modules/common/components/ui/form/form.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/form/form.module.css rename to presentation/src/modules/common/components/ui/form/form.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/form/form.stories.tsx b/presentation/src/modules/common/components/ui/form/form.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/form/form.stories.tsx rename to presentation/src/modules/common/components/ui/form/form.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/form/index.ts b/presentation/src/modules/common/components/ui/form/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/form/index.ts rename to presentation/src/modules/common/components/ui/form/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/hover-card/hover-card.component.tsx b/presentation/src/modules/common/components/ui/hover-card/hover-card.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/hover-card/hover-card.component.tsx rename to presentation/src/modules/common/components/ui/hover-card/hover-card.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/hover-card/hover-card.module.css b/presentation/src/modules/common/components/ui/hover-card/hover-card.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/hover-card/hover-card.module.css rename to presentation/src/modules/common/components/ui/hover-card/hover-card.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/hover-card/hover-card.stories.tsx b/presentation/src/modules/common/components/ui/hover-card/hover-card.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/hover-card/hover-card.stories.tsx rename to presentation/src/modules/common/components/ui/hover-card/hover-card.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/hover-card/index.ts b/presentation/src/modules/common/components/ui/hover-card/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/hover-card/index.ts rename to presentation/src/modules/common/components/ui/hover-card/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/input/index.ts b/presentation/src/modules/common/components/ui/input/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/input/index.ts rename to presentation/src/modules/common/components/ui/input/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/input/input.component.tsx b/presentation/src/modules/common/components/ui/input/input.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/input/input.component.tsx rename to presentation/src/modules/common/components/ui/input/input.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/input/input.module.css b/presentation/src/modules/common/components/ui/input/input.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/input/input.module.css rename to presentation/src/modules/common/components/ui/input/input.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/input/input.stories.tsx b/presentation/src/modules/common/components/ui/input/input.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/input/input.stories.tsx rename to presentation/src/modules/common/components/ui/input/input.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/label/index.ts b/presentation/src/modules/common/components/ui/label/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/label/index.ts rename to presentation/src/modules/common/components/ui/label/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/label/label.component.tsx b/presentation/src/modules/common/components/ui/label/label.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/label/label.component.tsx rename to presentation/src/modules/common/components/ui/label/label.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/label/label.module.css b/presentation/src/modules/common/components/ui/label/label.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/label/label.module.css rename to presentation/src/modules/common/components/ui/label/label.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/label/label.stories.tsx b/presentation/src/modules/common/components/ui/label/label.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/label/label.stories.tsx rename to presentation/src/modules/common/components/ui/label/label.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/map/index.ts b/presentation/src/modules/common/components/ui/map/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/map/index.ts rename to presentation/src/modules/common/components/ui/map/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/map/map.component.tsx b/presentation/src/modules/common/components/ui/map/map.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/map/map.component.tsx rename to presentation/src/modules/common/components/ui/map/map.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/map/map.module.css b/presentation/src/modules/common/components/ui/map/map.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/map/map.module.css rename to presentation/src/modules/common/components/ui/map/map.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/map/map.stories.tsx b/presentation/src/modules/common/components/ui/map/map.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/map/map.stories.tsx rename to presentation/src/modules/common/components/ui/map/map.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/menubar/index.ts b/presentation/src/modules/common/components/ui/menubar/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/menubar/index.ts rename to presentation/src/modules/common/components/ui/menubar/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/menubar/menubar.component.tsx b/presentation/src/modules/common/components/ui/menubar/menubar.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/menubar/menubar.component.tsx rename to presentation/src/modules/common/components/ui/menubar/menubar.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/menubar/menubar.module.css b/presentation/src/modules/common/components/ui/menubar/menubar.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/menubar/menubar.module.css rename to presentation/src/modules/common/components/ui/menubar/menubar.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/menubar/menubar.stories.tsx b/presentation/src/modules/common/components/ui/menubar/menubar.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/menubar/menubar.stories.tsx rename to presentation/src/modules/common/components/ui/menubar/menubar.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/navigation-menu/index.ts b/presentation/src/modules/common/components/ui/navigation-menu/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/navigation-menu/index.ts rename to presentation/src/modules/common/components/ui/navigation-menu/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/navigation-menu/navigation-menu.component.tsx b/presentation/src/modules/common/components/ui/navigation-menu/navigation-menu.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/navigation-menu/navigation-menu.component.tsx rename to presentation/src/modules/common/components/ui/navigation-menu/navigation-menu.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/navigation-menu/navigation-menu.module.css b/presentation/src/modules/common/components/ui/navigation-menu/navigation-menu.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/navigation-menu/navigation-menu.module.css rename to presentation/src/modules/common/components/ui/navigation-menu/navigation-menu.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/navigation-menu/navigation-menu.stories.tsx b/presentation/src/modules/common/components/ui/navigation-menu/navigation-menu.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/navigation-menu/navigation-menu.stories.tsx rename to presentation/src/modules/common/components/ui/navigation-menu/navigation-menu.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/popover/index.ts b/presentation/src/modules/common/components/ui/popover/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/popover/index.ts rename to presentation/src/modules/common/components/ui/popover/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/popover/popover.component.tsx b/presentation/src/modules/common/components/ui/popover/popover.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/popover/popover.component.tsx rename to presentation/src/modules/common/components/ui/popover/popover.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/popover/popover.module.css b/presentation/src/modules/common/components/ui/popover/popover.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/popover/popover.module.css rename to presentation/src/modules/common/components/ui/popover/popover.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/popover/popover.stories.tsx b/presentation/src/modules/common/components/ui/popover/popover.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/popover/popover.stories.tsx rename to presentation/src/modules/common/components/ui/popover/popover.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/progress/index.ts b/presentation/src/modules/common/components/ui/progress/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/progress/index.ts rename to presentation/src/modules/common/components/ui/progress/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/progress/progress.component.tsx b/presentation/src/modules/common/components/ui/progress/progress.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/progress/progress.component.tsx rename to presentation/src/modules/common/components/ui/progress/progress.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/progress/progress.module.css b/presentation/src/modules/common/components/ui/progress/progress.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/progress/progress.module.css rename to presentation/src/modules/common/components/ui/progress/progress.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/progress/progress.stories.tsx b/presentation/src/modules/common/components/ui/progress/progress.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/progress/progress.stories.tsx rename to presentation/src/modules/common/components/ui/progress/progress.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/radio-group/index.ts b/presentation/src/modules/common/components/ui/radio-group/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/radio-group/index.ts rename to presentation/src/modules/common/components/ui/radio-group/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/radio-group/radio-group.component.tsx b/presentation/src/modules/common/components/ui/radio-group/radio-group.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/radio-group/radio-group.component.tsx rename to presentation/src/modules/common/components/ui/radio-group/radio-group.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/radio-group/radio-group.module.css b/presentation/src/modules/common/components/ui/radio-group/radio-group.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/radio-group/radio-group.module.css rename to presentation/src/modules/common/components/ui/radio-group/radio-group.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/radio-group/radio-group.stories.tsx b/presentation/src/modules/common/components/ui/radio-group/radio-group.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/radio-group/radio-group.stories.tsx rename to presentation/src/modules/common/components/ui/radio-group/radio-group.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/scroll-area/index.ts b/presentation/src/modules/common/components/ui/scroll-area/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/scroll-area/index.ts rename to presentation/src/modules/common/components/ui/scroll-area/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/scroll-area/scroll-area.component.tsx b/presentation/src/modules/common/components/ui/scroll-area/scroll-area.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/scroll-area/scroll-area.component.tsx rename to presentation/src/modules/common/components/ui/scroll-area/scroll-area.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/scroll-area/scroll-area.module.css b/presentation/src/modules/common/components/ui/scroll-area/scroll-area.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/scroll-area/scroll-area.module.css rename to presentation/src/modules/common/components/ui/scroll-area/scroll-area.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/scroll-area/scroll-area.stories.tsx b/presentation/src/modules/common/components/ui/scroll-area/scroll-area.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/scroll-area/scroll-area.stories.tsx rename to presentation/src/modules/common/components/ui/scroll-area/scroll-area.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/select/index.ts b/presentation/src/modules/common/components/ui/select/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/select/index.ts rename to presentation/src/modules/common/components/ui/select/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/select/select.component.tsx b/presentation/src/modules/common/components/ui/select/select.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/select/select.component.tsx rename to presentation/src/modules/common/components/ui/select/select.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/select/select.module.css b/presentation/src/modules/common/components/ui/select/select.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/select/select.module.css rename to presentation/src/modules/common/components/ui/select/select.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/select/select.stories.tsx b/presentation/src/modules/common/components/ui/select/select.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/select/select.stories.tsx rename to presentation/src/modules/common/components/ui/select/select.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/separator/index.ts b/presentation/src/modules/common/components/ui/separator/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/separator/index.ts rename to presentation/src/modules/common/components/ui/separator/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/separator/separator.component.tsx b/presentation/src/modules/common/components/ui/separator/separator.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/separator/separator.component.tsx rename to presentation/src/modules/common/components/ui/separator/separator.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/separator/separator.module.css b/presentation/src/modules/common/components/ui/separator/separator.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/separator/separator.module.css rename to presentation/src/modules/common/components/ui/separator/separator.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/separator/separator.stories.tsx b/presentation/src/modules/common/components/ui/separator/separator.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/separator/separator.stories.tsx rename to presentation/src/modules/common/components/ui/separator/separator.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/sheet/index.ts b/presentation/src/modules/common/components/ui/sheet/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/sheet/index.ts rename to presentation/src/modules/common/components/ui/sheet/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/sheet/sheet.component.tsx b/presentation/src/modules/common/components/ui/sheet/sheet.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/sheet/sheet.component.tsx rename to presentation/src/modules/common/components/ui/sheet/sheet.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/sheet/sheet.module.css b/presentation/src/modules/common/components/ui/sheet/sheet.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/sheet/sheet.module.css rename to presentation/src/modules/common/components/ui/sheet/sheet.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/sheet/sheet.stories.tsx b/presentation/src/modules/common/components/ui/sheet/sheet.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/sheet/sheet.stories.tsx rename to presentation/src/modules/common/components/ui/sheet/sheet.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/skeleton/index.ts b/presentation/src/modules/common/components/ui/skeleton/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/skeleton/index.ts rename to presentation/src/modules/common/components/ui/skeleton/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/skeleton/skeleton.component.tsx b/presentation/src/modules/common/components/ui/skeleton/skeleton.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/skeleton/skeleton.component.tsx rename to presentation/src/modules/common/components/ui/skeleton/skeleton.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/skeleton/skeleton.module.css b/presentation/src/modules/common/components/ui/skeleton/skeleton.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/skeleton/skeleton.module.css rename to presentation/src/modules/common/components/ui/skeleton/skeleton.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/skeleton/skeleton.stories.tsx b/presentation/src/modules/common/components/ui/skeleton/skeleton.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/skeleton/skeleton.stories.tsx rename to presentation/src/modules/common/components/ui/skeleton/skeleton.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/slider/index.ts b/presentation/src/modules/common/components/ui/slider/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/slider/index.ts rename to presentation/src/modules/common/components/ui/slider/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/slider/slider.component.tsx b/presentation/src/modules/common/components/ui/slider/slider.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/slider/slider.component.tsx rename to presentation/src/modules/common/components/ui/slider/slider.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/slider/slider.module.css b/presentation/src/modules/common/components/ui/slider/slider.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/slider/slider.module.css rename to presentation/src/modules/common/components/ui/slider/slider.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/slider/slider.stories.tsx b/presentation/src/modules/common/components/ui/slider/slider.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/slider/slider.stories.tsx rename to presentation/src/modules/common/components/ui/slider/slider.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/switch/index.ts b/presentation/src/modules/common/components/ui/switch/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/switch/index.ts rename to presentation/src/modules/common/components/ui/switch/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/switch/switch.component.tsx b/presentation/src/modules/common/components/ui/switch/switch.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/switch/switch.component.tsx rename to presentation/src/modules/common/components/ui/switch/switch.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/switch/switch.module.css b/presentation/src/modules/common/components/ui/switch/switch.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/switch/switch.module.css rename to presentation/src/modules/common/components/ui/switch/switch.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/switch/switch.stories.tsx b/presentation/src/modules/common/components/ui/switch/switch.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/switch/switch.stories.tsx rename to presentation/src/modules/common/components/ui/switch/switch.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/table/index.ts b/presentation/src/modules/common/components/ui/table/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/table/index.ts rename to presentation/src/modules/common/components/ui/table/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/table/table.component.tsx b/presentation/src/modules/common/components/ui/table/table.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/table/table.component.tsx rename to presentation/src/modules/common/components/ui/table/table.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/table/table.module.css b/presentation/src/modules/common/components/ui/table/table.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/table/table.module.css rename to presentation/src/modules/common/components/ui/table/table.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/table/table.stories.tsx b/presentation/src/modules/common/components/ui/table/table.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/table/table.stories.tsx rename to presentation/src/modules/common/components/ui/table/table.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/tabs/index.ts b/presentation/src/modules/common/components/ui/tabs/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/tabs/index.ts rename to presentation/src/modules/common/components/ui/tabs/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/tabs/tabs.component.tsx b/presentation/src/modules/common/components/ui/tabs/tabs.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/tabs/tabs.component.tsx rename to presentation/src/modules/common/components/ui/tabs/tabs.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/tabs/tabs.module.css b/presentation/src/modules/common/components/ui/tabs/tabs.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/tabs/tabs.module.css rename to presentation/src/modules/common/components/ui/tabs/tabs.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/tabs/tabs.stories.tsx b/presentation/src/modules/common/components/ui/tabs/tabs.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/tabs/tabs.stories.tsx rename to presentation/src/modules/common/components/ui/tabs/tabs.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/textarea/index.ts b/presentation/src/modules/common/components/ui/textarea/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/textarea/index.ts rename to presentation/src/modules/common/components/ui/textarea/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/textarea/textarea.component.tsx b/presentation/src/modules/common/components/ui/textarea/textarea.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/textarea/textarea.component.tsx rename to presentation/src/modules/common/components/ui/textarea/textarea.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/textarea/textarea.module.css b/presentation/src/modules/common/components/ui/textarea/textarea.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/textarea/textarea.module.css rename to presentation/src/modules/common/components/ui/textarea/textarea.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/textarea/textarea.stories.tsx b/presentation/src/modules/common/components/ui/textarea/textarea.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/textarea/textarea.stories.tsx rename to presentation/src/modules/common/components/ui/textarea/textarea.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/toast/index.ts b/presentation/src/modules/common/components/ui/toast/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/toast/index.ts rename to presentation/src/modules/common/components/ui/toast/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/toast/toast.component.tsx b/presentation/src/modules/common/components/ui/toast/toast.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/toast/toast.component.tsx rename to presentation/src/modules/common/components/ui/toast/toast.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/toast/toast.module.css b/presentation/src/modules/common/components/ui/toast/toast.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/toast/toast.module.css rename to presentation/src/modules/common/components/ui/toast/toast.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/toast/toast.stories.tsx b/presentation/src/modules/common/components/ui/toast/toast.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/toast/toast.stories.tsx rename to presentation/src/modules/common/components/ui/toast/toast.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/toggle/index.ts b/presentation/src/modules/common/components/ui/toggle/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/toggle/index.ts rename to presentation/src/modules/common/components/ui/toggle/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/toggle/toggle.component.tsx b/presentation/src/modules/common/components/ui/toggle/toggle.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/toggle/toggle.component.tsx rename to presentation/src/modules/common/components/ui/toggle/toggle.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/toggle/toggle.module.css b/presentation/src/modules/common/components/ui/toggle/toggle.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/toggle/toggle.module.css rename to presentation/src/modules/common/components/ui/toggle/toggle.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/toggle/toggle.stories.tsx b/presentation/src/modules/common/components/ui/toggle/toggle.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/toggle/toggle.stories.tsx rename to presentation/src/modules/common/components/ui/toggle/toggle.stories.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/tooltip/index.ts b/presentation/src/modules/common/components/ui/tooltip/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/tooltip/index.ts rename to presentation/src/modules/common/components/ui/tooltip/index.ts diff --git a/examples/data-fetching/src/modules/common/components/ui/tooltip/tooltip.component.tsx b/presentation/src/modules/common/components/ui/tooltip/tooltip.component.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/tooltip/tooltip.component.tsx rename to presentation/src/modules/common/components/ui/tooltip/tooltip.component.tsx diff --git a/examples/data-fetching/src/modules/common/components/ui/tooltip/tooltip.module.css b/presentation/src/modules/common/components/ui/tooltip/tooltip.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/tooltip/tooltip.module.css rename to presentation/src/modules/common/components/ui/tooltip/tooltip.module.css diff --git a/examples/data-fetching/src/modules/common/components/ui/tooltip/tooltip.stories.tsx b/presentation/src/modules/common/components/ui/tooltip/tooltip.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/components/ui/tooltip/tooltip.stories.tsx rename to presentation/src/modules/common/components/ui/tooltip/tooltip.stories.tsx diff --git a/examples/data-fetching/src/modules/common/layouts/application/application.layout.tsx b/presentation/src/modules/common/layouts/application/application.layout.tsx similarity index 76% rename from examples/data-fetching/src/modules/common/layouts/application/application.layout.tsx rename to presentation/src/modules/common/layouts/application/application.layout.tsx index 45e6520..526f3ac 100644 --- a/examples/data-fetching/src/modules/common/layouts/application/application.layout.tsx +++ b/presentation/src/modules/common/layouts/application/application.layout.tsx @@ -9,11 +9,7 @@ export type ApplicationLayoutProps = PropsWithChildren<{}> export function ApplicationLayout(props: ApplicationLayoutProps) { return (
- - - {props.children} - - + {props.children}
) } diff --git a/examples/data-fetching/src/modules/common/layouts/application/application.module.css b/presentation/src/modules/common/layouts/application/application.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/layouts/application/application.module.css rename to presentation/src/modules/common/layouts/application/application.module.css diff --git a/examples/data-fetching/src/modules/common/layouts/application/application.stories.tsx b/presentation/src/modules/common/layouts/application/application.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/layouts/application/application.stories.tsx rename to presentation/src/modules/common/layouts/application/application.stories.tsx diff --git a/examples/data-fetching/src/modules/common/layouts/application/index.ts b/presentation/src/modules/common/layouts/application/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/layouts/application/index.ts rename to presentation/src/modules/common/layouts/application/index.ts diff --git a/examples/data-fetching/src/modules/common/layouts/root/index.ts b/presentation/src/modules/common/layouts/root/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/layouts/root/index.ts rename to presentation/src/modules/common/layouts/root/index.ts diff --git a/examples/data-fetching/src/modules/common/layouts/root/root.layout.tsx b/presentation/src/modules/common/layouts/root/root.layout.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/layouts/root/root.layout.tsx rename to presentation/src/modules/common/layouts/root/root.layout.tsx diff --git a/examples/data-fetching/src/modules/common/layouts/root/root.module.css b/presentation/src/modules/common/layouts/root/root.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/layouts/root/root.module.css rename to presentation/src/modules/common/layouts/root/root.module.css diff --git a/examples/data-fetching/src/modules/common/layouts/root/root.stories.tsx b/presentation/src/modules/common/layouts/root/root.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/layouts/root/root.stories.tsx rename to presentation/src/modules/common/layouts/root/root.stories.tsx diff --git a/examples/data-fetching/src/modules/common/providers/api-context/api-context.default.tsx b/presentation/src/modules/common/providers/api-context/api-context.default.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/providers/api-context/api-context.default.tsx rename to presentation/src/modules/common/providers/api-context/api-context.default.tsx diff --git a/examples/data-fetching/src/modules/common/providers/api-context/api-context.provider.tsx b/presentation/src/modules/common/providers/api-context/api-context.provider.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/providers/api-context/api-context.provider.tsx rename to presentation/src/modules/common/providers/api-context/api-context.provider.tsx diff --git a/examples/data-fetching/src/modules/common/providers/api-context/axios.instance.ts b/presentation/src/modules/common/providers/api-context/axios.instance.ts similarity index 100% rename from examples/data-fetching/src/modules/common/providers/api-context/axios.instance.ts rename to presentation/src/modules/common/providers/api-context/axios.instance.ts diff --git a/examples/data-fetching/src/modules/common/providers/api-context/index.ts b/presentation/src/modules/common/providers/api-context/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/providers/api-context/index.ts rename to presentation/src/modules/common/providers/api-context/index.ts diff --git a/examples/data-fetching/src/modules/common/providers/app/app.provider.tsx b/presentation/src/modules/common/providers/app/app.provider.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/providers/app/app.provider.tsx rename to presentation/src/modules/common/providers/app/app.provider.tsx diff --git a/examples/data-fetching/src/modules/common/providers/app/index.ts b/presentation/src/modules/common/providers/app/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/providers/app/index.ts rename to presentation/src/modules/common/providers/app/index.ts diff --git a/examples/data-fetching/src/modules/common/providers/query/index.ts b/presentation/src/modules/common/providers/query/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/providers/query/index.ts rename to presentation/src/modules/common/providers/query/index.ts diff --git a/examples/data-fetching/src/modules/common/providers/query/query.provider.tsx b/presentation/src/modules/common/providers/query/query.provider.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/providers/query/query.provider.tsx rename to presentation/src/modules/common/providers/query/query.provider.tsx diff --git a/examples/data-fetching/src/modules/common/views/main/app-main.module.css b/presentation/src/modules/common/views/main/app-main.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/views/main/app-main.module.css rename to presentation/src/modules/common/views/main/app-main.module.css diff --git a/examples/data-fetching/src/modules/common/views/main/app-main.stories.tsx b/presentation/src/modules/common/views/main/app-main.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/views/main/app-main.stories.tsx rename to presentation/src/modules/common/views/main/app-main.stories.tsx diff --git a/examples/data-fetching/src/modules/common/views/main/app-main.view.tsx b/presentation/src/modules/common/views/main/app-main.view.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/views/main/app-main.view.tsx rename to presentation/src/modules/common/views/main/app-main.view.tsx diff --git a/examples/data-fetching/src/modules/common/views/main/index.ts b/presentation/src/modules/common/views/main/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/views/main/index.ts rename to presentation/src/modules/common/views/main/index.ts diff --git a/examples/data-fetching/src/modules/common/widgets/footer/footer.module.css b/presentation/src/modules/common/widgets/footer/footer.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/widgets/footer/footer.module.css rename to presentation/src/modules/common/widgets/footer/footer.module.css diff --git a/examples/data-fetching/src/modules/common/widgets/footer/footer.stories.tsx b/presentation/src/modules/common/widgets/footer/footer.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/widgets/footer/footer.stories.tsx rename to presentation/src/modules/common/widgets/footer/footer.stories.tsx diff --git a/examples/data-fetching/src/modules/common/widgets/footer/footer.widget.tsx b/presentation/src/modules/common/widgets/footer/footer.widget.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/widgets/footer/footer.widget.tsx rename to presentation/src/modules/common/widgets/footer/footer.widget.tsx diff --git a/examples/data-fetching/src/modules/common/widgets/footer/index.ts b/presentation/src/modules/common/widgets/footer/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/widgets/footer/index.ts rename to presentation/src/modules/common/widgets/footer/index.ts diff --git a/examples/data-fetching/src/modules/common/widgets/header/header.module.css b/presentation/src/modules/common/widgets/header/header.module.css similarity index 100% rename from examples/data-fetching/src/modules/common/widgets/header/header.module.css rename to presentation/src/modules/common/widgets/header/header.module.css diff --git a/examples/data-fetching/src/modules/common/widgets/header/header.stories.tsx b/presentation/src/modules/common/widgets/header/header.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/widgets/header/header.stories.tsx rename to presentation/src/modules/common/widgets/header/header.stories.tsx diff --git a/examples/data-fetching/src/modules/common/widgets/header/header.widget.tsx b/presentation/src/modules/common/widgets/header/header.widget.tsx similarity index 100% rename from examples/data-fetching/src/modules/common/widgets/header/header.widget.tsx rename to presentation/src/modules/common/widgets/header/header.widget.tsx diff --git a/examples/data-fetching/src/modules/common/widgets/header/index.ts b/presentation/src/modules/common/widgets/header/index.ts similarity index 100% rename from examples/data-fetching/src/modules/common/widgets/header/index.ts rename to presentation/src/modules/common/widgets/header/index.ts diff --git a/examples/data-fetching/src/modules/hookey/index.ts b/presentation/src/modules/hookey/index.ts similarity index 100% rename from examples/data-fetching/src/modules/hookey/index.ts rename to presentation/src/modules/hookey/index.ts diff --git a/examples/data-fetching/src/modules/users/views/main/index.ts b/presentation/src/modules/users/views/main/index.ts similarity index 100% rename from examples/data-fetching/src/modules/users/views/main/index.ts rename to presentation/src/modules/users/views/main/index.ts diff --git a/examples/data-fetching/src/modules/users/views/main/users-main.module.css b/presentation/src/modules/users/views/main/users-main.module.css similarity index 100% rename from examples/data-fetching/src/modules/users/views/main/users-main.module.css rename to presentation/src/modules/users/views/main/users-main.module.css diff --git a/examples/data-fetching/src/modules/users/views/main/users-main.stories.tsx b/presentation/src/modules/users/views/main/users-main.stories.tsx similarity index 100% rename from examples/data-fetching/src/modules/users/views/main/users-main.stories.tsx rename to presentation/src/modules/users/views/main/users-main.stories.tsx diff --git a/examples/data-fetching/src/modules/users/views/main/users-main.view.tsx b/presentation/src/modules/users/views/main/users-main.view.tsx similarity index 100% rename from examples/data-fetching/src/modules/users/views/main/users-main.view.tsx rename to presentation/src/modules/users/views/main/users-main.view.tsx diff --git a/presentation/src/styles/main.css b/presentation/src/styles/main.css new file mode 100644 index 0000000..4c32264 --- /dev/null +++ b/presentation/src/styles/main.css @@ -0,0 +1,94 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@100;200;300;400;500;600;700;800;900&display=swap'); + +.data-fetching { + display: grid; + padding: 20rem; + gap: 8rem; + background-color: #fafafa; + grid-template-columns: 1fr 1fr; + + > * { + background-color: #e9ecef; + border-radius: 1.5rem; + padding: 2rem; + min-height: 15rem; + + display: flex; + flex-direction: column; + justify-content: space-between; + + > h3 { + text-align: center; + font-size: 2rem; + font-weight: 200; + } + + > div { + > span { + font-weight: 200; + &:not(:last-child)::after { + content: ', '; + } + } + &:nth-of-type(2) { + text-align: center; + } + > button { + background-color: #8e9aaf; + color: white; + border-radius: 0.5rem; + padding: 0.5rem; + + transition: all 0.1s; + + &:hover { + transform: translateY(-4px) scale(1.02); + box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; + } + } + } + } +} + +.main-presentation { + > button { + position: absolute; + bottom: 2rem; + left: 50%; + transform: translateX(-50%); + + background-color: #8e9aaf; + color: white; + border-radius: 0.5rem; + padding: 0.5rem 1rem; + font-weight: 200; + font-size: 1.5rem; + + transition: all 0.1s; + + &:hover { + transform: translateX(-50%) translateY(-4px) scale(1.02); + box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; + } + } + > div { + display: flex; + gap: 3rem; + flex-direction: column; + justify-content: space-between; + + padding: 10rem 30rem; + + > h3 { + text-align: center; + font-size: 2.8rem; + font-weight: 100; + } + } + &-comparation { + } +} diff --git a/examples/data-fetching/tailwind.config.js b/presentation/tailwind.config.js similarity index 100% rename from examples/data-fetching/tailwind.config.js rename to presentation/tailwind.config.js diff --git a/examples/data-fetching/tsconfig.json b/presentation/tsconfig.json similarity index 100% rename from examples/data-fetching/tsconfig.json rename to presentation/tsconfig.json diff --git a/presentation_brainstorm.md b/presentation_brainstorm.md index 202e641..cd0a8e6 100644 --- a/presentation_brainstorm.md +++ b/presentation_brainstorm.md @@ -1,6 +1,8 @@ ## Server components [Nextjs docs](https://nextjs.org/docs/app/building-your-application/rendering/server-components) ## Presentation flow + +0. Comparation between NextJS and React 1. Introduction without strategies. 2. Benefits. 3. Actual process and why its important to know it. @@ -50,24 +52,32 @@ The rendering works is split into chunks: - Streaming: work is split into chunks and streamed as they become ready so the load is progressive. ### [Fetching data from the server](https://nextjs.org/docs/app/building-your-application/data-fetching/fetching-caching-and-revalidating#revalidating-data) -To fetch data from the server you only need an `async` component. The data is automatically cached by Next to avoid constant calls to the data source. This means you can omit the cache configuration in your fetch call: + +To fetch data from the server you only need an `async` component. The data is automatically cached by Next to avoid constant calls to the data source. This means you can omit the cache configuration in your fetch call: + ```js -// not needed -fetch('https:...', { cache: 'force-cache' }) +// not needed +fetch("https:...", { cache: "force-cache" }); ``` + But you can also revalidate on every request: + ```js -fetch('https://...', { cache: 'no-store' }) +fetch("https://...", { cache: "no-store" }); ``` #### Revalidation Revalidation is not directly managed but you can force it with: + - A timer: + ```js -fetch('https://...', { next: { revalidate: 3600 } }) +fetch("https://...", { next: { revalidate: 3600 } }); ``` + - Manually: + ```js // page.tsx file export default async function Page() { @@ -79,7 +89,7 @@ export default async function Page() { // action.ts file 'use server' // cause of the .ts import { revalidateTag } from 'next/cache' - + export default async function action() { revalidateTag('collection') } @@ -89,3 +99,8 @@ export default async function action() { ## Serverside fetching [Different types](https://wallis.dev/blog/nextjs-serverside-data-fetching) + +### GerServerSideProps (async function) + +- Automatic cache +- Revalidated either by timeout or forced with tags