+
{{ t('header.home') }}
-
- {{ t('header.apartments') }}
+ {{ t('header.apartments') }}
-
- {{ t('header.book') }}
+ {{ t('header.book') }}
-
- {{ t('header.contact') }}
+ {{ t('header.contact') }}
@@ -27,4 +27,5 @@
diff --git a/apps/panoramablick/i18n/locales/en.json b/apps/panoramablick/i18n/locales/en.json
index fb79925..069772b 100644
--- a/apps/panoramablick/i18n/locales/en.json
+++ b/apps/panoramablick/i18n/locales/en.json
@@ -1,9 +1,9 @@
{
"header": {
"home": "Landhaus Panoramablick",
- "apartments": "Apartments & Preise",
- "book": "Buchen",
- "contact": "Kontakt"
+ "apartments": "Apartments & Rates",
+ "book": "Book",
+ "contact": "Contact"
},
"footer": {
"questions": "Fragen oder Wünsche?",
diff --git a/apps/panoramablick/nuxt.config.ts b/apps/panoramablick/nuxt.config.ts
index 68d7180..e9c067c 100644
--- a/apps/panoramablick/nuxt.config.ts
+++ b/apps/panoramablick/nuxt.config.ts
@@ -26,9 +26,11 @@ export default defineNuxtConfig({
hotelId: "test"
}
},
- generate: {
- routes: [
- '/legal'
+ websites: {
+ defaultVariant: 'sumu',
+ variants: [
+ { code: 'su', name: 'Summer' },
+ { code: 'wi', name: 'Winter' }
]
}
})
\ No newline at end of file
diff --git a/apps/panoramablick/pages/[...all].vue b/apps/panoramablick/pages/[[variant]]/[...all].vue
similarity index 100%
rename from apps/panoramablick/pages/[...all].vue
rename to apps/panoramablick/pages/[[variant]]/[...all].vue
diff --git a/apps/panoramablick/pages/about.vue b/apps/panoramablick/pages/[[variant]]/about.vue
similarity index 100%
rename from apps/panoramablick/pages/about.vue
rename to apps/panoramablick/pages/[[variant]]/about.vue
diff --git a/apps/panoramablick/pages/apartments.vue b/apps/panoramablick/pages/[[variant]]/apartments.vue
similarity index 100%
rename from apps/panoramablick/pages/apartments.vue
rename to apps/panoramablick/pages/[[variant]]/apartments.vue
diff --git a/apps/panoramablick/pages/book.vue b/apps/panoramablick/pages/[[variant]]/book.vue
similarity index 100%
rename from apps/panoramablick/pages/book.vue
rename to apps/panoramablick/pages/[[variant]]/book.vue
diff --git a/apps/panoramablick/pages/contact.vue b/apps/panoramablick/pages/[[variant]]/contact.vue
similarity index 97%
rename from apps/panoramablick/pages/contact.vue
rename to apps/panoramablick/pages/[[variant]]/contact.vue
index 8efc010..dcfa084 100644
--- a/apps/panoramablick/pages/contact.vue
+++ b/apps/panoramablick/pages/[[variant]]/contact.vue
@@ -36,7 +36,7 @@
{{ t('contact.online-1') }}
- {{
+ {{
t('contact.online-2')
}}
@@ -97,6 +97,7 @@
\ No newline at end of file
diff --git a/apps/panoramablick/pages/legal.vue b/apps/panoramablick/pages/[[variant]]/legal.vue
similarity index 100%
rename from apps/panoramablick/pages/legal.vue
rename to apps/panoramablick/pages/[[variant]]/legal.vue
diff --git a/packages/ui/src/module.ts b/packages/ui/src/module.ts
index 832a0a6..485f283 100644
--- a/packages/ui/src/module.ts
+++ b/packages/ui/src/module.ts
@@ -1,4 +1,4 @@
-import { defineNuxtModule, createResolver, addComponentsDir } from '@nuxt/kit'
+import { defineNuxtModule, createResolver, addComponentsDir, addImportsDir } from '@nuxt/kit'
// Module options TypeScript interface definition
export interface ModuleOptions {}
@@ -8,7 +8,13 @@ export default defineNuxtModule({
name: 'websites',
configKey: 'websites',
},
- defaults: {},
+ defaults: {
+ defaultVariant: "su",
+ variants: [
+ { code: 'su', name: 'Summer' },
+ { code: 'wi', name: 'Winter' }
+ ]
+ },
setup(_options, _nuxt) {
const resolver = createResolver(import.meta.url)
addComponentsDir({
@@ -17,5 +23,6 @@ export default defineNuxtModule({
prefix: '',
global: true,
})
- },
+ addImportsDir(resolver.resolve('./runtime/composables'))
+ }
})
diff --git a/packages/ui/src/runtime/composables/useVariantPath.ts b/packages/ui/src/runtime/composables/useVariantPath.ts
new file mode 100644
index 0000000..cbee6de
--- /dev/null
+++ b/packages/ui/src/runtime/composables/useVariantPath.ts
@@ -0,0 +1,14 @@
+export function useVariantPath() {
+ const localePath = useLocalePath()
+ const route = useRoute()
+
+ function variantPath(page: string, anchor?: string) {
+ let base = [localePath('/'), route.params.variant ?? '', page].filter(Boolean).join('/')
+ base = base.replace(/\/{2,}/g, '/')
+ base = base.replace(/\/+$/, '')
+ base = base ? base : '/'
+ return anchor ? `${base}#${anchor}` : base
+ }
+
+ return { variantPath }
+}