@dargmuesli/nuxt-vio 1.10.4 → 1.11.0-beta.1
Sign up to get free protection for your applications and to get access to all the features.
- package/app.config.ts +25 -12
- package/assets/css/tailwind.css +1 -5
- package/components/VioLegalNotice.vue +78 -0
- package/components/VioPrivacyPolicy.vue +730 -0
- package/composables/useAppLayout.ts +19 -13
- package/nuxt.config.ts +6 -2
- package/package.json +2 -2
- package/pages/legal-notice.vue +41 -77
- package/pages/privacy-policy.vue +88 -568
@@ -1,23 +1,29 @@
|
|
1
1
|
export const useAppLayout = () => {
|
2
2
|
const appConfig = useAppConfig()
|
3
|
-
const head = useLocaleHead({ addSeoAttributes: true })
|
4
3
|
|
5
|
-
useHead(head.value)
|
6
4
|
useHead({
|
5
|
+
...useLocaleHead({ addSeoAttributes: true }).value,
|
7
6
|
bodyAttrs: {
|
8
7
|
class:
|
9
8
|
'bg-background-bright dark:bg-background-dark font-sans text-text-dark dark:text-text-bright',
|
10
9
|
},
|
11
|
-
|
12
|
-
{
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
10
|
+
...(appConfig.themeColor
|
11
|
+
? {
|
12
|
+
meta: [
|
13
|
+
{
|
14
|
+
content: appConfig.themeColor,
|
15
|
+
name: 'msapplication-TileColor',
|
16
|
+
},
|
17
|
+
{
|
18
|
+
content: appConfig.themeColor,
|
19
|
+
name: 'theme-color',
|
20
|
+
},
|
21
|
+
],
|
22
|
+
}
|
23
|
+
: {}),
|
21
24
|
})
|
22
|
-
|
25
|
+
|
26
|
+
if (appConfig.seoMeta) {
|
27
|
+
useSeoMeta(appConfig.seoMeta)
|
28
|
+
}
|
23
29
|
}
|
package/nuxt.config.ts
CHANGED
@@ -107,10 +107,14 @@ export default defineNuxtConfig({
|
|
107
107
|
i18n: {
|
108
108
|
baseUrl: BASE_URL,
|
109
109
|
defaultLocale: 'en', // Must be set for the default prefix_except_default prefix strategy.
|
110
|
-
detectBrowserLanguage:
|
110
|
+
detectBrowserLanguage: {
|
111
|
+
cookieSecure: true,
|
112
|
+
redirectOn: 'root',
|
113
|
+
},
|
111
114
|
locales: LOCALES,
|
112
115
|
vueI18n: {
|
113
|
-
fallbackWarn: false, //
|
116
|
+
fallbackWarn: false, // covered by linting
|
117
|
+
missingWarn: false, // covered by linting
|
114
118
|
},
|
115
119
|
},
|
116
120
|
linkChecker: {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@dargmuesli/nuxt-vio",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.11.0-beta.1",
|
4
4
|
"type": "module",
|
5
5
|
"publishConfig": {
|
6
6
|
"access": "public"
|
@@ -37,7 +37,7 @@
|
|
37
37
|
"lint:ts": "nuxt typecheck"
|
38
38
|
},
|
39
39
|
"dependencies": {
|
40
|
-
"@dargmuesli/nuxt-cookie-control": "5.
|
40
|
+
"@dargmuesli/nuxt-cookie-control": "5.8.5",
|
41
41
|
"@http-util/status-i18n": "0.6.2",
|
42
42
|
"@nuxtjs/html-validator": "1.2.5",
|
43
43
|
"@nuxtjs/i18n": "8.0.0-beta.10",
|
package/pages/legal-notice.vue
CHANGED
@@ -1,88 +1,52 @@
|
|
1
1
|
<template>
|
2
|
-
<
|
3
|
-
<
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
</div>
|
2
|
+
<VioLegalNotice>
|
3
|
+
<template #responsibilityAddress>
|
4
|
+
<i18n-t keypath="responsibilityAddress">
|
5
|
+
<template #br>
|
6
|
+
<br />
|
7
|
+
</template>
|
8
|
+
<template #city>
|
9
|
+
{{ appConfig.privacyPolicy.hostingCdn.external.address.city }}
|
10
|
+
</template>
|
11
|
+
<template #name>
|
12
|
+
{{ appConfig.privacyPolicy.hostingCdn.external.address.name }}
|
13
|
+
</template>
|
14
|
+
<template #street>
|
15
|
+
{{ appConfig.privacyPolicy.hostingCdn.external.address.street }}
|
16
|
+
</template>
|
17
|
+
</i18n-t>
|
18
|
+
</template>
|
19
|
+
<template #tmgAddress>
|
20
|
+
<i18n-t keypath="tmgAddress">
|
21
|
+
<template #br>
|
22
|
+
<br />
|
23
|
+
</template>
|
24
|
+
<template #city>
|
25
|
+
{{ appConfig.privacyPolicy.hostingCdn.external.address.city }}
|
26
|
+
</template>
|
27
|
+
<template #name>
|
28
|
+
{{ appConfig.privacyPolicy.hostingCdn.external.address.name }}
|
29
|
+
</template>
|
30
|
+
<template #street>
|
31
|
+
{{ appConfig.privacyPolicy.hostingCdn.external.address.street }}
|
32
|
+
</template>
|
33
|
+
</i18n-t>
|
34
|
+
</template>
|
35
|
+
</VioLegalNotice>
|
37
36
|
</template>
|
38
37
|
|
39
38
|
<script setup lang="ts">
|
40
|
-
const
|
41
|
-
|
42
|
-
// data
|
43
|
-
const title = t('title')
|
39
|
+
const appConfig = useAppConfig()
|
44
40
|
|
45
|
-
//
|
46
|
-
|
41
|
+
// TODO: use i18n-t without useI18n (https://github.com/nuxt-modules/i18n/issues/1731)
|
42
|
+
const x = useI18n() // eslint-disable-line @typescript-eslint/no-unused-vars
|
47
43
|
</script>
|
48
44
|
|
49
45
|
<i18n lang="yaml">
|
50
46
|
de:
|
51
|
-
|
52
|
-
|
53
|
-
addressStreet: Fünffensterstraße 18
|
54
|
-
contact: Kontakt
|
55
|
-
copyrightDescription1: Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet.
|
56
|
-
copyrightDescription2: Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.
|
57
|
-
copyrightTitle: Urheberrecht
|
58
|
-
email: "E-Mail: server+legal-notice{'@'}jonas-thelemann.de"
|
59
|
-
liabilityContentDescription1: Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen.
|
60
|
-
liabilityContentDescription2: Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.
|
61
|
-
liabilityContentTitle: Haftung für Inhalte
|
62
|
-
liabilityLinksDescription1: Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar.
|
63
|
-
liabilityLinksDescription2: Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.
|
64
|
-
liabilityLinksTitle: Haftung für Links
|
65
|
-
responsibility: Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV
|
66
|
-
source: Quelle
|
67
|
-
title: Impressum
|
68
|
-
tmg: Angaben gemäß § 5 TMG
|
47
|
+
tmgAddress: '{name}{br}{street}{br}{city}'
|
48
|
+
responsibilityAddress: '{name}{br}{street}{br}{city}'
|
69
49
|
en:
|
70
|
-
|
71
|
-
|
72
|
-
addressStreet: Fünffensterstraße 18
|
73
|
-
contact: Contact
|
74
|
-
copyrightDescription1: The content and works created by the site operators on these pages are subject to German copyright law. The reproduction, editing, distribution and any kind of exploitation outside the limits of copyright require the written consent of the respective author or creator. Downloads and copies of this site are only permitted for private, non-commercial use.
|
75
|
-
copyrightDescription2: Insofar as the content on this page was not created by the operator, the copyrights of third parties are respected. In particular, third-party content is identified as such. Should you nevertheless become aware of a copyright infringement, we request that you notify us accordingly. If we become aware of any infringements, we will remove such content immediately.
|
76
|
-
copyrightTitle: Copyright
|
77
|
-
email: "Email: server+legal-notice{'@'}jonas-thelemann.de"
|
78
|
-
liabilityContentDescription1: As a service provider, we are responsible for our own content on these pages in accordance with general legislation pursuant to Section 7 (1) of the German Telemedia Act (TMG). According to §§ 8 to 10 TMG, however, we are not obligated as a service provider to monitor transmitted or stored third-party information or to investigate circumstances that indicate illegal activity.
|
79
|
-
liabilityContentDescription2: Obligations to remove or block the use of information according to general laws remain unaffected. However, liability in this regard is only possible from the time of knowledge of a concrete infringement. If we become aware of such infringements, we will remove this content immediately.
|
80
|
-
liabilityContentTitle: Liability for content
|
81
|
-
liabilityLinksDescription1: Our offer contains links to external websites of third parties, on whose contents we have no influence. Therefore, we cannot assume any liability for these external contents. The respective provider or operator of the pages is always responsible for the content of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking.
|
82
|
-
liabilityLinksDescription2: However, a permanent control of the contents of the linked pages is not reasonable without concrete evidence of a violation of the law. If we become aware of any infringements, we will remove such links immediately.
|
83
|
-
liabilityLinksTitle: Liability for links
|
84
|
-
responsibility: Responsible for the content according to § 55 para. 2 RStV
|
85
|
-
source: Source
|
86
|
-
title: Legal notice
|
87
|
-
tmg: Information according to § 5 TMG
|
50
|
+
tmgAddress: '{name}{br}{street}{br}{city}'
|
51
|
+
responsibilityAddress: '{name}{br}{street}{br}{city}'
|
88
52
|
</i18n>
|