@dargmuesli/nuxt-vio 3.0.0-beta.2 → 3.0.0-beta.21
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/app.config.ts +32 -33
- package/assets/css/tailwind.css +24 -9
- package/components/vio/_/VioApp.vue +14 -2
- package/components/vio/_/VioError.vue +4 -1
- package/components/vio/_/VioLink.vue +7 -5
- package/components/vio/form/VioForm.vue +2 -2
- package/components/vio/form/input/VioFormInput.vue +5 -5
- package/components/vio/form/input/state/VioFormInputStateError.vue +1 -1
- package/components/vio/form/input/state/VioFormInputStateInfo.vue +1 -1
- package/components/vio/icon/IconArrowRight.vue +2 -2
- package/components/vio/icon/IconCalendar.vue +2 -2
- package/components/vio/icon/IconCheckCircle.vue +2 -2
- package/components/vio/icon/IconDownload.vue +2 -2
- package/components/vio/icon/IconExclamationCircle.vue +2 -2
- package/components/vio/icon/IconHome.vue +2 -2
- package/components/vio/icon/IconHourglass.vue +2 -2
- package/components/vio/layout/VioLayoutBreadcrumbs.vue +1 -1
- package/components/vio/layout/VioLayoutFooter.vue +3 -3
- package/components/vio/layout/VioLayoutFooterCategory.vue +1 -1
- package/components/vio/loader/indicator/VioLoaderIndicator.vue +2 -2
- package/components/vio/loader/indicator/VioLoaderIndicatorPing.vue +2 -2
- package/components/vio/page/VioPageLegalNotice.vue +11 -9
- package/components/vio/page/VioPagePrivacyPolicy.vue +20 -13
- package/composables/useAppLayout.ts +11 -17
- package/composables/useFavicons.ts +3 -31
- package/composables/useGetServiceHref.ts +2 -28
- package/composables/useHeadDefault.ts +13 -26
- package/composables/usePolyfills.ts +23 -0
- package/locales/de.json +1 -1
- package/locales/en.json +1 -1
- package/nuxt.config.ts +152 -147
- package/package.json +33 -33
- package/plugins/dayjs.ts +6 -6
- package/plugins/gtag.client.ts +4 -1
- package/server/middleware/headers.ts +1 -1
- package/server/tsconfig.json +1 -1
- package/server/utils/util.ts +2 -0
- package/store/auth.ts +32 -0
- package/tailwind.config.ts +3 -3
- package/types/api.d.ts +9 -0
- package/types/fetch.d.ts +8 -0
- package/types/modules/gql.d.ts +6 -0
- package/types/modules/graphql.d.ts +6 -0
- package/utils/constants.ts +51 -0
- package/utils/networking.ts +44 -9
- package/utils/routing.ts +4 -2
- package/LICENSE +0 -674
- package/components/vio/icon/IconLogo.vue +0 -17
- package/components/vio/layout/VioLayoutHeader.vue +0 -98
@@ -1,17 +0,0 @@
|
|
1
|
-
<template>
|
2
|
-
<svg
|
3
|
-
xmlns="http://www.w3.org/2000/svg"
|
4
|
-
width="1064pt"
|
5
|
-
height="1064pt"
|
6
|
-
version="1.1"
|
7
|
-
viewBox="0 0 1064 1064"
|
8
|
-
>
|
9
|
-
<g id="#9a9a9aff">
|
10
|
-
<path
|
11
|
-
fill="#ecc94b"
|
12
|
-
d="M 802.62 185.62 C 806.76 181.54 810.71 177.26 815.06 173.41 C 828.57 186.40 841.60 199.89 854.94 213.06 C 866.81 225.07 878.95 236.83 890.68 248.99 C 858.25 281.90 825.33 314.33 792.78 347.13 C 801.85 360.72 810.67 374.54 817.81 389.27 C 849.17 451.62 859.14 524.40 845.66 592.88 C 835.73 644.31 812.88 693.19 779.77 733.77 C 748.01 772.91 706.76 804.28 660.61 824.52 C 601.85 850.47 535.17 858.08 472.10 845.87 C 399.83 832.28 332.81 792.71 286.03 735.97 C 261.50 706.51 242.51 672.51 229.95 636.31 C 214.56 591.74 209.12 543.75 214.40 496.88 C 219.97 445.89 238.13 396.34 266.77 353.78 C 297.11 308.55 339.24 271.29 387.93 246.85 C 436.80 222.00 492.22 210.23 546.98 212.87 C 592.26 214.95 637.06 226.87 677.39 247.55 C 691.14 254.44 704.16 262.67 716.88 271.28 C 745.53 242.80 774.02 214.15 802.62 185.62 M 668.11 321.11 C 659.08 330.37 649.57 339.17 640.85 348.72 C 671.30 366.97 697.16 392.75 715.33 423.27 C 726.58 412.55 737.35 401.34 748.40 390.41 C 762.78 375.92 777.38 361.65 791.64 347.04 C 771.18 318.23 745.87 292.82 717.00 272.43 C 700.48 288.43 684.45 304.92 668.11 321.11 M 436.34 342.35 C 401.95 359.59 372.51 386.48 352.08 419.07 C 331.27 452.09 319.83 490.96 319.57 530.00 C 319.10 567.70 329.06 605.44 347.89 638.09 C 365.96 669.51 392.23 696.14 423.39 714.64 C 456.33 734.24 494.65 744.78 533.00 744.45 C 574.05 744.36 615.02 731.94 649.19 709.17 C 676.80 690.95 700.05 666.14 716.43 637.39 C 736.74 602.03 746.42 560.71 744.11 520.01 C 742.05 486.63 732.53 453.44 715.15 424.78 C 673.22 466.47 631.56 508.43 589.65 550.14 C 586.42 547.81 583.82 544.77 581.00 542.00 C 559.16 520.17 537.32 498.33 515.49 476.50 C 514.40 475.63 513.59 474.12 515.09 473.18 C 556.44 431.67 598.01 390.37 639.32 348.82 C 615.75 334.67 589.17 325.65 561.99 321.72 C 519.31 315.51 474.81 322.86 436.34 342.35 Z"
|
13
|
-
opacity="1"
|
14
|
-
/>
|
15
|
-
</g>
|
16
|
-
</svg>
|
17
|
-
</template>
|
@@ -1,98 +0,0 @@
|
|
1
|
-
<template>
|
2
|
-
<header class="flex items-center justify-between gap-4 mb-8">
|
3
|
-
<VioButton :aria-label="t('creal')" :to="localePath('/')">
|
4
|
-
<span class="text-lg font-bold">{{ t('creal') }}</span>
|
5
|
-
<template #prefix>
|
6
|
-
<IconLogo 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
|
-
<IconArrowRight />
|
42
|
-
</template>
|
43
|
-
</VioButton>
|
44
|
-
</header>
|
45
|
-
</template>
|
46
|
-
|
47
|
-
<script setup lang="ts">
|
48
|
-
const { $dayjs } = useNuxtApp()
|
49
|
-
const { t } = useI18n()
|
50
|
-
const localePath = useLocalePath()
|
51
|
-
const strapiFetch = useStrapiFetch()
|
52
|
-
|
53
|
-
// async data
|
54
|
-
let eventsCurrentCount = 0
|
55
|
-
let eventsFutureCount = 0
|
56
|
-
|
57
|
-
// methods
|
58
|
-
const init = async () => {
|
59
|
-
eventsCurrentCount = (
|
60
|
-
(await strapiFetch('/events', {
|
61
|
-
query: {
|
62
|
-
'filters[$and][0][dateStart][$lte]': $dayjs().toISOString(),
|
63
|
-
'filters[$and][1][$or][0][dateEnd][$gt]': $dayjs().toISOString(),
|
64
|
-
'filters[$and][1][$or][1][dateStart][$gte]': $dayjs()
|
65
|
-
.startOf('day')
|
66
|
-
.toISOString(),
|
67
|
-
},
|
68
|
-
})) as any
|
69
|
-
).meta.pagination.total
|
70
|
-
eventsFutureCount = (
|
71
|
-
(await strapiFetch('/events', {
|
72
|
-
query: {
|
73
|
-
'filters[dateStart][$gt]': $dayjs().toISOString(),
|
74
|
-
},
|
75
|
-
})) as any
|
76
|
-
).meta.pagination.total
|
77
|
-
}
|
78
|
-
|
79
|
-
// initialization
|
80
|
-
try {
|
81
|
-
await init()
|
82
|
-
} catch (error: any) {}
|
83
|
-
</script>
|
84
|
-
|
85
|
-
<i18n lang="yaml">
|
86
|
-
en:
|
87
|
-
bookCreal: Book cReal
|
88
|
-
bookingSubject: Booking Request
|
89
|
-
creal: cReal
|
90
|
-
eventsFuture: Upcoming events
|
91
|
-
live: Live
|
92
|
-
de:
|
93
|
-
bookCreal: cReal buchen
|
94
|
-
bookingSubject: Buchungsanfrage
|
95
|
-
creal: cReal
|
96
|
-
eventsFuture: Kommende Veranstaltungen
|
97
|
-
live: Live
|
98
|
-
</i18n>
|