@dargmuesli/nuxt-vio 3.0.0-beta.15 → 3.0.0-beta.16

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.
@@ -3,7 +3,7 @@
3
3
  <div class="flex flex-col gap-8">
4
4
  <div class="flex items-center">
5
5
  <VioLayoutHr />
6
- <VioIconLogo class="mx-12 h-12 w-12 opacity-60 brightness-0 invert" />
6
+ <slot name="logo" />
7
7
  <VioLayoutHr />
8
8
  </div>
9
9
  <!-- Justifying evenly, instead of "between", centers a single element. -->
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dargmuesli/nuxt-vio",
3
- "version": "3.0.0-beta.15",
3
+ "version": "3.0.0-beta.16",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -30,3 +30,48 @@ export const I18N_VUE_CONFIG = {
30
30
  export const TIMEZONE_COOKIE_NAME = [COOKIE_PREFIX, 'tz'].join(COOKIE_SEPARATOR)
31
31
  export const TIMEZONE_HEADER_KEY = `X-${SITE_NAME}-Timezone`
32
32
  export const VALIDATION_SUGGESTION_TITLE_LENGTH_MAXIMUM = 300
33
+ export const VIO_NUXT_BASE_CONFIG = ({
34
+ baseUrl,
35
+ siteName,
36
+ stagingHost,
37
+ }: {
38
+ baseUrl: string
39
+ siteName: string
40
+ stagingHost: string
41
+ }) => ({
42
+ app: {
43
+ head: {
44
+ title: SITE_NAME, // fallback data to prevent invalid html at generation
45
+ },
46
+ },
47
+ runtimeConfig: {
48
+ public: {
49
+ i18n: {
50
+ baseUrl,
51
+ },
52
+ vio: {
53
+ stagingHost:
54
+ process.env.NODE_ENV !== 'production' &&
55
+ !process.env.NUXT_PUBLIC_STACK_DOMAIN
56
+ ? stagingHost
57
+ : undefined,
58
+ },
59
+ },
60
+ },
61
+ typescript: {
62
+ tsConfig: {
63
+ compilerOptions: {
64
+ esModuleInterop: true,
65
+ // moduleResolution: 'bundler',
66
+ // noErrorTruncation: true,
67
+ },
68
+ },
69
+ },
70
+
71
+ // modules
72
+ i18n: I18N_MODULE_CONFIG, // `langDir`, `lazy` and `locales` must be configured to extend a layer having lazy-loaded translations (https://v8.i18n.nuxtjs.org/guide/layers#locales)
73
+ site: {
74
+ name: siteName,
75
+ url: baseUrl,
76
+ },
77
+ })
@@ -1,101 +0,0 @@
1
- <template>
2
- <header class="mb-8 flex items-center justify-between gap-4">
3
- <VioButton :aria-label="t('creal')" :to="localePath('/')">
4
- <span class="text-lg font-bold">{{ t('creal') }}</span>
5
- <template #prefix>
6
- <VioIconLogo class="h-10 w-10" />
7
- </template>
8
- </VioButton>
9
- <VioLink
10
- v-if="eventsCurrentCount"
11
- class="flex items-center gap-2 rounded-full border px-4 py-2 font-bold focus:rounded-full sm:px-4"
12
- :is-colored="false"
13
- :to="localePath('/events')"
14
- >
15
- <VioLayoutLivePulse />
16
- <span class="hidden whitespace-nowrap sm:inline">
17
- {{ t('live') }}
18
- </span>
19
- </VioLink>
20
- <VioLink
21
- v-else-if="eventsFutureCount"
22
- class="flex items-center gap-2 rounded-full border px-2 py-2 font-bold focus:rounded-full sm:px-4"
23
- :is-colored="false"
24
- :to="localePath('/events')"
25
- >
26
- <VioLayoutLivePulse />
27
- <span class="hidden whitespace-nowrap sm:inline">
28
- {{ t('eventsFuture') }}
29
- </span>
30
- </VioLink>
31
- <VioButton
32
- :aria-label="t('bookCreal')"
33
- class="basis-0 text-lg font-bold"
34
- :is-colored="false"
35
- :to="`mailto:e-mail+creal@jonas-thelemann.de?subject=${encodeURIComponent(
36
- t('bookingSubject'),
37
- )}`"
38
- >
39
- <span class="basis-0 whitespace-nowrap">{{ t('bookCreal') }}</span>
40
- <template #suffix>
41
- <VioIconArrowRight />
42
- </template>
43
- </VioButton>
44
- </header>
45
- </template>
46
-
47
- <script setup lang="ts">
48
- const { t } = useI18n()
49
- const localePath = useLocalePath()
50
- const strapiFetch = useStrapiFetch()
51
- const dateTime = useDateTime()
52
-
53
- // async data
54
- let eventsCurrentCount = 0
55
- let eventsFutureCount = 0
56
-
57
- // data
58
- const now = dateTime()
59
-
60
- // methods
61
- const init = async () => {
62
- eventsCurrentCount = (
63
- (await strapiFetch('/events', {
64
- query: {
65
- 'filters[$and][0][dateStart][$lte]': now.toISOString(),
66
- 'filters[$and][1][$or][0][dateEnd][$gt]': now.toISOString(),
67
- 'filters[$and][1][$or][1][dateStart][$gte]': now
68
- .startOf('day')
69
- .toISOString(),
70
- },
71
- })) as any
72
- ).meta.pagination.total
73
- eventsFutureCount = (
74
- (await strapiFetch('/events', {
75
- query: {
76
- 'filters[dateStart][$gt]': now.toISOString(),
77
- },
78
- })) as any
79
- ).meta.pagination.total
80
- }
81
-
82
- // initialization
83
- try {
84
- await init()
85
- } catch (error: any) {}
86
- </script>
87
-
88
- <i18n lang="yaml">
89
- en:
90
- bookCreal: Book cReal
91
- bookingSubject: Booking Request
92
- creal: cReal
93
- eventsFuture: Upcoming events
94
- live: Live
95
- de:
96
- bookCreal: cReal buchen
97
- bookingSubject: Buchungsanfrage
98
- creal: cReal
99
- eventsFuture: Kommende Veranstaltungen
100
- live: Live
101
- </i18n>