@linguanahq/cli 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +43 -0
- package/dist/index.js +1543 -0
- package/dist/templates/blog/react/.env.example +15 -0
- package/dist/templates/blog/react/ASSETS.md +1 -0
- package/dist/templates/blog/react/DEPLOY.md +23 -0
- package/dist/templates/blog/react/LICENSE +21 -0
- package/dist/templates/blog/react/README.md +36 -0
- package/dist/templates/blog/react/_gitignore +11 -0
- package/dist/templates/blog/react/index.html +2 -0
- package/dist/templates/blog/react/linguana.json +10 -0
- package/dist/templates/blog/react/package.json +34 -0
- package/dist/templates/blog/react/public/assets/scene-1.svg +1 -0
- package/dist/templates/blog/react/public/assets/scene-2.svg +1 -0
- package/dist/templates/blog/react/public/assets/scene-3.svg +1 -0
- package/dist/templates/blog/react/public/assets/scene-4.svg +1 -0
- package/dist/templates/blog/react/public/assets/scene-5.svg +1 -0
- package/dist/templates/blog/react/public/assets/scene-6.svg +1 -0
- package/dist/templates/blog/react/src/App.tsx +465 -0
- package/dist/templates/blog/react/src/Copy.tsx +322 -0
- package/dist/templates/blog/react/src/demo-messages.ts +221 -0
- package/dist/templates/blog/react/src/i18n.ts +62 -0
- package/dist/templates/blog/react/src/main.tsx +11 -0
- package/dist/templates/blog/react/src/messages.ts +71 -0
- package/dist/templates/blog/react/src/model.ts +128 -0
- package/dist/templates/blog/react/src/styles.css +1159 -0
- package/dist/templates/blog/react/src/vite-env.d.ts +1 -0
- package/dist/templates/blog/react/tsconfig.json +23 -0
- package/dist/templates/blog/react/vite.config.ts +36 -0
- package/dist/templates/blog/react/wrangler.jsonc +8 -0
- package/dist/templates/blog/solidjs/.env.example +15 -0
- package/dist/templates/blog/solidjs/ASSETS.md +1 -0
- package/dist/templates/blog/solidjs/DEPLOY.md +23 -0
- package/dist/templates/blog/solidjs/LICENSE +21 -0
- package/dist/templates/blog/solidjs/README.md +36 -0
- package/dist/templates/blog/solidjs/_gitignore +11 -0
- package/dist/templates/blog/solidjs/index.html +2 -0
- package/dist/templates/blog/solidjs/linguana.json +10 -0
- package/dist/templates/blog/solidjs/package.json +31 -0
- package/dist/templates/blog/solidjs/public/assets/scene-1.svg +1 -0
- package/dist/templates/blog/solidjs/public/assets/scene-2.svg +1 -0
- package/dist/templates/blog/solidjs/public/assets/scene-3.svg +1 -0
- package/dist/templates/blog/solidjs/public/assets/scene-4.svg +1 -0
- package/dist/templates/blog/solidjs/public/assets/scene-5.svg +1 -0
- package/dist/templates/blog/solidjs/public/assets/scene-6.svg +1 -0
- package/dist/templates/blog/solidjs/src/App.tsx +457 -0
- package/dist/templates/blog/solidjs/src/Copy.tsx +322 -0
- package/dist/templates/blog/solidjs/src/demo-messages.ts +221 -0
- package/dist/templates/blog/solidjs/src/i18n.ts +62 -0
- package/dist/templates/blog/solidjs/src/main.tsx +14 -0
- package/dist/templates/blog/solidjs/src/messages.ts +71 -0
- package/dist/templates/blog/solidjs/src/model.ts +128 -0
- package/dist/templates/blog/solidjs/src/styles.css +1159 -0
- package/dist/templates/blog/solidjs/src/vite-env.d.ts +1 -0
- package/dist/templates/blog/solidjs/tsconfig.json +24 -0
- package/dist/templates/blog/solidjs/vite.config.ts +36 -0
- package/dist/templates/blog/solidjs/wrangler.jsonc +8 -0
- package/dist/templates/blog/svelte/.env.example +15 -0
- package/dist/templates/blog/svelte/ASSETS.md +1 -0
- package/dist/templates/blog/svelte/DEPLOY.md +23 -0
- package/dist/templates/blog/svelte/LICENSE +21 -0
- package/dist/templates/blog/svelte/README.md +36 -0
- package/dist/templates/blog/svelte/_gitignore +11 -0
- package/dist/templates/blog/svelte/index.html +2 -0
- package/dist/templates/blog/svelte/linguana.json +10 -0
- package/dist/templates/blog/svelte/package.json +32 -0
- package/dist/templates/blog/svelte/public/assets/scene-1.svg +1 -0
- package/dist/templates/blog/svelte/public/assets/scene-2.svg +1 -0
- package/dist/templates/blog/svelte/public/assets/scene-3.svg +1 -0
- package/dist/templates/blog/svelte/public/assets/scene-4.svg +1 -0
- package/dist/templates/blog/svelte/public/assets/scene-5.svg +1 -0
- package/dist/templates/blog/svelte/public/assets/scene-6.svg +1 -0
- package/dist/templates/blog/svelte/src/App.svelte +196 -0
- package/dist/templates/blog/svelte/src/Copy.svelte +60 -0
- package/dist/templates/blog/svelte/src/Root.svelte +11 -0
- package/dist/templates/blog/svelte/src/demo-messages.ts +221 -0
- package/dist/templates/blog/svelte/src/i18n.ts +62 -0
- package/dist/templates/blog/svelte/src/main.ts +5 -0
- package/dist/templates/blog/svelte/src/messages.ts +71 -0
- package/dist/templates/blog/svelte/src/model.ts +128 -0
- package/dist/templates/blog/svelte/src/styles.css +1159 -0
- package/dist/templates/blog/svelte/src/vite-env.d.ts +1 -0
- package/dist/templates/blog/svelte/svelte.config.js +2 -0
- package/dist/templates/blog/svelte/tsconfig.json +23 -0
- package/dist/templates/blog/svelte/vite.config.ts +36 -0
- package/dist/templates/blog/svelte/wrangler.jsonc +8 -0
- package/dist/templates/blog/tanstack-start/.env.example +15 -0
- package/dist/templates/blog/tanstack-start/ASSETS.md +1 -0
- package/dist/templates/blog/tanstack-start/DEPLOY.md +23 -0
- package/dist/templates/blog/tanstack-start/LICENSE +21 -0
- package/dist/templates/blog/tanstack-start/README.md +36 -0
- package/dist/templates/blog/tanstack-start/_gitignore +11 -0
- package/dist/templates/blog/tanstack-start/linguana.json +10 -0
- package/dist/templates/blog/tanstack-start/nitro.config.ts +2 -0
- package/dist/templates/blog/tanstack-start/package.json +42 -0
- package/dist/templates/blog/tanstack-start/public/assets/scene-1.svg +1 -0
- package/dist/templates/blog/tanstack-start/public/assets/scene-2.svg +1 -0
- package/dist/templates/blog/tanstack-start/public/assets/scene-3.svg +1 -0
- package/dist/templates/blog/tanstack-start/public/assets/scene-4.svg +1 -0
- package/dist/templates/blog/tanstack-start/public/assets/scene-5.svg +1 -0
- package/dist/templates/blog/tanstack-start/public/assets/scene-6.svg +1 -0
- package/dist/templates/blog/tanstack-start/src/App.tsx +450 -0
- package/dist/templates/blog/tanstack-start/src/Copy.tsx +322 -0
- package/dist/templates/blog/tanstack-start/src/demo-messages.ts +221 -0
- package/dist/templates/blog/tanstack-start/src/i18n.ts +62 -0
- package/dist/templates/blog/tanstack-start/src/locale-server.ts +54 -0
- package/dist/templates/blog/tanstack-start/src/messages.ts +71 -0
- package/dist/templates/blog/tanstack-start/src/model.ts +128 -0
- package/dist/templates/blog/tanstack-start/src/router.tsx +10 -0
- package/dist/templates/blog/tanstack-start/src/routes/$.tsx +7 -0
- package/dist/templates/blog/tanstack-start/src/routes/__root.tsx +50 -0
- package/dist/templates/blog/tanstack-start/src/routes/index.tsx +5 -0
- package/dist/templates/blog/tanstack-start/src/styles.css +1159 -0
- package/dist/templates/blog/tanstack-start/src/vite-env.d.ts +1 -0
- package/dist/templates/blog/tanstack-start/tsconfig.json +23 -0
- package/dist/templates/blog/tanstack-start/vite.config.ts +50 -0
- package/dist/templates/blog/tanstack-start/wrangler.jsonc +12 -0
- package/dist/templates/blog/vue/.env.example +15 -0
- package/dist/templates/blog/vue/ASSETS.md +1 -0
- package/dist/templates/blog/vue/DEPLOY.md +23 -0
- package/dist/templates/blog/vue/LICENSE +21 -0
- package/dist/templates/blog/vue/README.md +36 -0
- package/dist/templates/blog/vue/_gitignore +11 -0
- package/dist/templates/blog/vue/index.html +2 -0
- package/dist/templates/blog/vue/linguana.json +10 -0
- package/dist/templates/blog/vue/package.json +34 -0
- package/dist/templates/blog/vue/public/assets/scene-1.svg +1 -0
- package/dist/templates/blog/vue/public/assets/scene-2.svg +1 -0
- package/dist/templates/blog/vue/public/assets/scene-3.svg +1 -0
- package/dist/templates/blog/vue/public/assets/scene-4.svg +1 -0
- package/dist/templates/blog/vue/public/assets/scene-5.svg +1 -0
- package/dist/templates/blog/vue/public/assets/scene-6.svg +1 -0
- package/dist/templates/blog/vue/src/App.vue +188 -0
- package/dist/templates/blog/vue/src/Copy.vue +59 -0
- package/dist/templates/blog/vue/src/demo-messages.ts +221 -0
- package/dist/templates/blog/vue/src/i18n.ts +62 -0
- package/dist/templates/blog/vue/src/main.ts +7 -0
- package/dist/templates/blog/vue/src/messages.ts +71 -0
- package/dist/templates/blog/vue/src/model.ts +128 -0
- package/dist/templates/blog/vue/src/styles.css +1159 -0
- package/dist/templates/blog/vue/src/vite-env.d.ts +1 -0
- package/dist/templates/blog/vue/tsconfig.json +23 -0
- package/dist/templates/blog/vue/vite.config.ts +36 -0
- package/dist/templates/blog/vue/wrangler.jsonc +8 -0
- package/dist/templates/saas/react/.env.example +15 -0
- package/dist/templates/saas/react/ASSETS.md +1 -0
- package/dist/templates/saas/react/DEPLOY.md +23 -0
- package/dist/templates/saas/react/LICENSE +21 -0
- package/dist/templates/saas/react/README.md +36 -0
- package/dist/templates/saas/react/_gitignore +11 -0
- package/dist/templates/saas/react/index.html +2 -0
- package/dist/templates/saas/react/linguana.json +10 -0
- package/dist/templates/saas/react/package.json +34 -0
- package/dist/templates/saas/react/src/App.tsx +631 -0
- package/dist/templates/saas/react/src/Copy.tsx +380 -0
- package/dist/templates/saas/react/src/demo-messages.ts +228 -0
- package/dist/templates/saas/react/src/i18n.ts +62 -0
- package/dist/templates/saas/react/src/main.tsx +11 -0
- package/dist/templates/saas/react/src/messages.ts +77 -0
- package/dist/templates/saas/react/src/model.ts +73 -0
- package/dist/templates/saas/react/src/styles.css +1159 -0
- package/dist/templates/saas/react/src/vite-env.d.ts +1 -0
- package/dist/templates/saas/react/tsconfig.json +23 -0
- package/dist/templates/saas/react/vite.config.ts +36 -0
- package/dist/templates/saas/react/wrangler.jsonc +8 -0
- package/dist/templates/saas/solidjs/.env.example +15 -0
- package/dist/templates/saas/solidjs/ASSETS.md +1 -0
- package/dist/templates/saas/solidjs/DEPLOY.md +23 -0
- package/dist/templates/saas/solidjs/LICENSE +21 -0
- package/dist/templates/saas/solidjs/README.md +36 -0
- package/dist/templates/saas/solidjs/_gitignore +11 -0
- package/dist/templates/saas/solidjs/index.html +2 -0
- package/dist/templates/saas/solidjs/linguana.json +10 -0
- package/dist/templates/saas/solidjs/package.json +31 -0
- package/dist/templates/saas/solidjs/src/App.tsx +629 -0
- package/dist/templates/saas/solidjs/src/Copy.tsx +380 -0
- package/dist/templates/saas/solidjs/src/demo-messages.ts +228 -0
- package/dist/templates/saas/solidjs/src/i18n.ts +62 -0
- package/dist/templates/saas/solidjs/src/main.tsx +14 -0
- package/dist/templates/saas/solidjs/src/messages.ts +77 -0
- package/dist/templates/saas/solidjs/src/model.ts +73 -0
- package/dist/templates/saas/solidjs/src/styles.css +1159 -0
- package/dist/templates/saas/solidjs/src/vite-env.d.ts +1 -0
- package/dist/templates/saas/solidjs/tsconfig.json +24 -0
- package/dist/templates/saas/solidjs/vite.config.ts +36 -0
- package/dist/templates/saas/solidjs/wrangler.jsonc +8 -0
- package/dist/templates/saas/svelte/.env.example +15 -0
- package/dist/templates/saas/svelte/ASSETS.md +1 -0
- package/dist/templates/saas/svelte/DEPLOY.md +23 -0
- package/dist/templates/saas/svelte/LICENSE +21 -0
- package/dist/templates/saas/svelte/README.md +36 -0
- package/dist/templates/saas/svelte/_gitignore +11 -0
- package/dist/templates/saas/svelte/index.html +2 -0
- package/dist/templates/saas/svelte/linguana.json +10 -0
- package/dist/templates/saas/svelte/package.json +32 -0
- package/dist/templates/saas/svelte/src/App.svelte +252 -0
- package/dist/templates/saas/svelte/src/Copy.svelte +74 -0
- package/dist/templates/saas/svelte/src/Root.svelte +11 -0
- package/dist/templates/saas/svelte/src/demo-messages.ts +228 -0
- package/dist/templates/saas/svelte/src/i18n.ts +62 -0
- package/dist/templates/saas/svelte/src/main.ts +5 -0
- package/dist/templates/saas/svelte/src/messages.ts +77 -0
- package/dist/templates/saas/svelte/src/model.ts +73 -0
- package/dist/templates/saas/svelte/src/styles.css +1159 -0
- package/dist/templates/saas/svelte/src/vite-env.d.ts +1 -0
- package/dist/templates/saas/svelte/svelte.config.js +2 -0
- package/dist/templates/saas/svelte/tsconfig.json +23 -0
- package/dist/templates/saas/svelte/vite.config.ts +36 -0
- package/dist/templates/saas/svelte/wrangler.jsonc +8 -0
- package/dist/templates/saas/tanstack-start/.env.example +15 -0
- package/dist/templates/saas/tanstack-start/ASSETS.md +1 -0
- package/dist/templates/saas/tanstack-start/DEPLOY.md +23 -0
- package/dist/templates/saas/tanstack-start/LICENSE +21 -0
- package/dist/templates/saas/tanstack-start/README.md +36 -0
- package/dist/templates/saas/tanstack-start/_gitignore +11 -0
- package/dist/templates/saas/tanstack-start/linguana.json +10 -0
- package/dist/templates/saas/tanstack-start/nitro.config.ts +2 -0
- package/dist/templates/saas/tanstack-start/package.json +42 -0
- package/dist/templates/saas/tanstack-start/src/App.tsx +616 -0
- package/dist/templates/saas/tanstack-start/src/Copy.tsx +380 -0
- package/dist/templates/saas/tanstack-start/src/demo-messages.ts +228 -0
- package/dist/templates/saas/tanstack-start/src/i18n.ts +62 -0
- package/dist/templates/saas/tanstack-start/src/locale-server.ts +54 -0
- package/dist/templates/saas/tanstack-start/src/messages.ts +77 -0
- package/dist/templates/saas/tanstack-start/src/model.ts +73 -0
- package/dist/templates/saas/tanstack-start/src/router.tsx +10 -0
- package/dist/templates/saas/tanstack-start/src/routes/$.tsx +7 -0
- package/dist/templates/saas/tanstack-start/src/routes/__root.tsx +50 -0
- package/dist/templates/saas/tanstack-start/src/routes/index.tsx +5 -0
- package/dist/templates/saas/tanstack-start/src/styles.css +1159 -0
- package/dist/templates/saas/tanstack-start/src/vite-env.d.ts +1 -0
- package/dist/templates/saas/tanstack-start/tsconfig.json +23 -0
- package/dist/templates/saas/tanstack-start/vite.config.ts +50 -0
- package/dist/templates/saas/tanstack-start/wrangler.jsonc +12 -0
- package/dist/templates/saas/vue/.env.example +15 -0
- package/dist/templates/saas/vue/ASSETS.md +1 -0
- package/dist/templates/saas/vue/DEPLOY.md +23 -0
- package/dist/templates/saas/vue/LICENSE +21 -0
- package/dist/templates/saas/vue/README.md +36 -0
- package/dist/templates/saas/vue/_gitignore +11 -0
- package/dist/templates/saas/vue/index.html +2 -0
- package/dist/templates/saas/vue/linguana.json +10 -0
- package/dist/templates/saas/vue/package.json +34 -0
- package/dist/templates/saas/vue/src/App.vue +244 -0
- package/dist/templates/saas/vue/src/Copy.vue +73 -0
- package/dist/templates/saas/vue/src/demo-messages.ts +228 -0
- package/dist/templates/saas/vue/src/i18n.ts +62 -0
- package/dist/templates/saas/vue/src/main.ts +7 -0
- package/dist/templates/saas/vue/src/messages.ts +77 -0
- package/dist/templates/saas/vue/src/model.ts +73 -0
- package/dist/templates/saas/vue/src/styles.css +1159 -0
- package/dist/templates/saas/vue/src/vite-env.d.ts +1 -0
- package/dist/templates/saas/vue/tsconfig.json +23 -0
- package/dist/templates/saas/vue/vite.config.ts +36 -0
- package/dist/templates/saas/vue/wrangler.jsonc +8 -0
- package/dist/templates/storefront/react/.env.example +15 -0
- package/dist/templates/storefront/react/ASSETS.md +1 -0
- package/dist/templates/storefront/react/DEPLOY.md +23 -0
- package/dist/templates/storefront/react/LICENSE +21 -0
- package/dist/templates/storefront/react/README.md +36 -0
- package/dist/templates/storefront/react/_gitignore +11 -0
- package/dist/templates/storefront/react/index.html +2 -0
- package/dist/templates/storefront/react/linguana.json +10 -0
- package/dist/templates/storefront/react/package.json +34 -0
- package/dist/templates/storefront/react/public/assets/collection.svg +1 -0
- package/dist/templates/storefront/react/public/assets/product-1.svg +1 -0
- package/dist/templates/storefront/react/public/assets/product-2.svg +1 -0
- package/dist/templates/storefront/react/public/assets/product-3.svg +1 -0
- package/dist/templates/storefront/react/public/assets/product-4.svg +1 -0
- package/dist/templates/storefront/react/public/assets/product-5.svg +1 -0
- package/dist/templates/storefront/react/public/assets/product-6.svg +1 -0
- package/dist/templates/storefront/react/public/assets/product-7.svg +1 -0
- package/dist/templates/storefront/react/public/assets/product-8.svg +1 -0
- package/dist/templates/storefront/react/src/App.tsx +616 -0
- package/dist/templates/storefront/react/src/Copy.tsx +304 -0
- package/dist/templates/storefront/react/src/demo-messages.ts +205 -0
- package/dist/templates/storefront/react/src/i18n.ts +64 -0
- package/dist/templates/storefront/react/src/main.tsx +11 -0
- package/dist/templates/storefront/react/src/messages.ts +71 -0
- package/dist/templates/storefront/react/src/model.ts +146 -0
- package/dist/templates/storefront/react/src/styles.css +1159 -0
- package/dist/templates/storefront/react/src/vite-env.d.ts +1 -0
- package/dist/templates/storefront/react/tsconfig.json +23 -0
- package/dist/templates/storefront/react/vite.config.ts +36 -0
- package/dist/templates/storefront/react/wrangler.jsonc +8 -0
- package/dist/templates/storefront/solidjs/.env.example +15 -0
- package/dist/templates/storefront/solidjs/ASSETS.md +1 -0
- package/dist/templates/storefront/solidjs/DEPLOY.md +23 -0
- package/dist/templates/storefront/solidjs/LICENSE +21 -0
- package/dist/templates/storefront/solidjs/README.md +36 -0
- package/dist/templates/storefront/solidjs/_gitignore +11 -0
- package/dist/templates/storefront/solidjs/index.html +2 -0
- package/dist/templates/storefront/solidjs/linguana.json +10 -0
- package/dist/templates/storefront/solidjs/package.json +31 -0
- package/dist/templates/storefront/solidjs/public/assets/collection.svg +1 -0
- package/dist/templates/storefront/solidjs/public/assets/product-1.svg +1 -0
- package/dist/templates/storefront/solidjs/public/assets/product-2.svg +1 -0
- package/dist/templates/storefront/solidjs/public/assets/product-3.svg +1 -0
- package/dist/templates/storefront/solidjs/public/assets/product-4.svg +1 -0
- package/dist/templates/storefront/solidjs/public/assets/product-5.svg +1 -0
- package/dist/templates/storefront/solidjs/public/assets/product-6.svg +1 -0
- package/dist/templates/storefront/solidjs/public/assets/product-7.svg +1 -0
- package/dist/templates/storefront/solidjs/public/assets/product-8.svg +1 -0
- package/dist/templates/storefront/solidjs/src/App.tsx +612 -0
- package/dist/templates/storefront/solidjs/src/Copy.tsx +304 -0
- package/dist/templates/storefront/solidjs/src/demo-messages.ts +205 -0
- package/dist/templates/storefront/solidjs/src/i18n.ts +64 -0
- package/dist/templates/storefront/solidjs/src/main.tsx +14 -0
- package/dist/templates/storefront/solidjs/src/messages.ts +71 -0
- package/dist/templates/storefront/solidjs/src/model.ts +146 -0
- package/dist/templates/storefront/solidjs/src/styles.css +1159 -0
- package/dist/templates/storefront/solidjs/src/vite-env.d.ts +1 -0
- package/dist/templates/storefront/solidjs/tsconfig.json +24 -0
- package/dist/templates/storefront/solidjs/vite.config.ts +36 -0
- package/dist/templates/storefront/solidjs/wrangler.jsonc +8 -0
- package/dist/templates/storefront/svelte/.env.example +15 -0
- package/dist/templates/storefront/svelte/ASSETS.md +1 -0
- package/dist/templates/storefront/svelte/DEPLOY.md +23 -0
- package/dist/templates/storefront/svelte/LICENSE +21 -0
- package/dist/templates/storefront/svelte/README.md +36 -0
- package/dist/templates/storefront/svelte/_gitignore +11 -0
- package/dist/templates/storefront/svelte/index.html +2 -0
- package/dist/templates/storefront/svelte/linguana.json +10 -0
- package/dist/templates/storefront/svelte/package.json +32 -0
- package/dist/templates/storefront/svelte/public/assets/collection.svg +1 -0
- package/dist/templates/storefront/svelte/public/assets/product-1.svg +1 -0
- package/dist/templates/storefront/svelte/public/assets/product-2.svg +1 -0
- package/dist/templates/storefront/svelte/public/assets/product-3.svg +1 -0
- package/dist/templates/storefront/svelte/public/assets/product-4.svg +1 -0
- package/dist/templates/storefront/svelte/public/assets/product-5.svg +1 -0
- package/dist/templates/storefront/svelte/public/assets/product-6.svg +1 -0
- package/dist/templates/storefront/svelte/public/assets/product-7.svg +1 -0
- package/dist/templates/storefront/svelte/public/assets/product-8.svg +1 -0
- package/dist/templates/storefront/svelte/src/App.svelte +218 -0
- package/dist/templates/storefront/svelte/src/Copy.svelte +66 -0
- package/dist/templates/storefront/svelte/src/Root.svelte +11 -0
- package/dist/templates/storefront/svelte/src/demo-messages.ts +205 -0
- package/dist/templates/storefront/svelte/src/i18n.ts +64 -0
- package/dist/templates/storefront/svelte/src/main.ts +5 -0
- package/dist/templates/storefront/svelte/src/messages.ts +71 -0
- package/dist/templates/storefront/svelte/src/model.ts +146 -0
- package/dist/templates/storefront/svelte/src/styles.css +1159 -0
- package/dist/templates/storefront/svelte/src/vite-env.d.ts +1 -0
- package/dist/templates/storefront/svelte/svelte.config.js +2 -0
- package/dist/templates/storefront/svelte/tsconfig.json +23 -0
- package/dist/templates/storefront/svelte/vite.config.ts +36 -0
- package/dist/templates/storefront/svelte/wrangler.jsonc +8 -0
- package/dist/templates/storefront/tanstack-start/.env.example +15 -0
- package/dist/templates/storefront/tanstack-start/ASSETS.md +1 -0
- package/dist/templates/storefront/tanstack-start/DEPLOY.md +23 -0
- package/dist/templates/storefront/tanstack-start/LICENSE +21 -0
- package/dist/templates/storefront/tanstack-start/README.md +36 -0
- package/dist/templates/storefront/tanstack-start/_gitignore +11 -0
- package/dist/templates/storefront/tanstack-start/linguana.json +10 -0
- package/dist/templates/storefront/tanstack-start/nitro.config.ts +2 -0
- package/dist/templates/storefront/tanstack-start/package.json +42 -0
- package/dist/templates/storefront/tanstack-start/public/assets/collection.svg +1 -0
- package/dist/templates/storefront/tanstack-start/public/assets/product-1.svg +1 -0
- package/dist/templates/storefront/tanstack-start/public/assets/product-2.svg +1 -0
- package/dist/templates/storefront/tanstack-start/public/assets/product-3.svg +1 -0
- package/dist/templates/storefront/tanstack-start/public/assets/product-4.svg +1 -0
- package/dist/templates/storefront/tanstack-start/public/assets/product-5.svg +1 -0
- package/dist/templates/storefront/tanstack-start/public/assets/product-6.svg +1 -0
- package/dist/templates/storefront/tanstack-start/public/assets/product-7.svg +1 -0
- package/dist/templates/storefront/tanstack-start/public/assets/product-8.svg +1 -0
- package/dist/templates/storefront/tanstack-start/src/App.tsx +601 -0
- package/dist/templates/storefront/tanstack-start/src/Copy.tsx +304 -0
- package/dist/templates/storefront/tanstack-start/src/demo-messages.ts +205 -0
- package/dist/templates/storefront/tanstack-start/src/i18n.ts +64 -0
- package/dist/templates/storefront/tanstack-start/src/locale-server.ts +54 -0
- package/dist/templates/storefront/tanstack-start/src/messages.ts +71 -0
- package/dist/templates/storefront/tanstack-start/src/model.ts +146 -0
- package/dist/templates/storefront/tanstack-start/src/router.tsx +10 -0
- package/dist/templates/storefront/tanstack-start/src/routes/$.tsx +7 -0
- package/dist/templates/storefront/tanstack-start/src/routes/__root.tsx +50 -0
- package/dist/templates/storefront/tanstack-start/src/routes/index.tsx +5 -0
- package/dist/templates/storefront/tanstack-start/src/styles.css +1159 -0
- package/dist/templates/storefront/tanstack-start/src/vite-env.d.ts +1 -0
- package/dist/templates/storefront/tanstack-start/tsconfig.json +23 -0
- package/dist/templates/storefront/tanstack-start/vite.config.ts +50 -0
- package/dist/templates/storefront/tanstack-start/wrangler.jsonc +12 -0
- package/dist/templates/storefront/vue/.env.example +15 -0
- package/dist/templates/storefront/vue/ASSETS.md +1 -0
- package/dist/templates/storefront/vue/DEPLOY.md +23 -0
- package/dist/templates/storefront/vue/LICENSE +21 -0
- package/dist/templates/storefront/vue/README.md +36 -0
- package/dist/templates/storefront/vue/_gitignore +11 -0
- package/dist/templates/storefront/vue/index.html +2 -0
- package/dist/templates/storefront/vue/linguana.json +10 -0
- package/dist/templates/storefront/vue/package.json +34 -0
- package/dist/templates/storefront/vue/public/assets/collection.svg +1 -0
- package/dist/templates/storefront/vue/public/assets/product-1.svg +1 -0
- package/dist/templates/storefront/vue/public/assets/product-2.svg +1 -0
- package/dist/templates/storefront/vue/public/assets/product-3.svg +1 -0
- package/dist/templates/storefront/vue/public/assets/product-4.svg +1 -0
- package/dist/templates/storefront/vue/public/assets/product-5.svg +1 -0
- package/dist/templates/storefront/vue/public/assets/product-6.svg +1 -0
- package/dist/templates/storefront/vue/public/assets/product-7.svg +1 -0
- package/dist/templates/storefront/vue/public/assets/product-8.svg +1 -0
- package/dist/templates/storefront/vue/src/App.vue +210 -0
- package/dist/templates/storefront/vue/src/Copy.vue +65 -0
- package/dist/templates/storefront/vue/src/demo-messages.ts +205 -0
- package/dist/templates/storefront/vue/src/i18n.ts +64 -0
- package/dist/templates/storefront/vue/src/main.ts +7 -0
- package/dist/templates/storefront/vue/src/messages.ts +71 -0
- package/dist/templates/storefront/vue/src/model.ts +146 -0
- package/dist/templates/storefront/vue/src/styles.css +1159 -0
- package/dist/templates/storefront/vue/src/vite-env.d.ts +1 -0
- package/dist/templates/storefront/vue/tsconfig.json +23 -0
- package/dist/templates/storefront/vue/vite.config.ts +36 -0
- package/dist/templates/storefront/vue/wrangler.jsonc +8 -0
- package/package.json +38 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// Source fallbacks; matching extractable literals live in Copy.tsx.
|
|
2
|
+
export const messages: Record<string, string> = {
|
|
3
|
+
language: "Language",
|
|
4
|
+
skip: "Skip to content",
|
|
5
|
+
home: "Home",
|
|
6
|
+
search: "Search",
|
|
7
|
+
all: "All",
|
|
8
|
+
empty: "Nothing here yet.",
|
|
9
|
+
emptyHint: "Try another search or clear your filters.",
|
|
10
|
+
clear: "Clear filters",
|
|
11
|
+
missing: "This page took a different path.",
|
|
12
|
+
missingHint:
|
|
13
|
+
"We could not find that page. There is plenty to discover back home.",
|
|
14
|
+
back: "Back to home",
|
|
15
|
+
demo: "A multilingual demo, made with Linguana.",
|
|
16
|
+
email: "Email address",
|
|
17
|
+
name: "Your name",
|
|
18
|
+
simulated: "Demo only. Your information stays in this browser.",
|
|
19
|
+
sent: "Thank you, {name}! This was a demo; nothing was sent.",
|
|
20
|
+
formError: "Please enter your name and a valid email address.",
|
|
21
|
+
eyebrow: "Fewer things. Better chosen.",
|
|
22
|
+
headline: "Good things for the everyday.",
|
|
23
|
+
intro:
|
|
24
|
+
"Useful objects, honest materials, and small details that make a difference. Find your new everyday favourite.",
|
|
25
|
+
collection: "The everyday collection",
|
|
26
|
+
shop: "Explore the collection",
|
|
27
|
+
homeware: "At home",
|
|
28
|
+
carry: "On the go",
|
|
29
|
+
desk: "At your desk",
|
|
30
|
+
sort: "Sort by",
|
|
31
|
+
featured: "Featured",
|
|
32
|
+
low: "Price: low to high",
|
|
33
|
+
high: "Price: high to low",
|
|
34
|
+
cart: "Your basket",
|
|
35
|
+
count: "{count, plural, one {# item} other {# items}}",
|
|
36
|
+
add: "Add to basket",
|
|
37
|
+
added: "Added to your basket",
|
|
38
|
+
qty: "Quantity",
|
|
39
|
+
remove: "Remove",
|
|
40
|
+
total: "Total",
|
|
41
|
+
checkout: "Simulate checkout",
|
|
42
|
+
checkoutNote: "This is a demo shop. No payments or real orders are accepted.",
|
|
43
|
+
checkoutDone: "Demo complete. No payment was taken and no order was placed.",
|
|
44
|
+
emptyCart: "Your basket is waiting for something good.",
|
|
45
|
+
shipping:
|
|
46
|
+
"Illustrative prices in USD. No shipping or taxes are charged in this demo.",
|
|
47
|
+
about: "Considered objects. A little less ordinary.",
|
|
48
|
+
p1Title: "Everyday tote",
|
|
49
|
+
p1Summary:
|
|
50
|
+
"Heavy cotton canvas, generous handles, and room for your daily detours.",
|
|
51
|
+
p2Title: "Morning mug",
|
|
52
|
+
p2Summary:
|
|
53
|
+
"A warm ceramic finish and an easy grip. Made for the first quiet cup.",
|
|
54
|
+
p3Title: "Arc desk lamp",
|
|
55
|
+
p3Summary:
|
|
56
|
+
"A gentle pool of light, a weighted base, and a shape that feels at home.",
|
|
57
|
+
p4Title: "Field notebook",
|
|
58
|
+
p4Summary:
|
|
59
|
+
"Lay-flat binding and plain recycled pages for ideas without a deadline.",
|
|
60
|
+
p5Title: "Day bottle",
|
|
61
|
+
p5Summary:
|
|
62
|
+
"Brushed steel with a simple screw cap. A reusable companion for the road.",
|
|
63
|
+
p6Title: "Linen cushion",
|
|
64
|
+
p6Summary: "Soft washed linen in an earthy tone. An invitation to slow down.",
|
|
65
|
+
p7Title: "Oak catchall",
|
|
66
|
+
p7Summary:
|
|
67
|
+
"A small home for keys, coins, and the things you put down at the door.",
|
|
68
|
+
p8Title: "Quiet clock",
|
|
69
|
+
p8Summary:
|
|
70
|
+
"A clean face and a silent movement. Keep time without the ticking.",
|
|
71
|
+
};
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
export type Item = {
|
|
2
|
+
id: string;
|
|
3
|
+
slug: string;
|
|
4
|
+
category: string;
|
|
5
|
+
image: string;
|
|
6
|
+
date: string;
|
|
7
|
+
minutes: number;
|
|
8
|
+
price: number;
|
|
9
|
+
};
|
|
10
|
+
export const items: Item[] = [
|
|
11
|
+
{
|
|
12
|
+
id: "p1",
|
|
13
|
+
slug: "everyday-tote",
|
|
14
|
+
category: "carry",
|
|
15
|
+
image: "/assets/product-1.svg",
|
|
16
|
+
date: "2026-06-22",
|
|
17
|
+
minutes: 2,
|
|
18
|
+
price: 32,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
id: "p2",
|
|
22
|
+
slug: "morning-mug",
|
|
23
|
+
category: "homeware",
|
|
24
|
+
image: "/assets/product-2.svg",
|
|
25
|
+
date: "2026-06-14",
|
|
26
|
+
minutes: 3,
|
|
27
|
+
price: 24,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
id: "p3",
|
|
31
|
+
slug: "arc-lamp",
|
|
32
|
+
category: "desk",
|
|
33
|
+
image: "/assets/product-3.svg",
|
|
34
|
+
date: "2026-05-22",
|
|
35
|
+
minutes: 4,
|
|
36
|
+
price: 89,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: "p4",
|
|
40
|
+
slug: "field-notebook",
|
|
41
|
+
category: "desk",
|
|
42
|
+
image: "/assets/product-4.svg",
|
|
43
|
+
date: "2026-05-14",
|
|
44
|
+
minutes: 2,
|
|
45
|
+
price: 18,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: "p5",
|
|
49
|
+
slug: "day-bottle",
|
|
50
|
+
category: "carry",
|
|
51
|
+
image: "/assets/product-5.svg",
|
|
52
|
+
date: "2026-04-22",
|
|
53
|
+
minutes: 3,
|
|
54
|
+
price: 36,
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
id: "p6",
|
|
58
|
+
slug: "linen-cushion",
|
|
59
|
+
category: "homeware",
|
|
60
|
+
image: "/assets/product-6.svg",
|
|
61
|
+
date: "2026-04-14",
|
|
62
|
+
minutes: 4,
|
|
63
|
+
price: 48,
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
id: "p7",
|
|
67
|
+
slug: "oak-catchall",
|
|
68
|
+
category: "homeware",
|
|
69
|
+
image: "/assets/product-7.svg",
|
|
70
|
+
date: "2026-03-22",
|
|
71
|
+
minutes: 2,
|
|
72
|
+
price: 29,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
id: "p8",
|
|
76
|
+
slug: "quiet-clock",
|
|
77
|
+
category: "homeware",
|
|
78
|
+
image: "/assets/product-8.svg",
|
|
79
|
+
date: "2026-03-14",
|
|
80
|
+
minutes: 3,
|
|
81
|
+
price: 64,
|
|
82
|
+
},
|
|
83
|
+
];
|
|
84
|
+
export type State = {
|
|
85
|
+
path: string;
|
|
86
|
+
query: string;
|
|
87
|
+
category: string;
|
|
88
|
+
sort: string;
|
|
89
|
+
cart: Record<string, number>;
|
|
90
|
+
quantity: number;
|
|
91
|
+
annual: boolean;
|
|
92
|
+
step: number;
|
|
93
|
+
acknowledged: boolean;
|
|
94
|
+
name: string;
|
|
95
|
+
email: string;
|
|
96
|
+
error: boolean;
|
|
97
|
+
sent: boolean;
|
|
98
|
+
added: boolean;
|
|
99
|
+
checkout: boolean;
|
|
100
|
+
};
|
|
101
|
+
export const initialState = (path?: string): State => ({
|
|
102
|
+
path:
|
|
103
|
+
path ?? (typeof window === "undefined" ? "/" : window.location.pathname),
|
|
104
|
+
query: "",
|
|
105
|
+
category: "all",
|
|
106
|
+
sort: "featured",
|
|
107
|
+
cart: {},
|
|
108
|
+
quantity: 1,
|
|
109
|
+
annual: false,
|
|
110
|
+
step: 0,
|
|
111
|
+
acknowledged: false,
|
|
112
|
+
name: "",
|
|
113
|
+
email: "",
|
|
114
|
+
error: false,
|
|
115
|
+
sent: false,
|
|
116
|
+
added: false,
|
|
117
|
+
checkout: false,
|
|
118
|
+
});
|
|
119
|
+
export const quantity = (input: unknown) =>
|
|
120
|
+
Math.max(1, Math.min(99, Math.floor(Number(input) || 1)));
|
|
121
|
+
const cartKey = "common-goods-cart-v1";
|
|
122
|
+
export function readCart(): Record<string, number> {
|
|
123
|
+
try {
|
|
124
|
+
const parsed: unknown = JSON.parse(localStorage.getItem(cartKey) ?? "{}");
|
|
125
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
|
|
126
|
+
return {};
|
|
127
|
+
return Object.fromEntries(
|
|
128
|
+
Object.entries(parsed).filter(
|
|
129
|
+
([id, count]) =>
|
|
130
|
+
items.some((item) => item.id === id) &&
|
|
131
|
+
Number.isInteger(count) &&
|
|
132
|
+
count > 0 &&
|
|
133
|
+
count <= 99,
|
|
134
|
+
),
|
|
135
|
+
);
|
|
136
|
+
} catch {
|
|
137
|
+
return {};
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
export function saveCart(cart: Record<string, number>) {
|
|
141
|
+
try {
|
|
142
|
+
localStorage.setItem(cartKey, JSON.stringify(cart));
|
|
143
|
+
} catch {
|
|
144
|
+
/* Browsers may disable persistence; the in-memory cart still works. */
|
|
145
|
+
}
|
|
146
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createRouter } from "@tanstack/react-router";
|
|
2
|
+
import { routeTree } from "./routeTree.gen";
|
|
3
|
+
export function getRouter() {
|
|
4
|
+
return createRouter({ routeTree, scrollRestoration: true });
|
|
5
|
+
}
|
|
6
|
+
declare module "@tanstack/react-router" {
|
|
7
|
+
interface Register {
|
|
8
|
+
router: ReturnType<typeof getRouter>;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createFileRoute, useLocation } from "@tanstack/react-router";
|
|
2
|
+
import App from "../App";
|
|
3
|
+
export const Route = createFileRoute("/$")({ component: Page });
|
|
4
|
+
function Page() {
|
|
5
|
+
const { pathname } = useLocation();
|
|
6
|
+
return <App key={pathname} path={pathname} />;
|
|
7
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { LocaleProvider } from "@linguanahq/react";
|
|
2
|
+
import {
|
|
3
|
+
createRootRoute,
|
|
4
|
+
HeadContent,
|
|
5
|
+
Outlet,
|
|
6
|
+
Scripts,
|
|
7
|
+
} from "@tanstack/react-router";
|
|
8
|
+
import { optionsFor } from "../i18n";
|
|
9
|
+
import { localeState } from "../locale-server";
|
|
10
|
+
import styles from "../styles.css?url";
|
|
11
|
+
export const Route = createRootRoute({
|
|
12
|
+
loader: () => localeState(),
|
|
13
|
+
head: () => ({
|
|
14
|
+
meta: [
|
|
15
|
+
{ charSet: "utf-8" },
|
|
16
|
+
{ name: "viewport", content: "width=device-width, initial-scale=1" },
|
|
17
|
+
{ title: "Common Goods" },
|
|
18
|
+
{
|
|
19
|
+
name: "description",
|
|
20
|
+
content:
|
|
21
|
+
"Everyday essentials, considered carefully. Product browsing, a persistent cart, and room to make it yours.",
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
links: [{ rel: "stylesheet", href: styles }],
|
|
25
|
+
}),
|
|
26
|
+
component: Root,
|
|
27
|
+
});
|
|
28
|
+
function Root() {
|
|
29
|
+
const { hydrationState, locales } = Route.useLoaderData();
|
|
30
|
+
return (
|
|
31
|
+
<html
|
|
32
|
+
lang={hydrationState.locale}
|
|
33
|
+
dir={hydrationState.locale.startsWith("ar") ? "rtl" : "ltr"}
|
|
34
|
+
>
|
|
35
|
+
<head>
|
|
36
|
+
<HeadContent />
|
|
37
|
+
</head>
|
|
38
|
+
<body>
|
|
39
|
+
<LocaleProvider
|
|
40
|
+
{...optionsFor(hydrationState.locale)}
|
|
41
|
+
hydrationState={hydrationState}
|
|
42
|
+
availableLocales={locales}
|
|
43
|
+
>
|
|
44
|
+
<Outlet />
|
|
45
|
+
</LocaleProvider>
|
|
46
|
+
<Scripts />
|
|
47
|
+
</body>
|
|
48
|
+
</html>
|
|
49
|
+
);
|
|
50
|
+
}
|