@nuxtify/pages 0.6.0 → 0.6.1

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/dist/module.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuxtify/pages",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "configKey": "nuxtifyPages",
5
5
  "compatibility": {
6
6
  "nuxt": ">=4.0.0"
package/dist/module.mjs CHANGED
@@ -2,7 +2,7 @@ import { defineNuxtModule, createResolver, useLogger, addLayout, addComponentsDi
2
2
  import { defu } from 'defu';
3
3
 
4
4
  const name = "@nuxtify/pages";
5
- const version = "0.6.0";
5
+ const version = "0.6.1";
6
6
 
7
7
  const module$1 = defineNuxtModule().with({
8
8
  meta: {
@@ -8,7 +8,6 @@ import {
8
8
  ref,
9
9
  submitFormData,
10
10
  useDisplay,
11
- useId,
12
11
  useNuxtifyConfig
13
12
  } from "#imports";
14
13
  const props = defineProps({
@@ -53,7 +52,6 @@ const props = defineProps({
53
52
  default: ""
54
53
  }
55
54
  });
56
- const id = useId();
57
55
  const nuxtifyConfig = useNuxtifyConfig();
58
56
  const { xs } = useDisplay();
59
57
  const form = ref();
@@ -117,76 +115,78 @@ async function handleSubmit() {
117
115
  </script>
118
116
 
119
117
  <template>
120
- <!-- Form -->
121
- <v-form
122
- v-if="!isSubmitted"
123
- ref="form"
124
- validate-on="submit"
125
- @submit.prevent="handleSubmit"
118
+ <v-card
119
+ flat
120
+ max-width="600"
121
+ width="100%"
126
122
  >
127
- <div class="d-sm-flex justify-center">
128
- <!-- Using useId prevents hydration mismatch warnings issue with Vuetify -->
129
- <!-- See: https://github.com/vuetifyjs/vuetify/issues/19696 -->
130
- <!-- Once the issue is resolved (and it's used internally in Vuetify), remove use of useId -->
131
- <v-text-field
132
- :id
133
- v-model="formInput.email"
134
- type="email"
135
- color="secondary"
136
- :placeholder="emailPlaceholder"
137
- :rules="[formRules.required, formRules.validEmail]"
138
- :rounded="xs ? 't-lg' : '0 ts-lg'"
139
- hide-details="auto"
140
- class="text-start"
141
- >
142
- <template #message="{ message }">
143
- <span :class="dark ? 'text-red-lighten-3' : ''">{{ message }}</span>
144
- </template>
145
- </v-text-field>
146
- <v-btn
147
- type="submit"
148
- variant="flat"
149
- color="secondary"
150
- size="x-large"
151
- class="d-flex align-center py-7 mt-2 mt-sm-0"
152
- :loading
153
- :rounded="rounded()"
154
- :append-icon="appendButtonIcon"
155
- :prepend-icon="prependButtonIcon"
156
- :block="xs"
123
+ <!-- Form -->
124
+ <v-form
125
+ v-if="!isSubmitted"
126
+ ref="form"
127
+ validate-on="submit"
128
+ @submit.prevent="handleSubmit"
129
+ >
130
+ <div class="d-flex flex-column flex-sm-row">
131
+ <v-text-field
132
+ v-model="formInput.email"
133
+ type="email"
134
+ variant="outlined"
135
+ color="secondary"
136
+ :placeholder="emailPlaceholder"
137
+ :rules="[formRules.required, formRules.validEmail]"
138
+ :rounded="xs ? 'lg' : '0 s-lg'"
139
+ hide-details="auto"
140
+ class="flex-grow-1 text-start"
141
+ >
142
+ <template #message="{ message }">
143
+ <span :class="dark ? 'text-red-lighten-3' : ''">{{ message }}</span>
144
+ </template>
145
+ </v-text-field>
146
+ <v-btn
147
+ type="submit"
148
+ color="secondary"
149
+ size="x-large"
150
+ class="d-flex align-center py-7 mt-2 mt-sm-0"
151
+ :loading
152
+ :rounded="rounded()"
153
+ :append-icon="appendButtonIcon"
154
+ :prepend-icon="prependButtonIcon"
155
+ :block="xs"
156
+ >
157
+ {{ buttonText }}
158
+ </v-btn>
159
+ </div>
160
+
161
+ <!-- Supporting Text -->
162
+ <div
163
+ v-if="showPrivacy || marketingConsentText"
164
+ :class="`text-body-2 ${dark ? 'text-grey-lighten-2' : 'text-medium-emphasis'} mt-2`"
157
165
  >
158
- {{ buttonText }}
159
- </v-btn>
160
- </div>
166
+ <span v-if="marketingConsentText">
167
+ {{ marketingConsentText }}
168
+ </span>
169
+ <span v-if="showPrivacy">
170
+ By signing up you agree to the
171
+ <NuxtLink
172
+ :to="nuxtifyConfig.policies?.privacyUrl"
173
+ :class="`text-decoration-none ${dark ? 'text-grey-lighten-2' : 'text-medium-emphasis'}`"
174
+ >
175
+ Privacy Policy</NuxtLink>.
176
+ </span>
177
+ </div>
178
+ </v-form>
161
179
 
162
- <!-- Supporting Text -->
180
+ <!-- Thank You -->
163
181
  <div
164
- v-if="showPrivacy || marketingConsentText"
165
- :class="`text-body-2 ${dark ? 'text-grey-lighten-2' : 'text-medium-emphasis'} mt-2`"
182
+ v-else
183
+ class="text-body-1"
166
184
  >
167
- <span v-if="marketingConsentText">
168
- {{ marketingConsentText }}
169
- </span>
170
- <span v-if="showPrivacy">
171
- By signing up you agree to the
172
- <NuxtLink
173
- :to="nuxtifyConfig.policies?.privacyUrl"
174
- :class="`text-decoration-none ${dark ? 'text-grey-lighten-2' : 'text-medium-emphasis'}`"
175
- >
176
- Privacy Policy</NuxtLink>.
177
- </span>
185
+ {{ thankYouMessage }}
178
186
  </div>
179
- </v-form>
180
-
181
- <!-- Thank You -->
182
- <div
183
- v-else
184
- class="text-body-1"
185
- >
186
- {{ thankYouMessage }}
187
- </div>
187
+ </v-card>
188
188
  </template>
189
189
 
190
190
  <style scoped>
191
- :deep(.v-input__details){padding-inline:0}:deep(.v-text-field .v-input__details){padding-inline:0}a:hover{text-decoration:underline!important}
191
+ :deep(.v-input__details){padding-inline:0}:deep(.v-text-field .v-input__details){padding-inline:0}a:hover{text-decoration:underline!important;text-underline-offset:4px}
192
192
  </style>
@@ -14,113 +14,115 @@ const brandColWidth = computed(() => {
14
14
  </script>
15
15
 
16
16
  <template>
17
- <v-row
18
- class="px-sm-1 pt-12 pb-4 mb-1"
19
- style="max-width: 1280px"
20
- >
21
- <v-col cols="12">
22
- <FooterCallToAction v-if="nuxtifyConfig.footer?.cta?.show" />
17
+ <v-footer class="bg-primary justify-center mt-8 mt-md-16">
18
+ <v-row
19
+ class="px-sm-1 pt-12 pb-4 mb-1"
20
+ style="max-width: 1280px"
21
+ >
22
+ <v-col cols="12">
23
+ <FooterCallToAction v-if="nuxtifyConfig.footer?.cta?.show" />
23
24
 
24
- <v-row class="mb-2">
25
- <!-- Brand -->
26
- <v-col
27
- cols="12"
28
- :lg="brandColWidth"
29
- >
30
- <!-- Logo -->
31
- <NuxtLink to="/">
32
- <AppLogo dark />
33
- </NuxtLink>
25
+ <v-row class="mb-2">
26
+ <!-- Brand -->
27
+ <v-col
28
+ cols="12"
29
+ :lg="brandColWidth"
30
+ >
31
+ <!-- Logo -->
32
+ <NuxtLink to="/">
33
+ <AppLogo dark />
34
+ </NuxtLink>
34
35
 
35
- <!-- Tagline -->
36
- <p class="mt-2 clip-text">
37
- {{ nuxtifyConfig.brand?.tagline }}
38
- </p>
39
- </v-col>
36
+ <!-- Tagline -->
37
+ <p class="mt-2 clip-text">
38
+ {{ nuxtifyConfig.brand?.tagline }}
39
+ </p>
40
+ </v-col>
40
41
 
41
- <v-spacer />
42
+ <v-spacer />
42
43
 
43
- <!-- Primary Links -->
44
- <v-col :lg="12 - brandColWidth">
45
- <v-row>
46
- <v-col
47
- v-for="group in footerPrimaryLinks"
48
- :key="group.title"
49
- cols="6"
50
- md="3"
51
- lg="3"
52
- >
53
- <p class="text-body-1 font-weight-bold mb-3">
54
- {{ group.title }}
55
- </p>
56
- <div
57
- v-for="link in group.links"
58
- :key="link.text"
44
+ <!-- Primary Links -->
45
+ <v-col :lg="12 - brandColWidth">
46
+ <v-row>
47
+ <v-col
48
+ v-for="group in footerPrimaryLinks"
49
+ :key="group.title"
50
+ cols="6"
51
+ md="3"
52
+ lg="3"
59
53
  >
60
- <v-btn
61
- :to="link.to"
62
- :href="link.href"
63
- variant="plain"
64
- :active="false"
65
- :ripple="false"
66
- :target="link.openInNew ? '_blank' : void 0"
67
- :rel="link.openInNew ? 'noopener nofollow' : void 0"
68
- class="px-0"
54
+ <p class="opacity-60 text-body-1 mb-3">
55
+ {{ group.title }}
56
+ </p>
57
+ <div
58
+ v-for="link in group.links"
59
+ :key="link.text"
69
60
  >
70
- {{ link.text }}
71
- <v-icon
72
- v-if="link.openInNew"
73
- icon="mdi-arrow-top-right"
74
- size="small"
75
- color="grey"
76
- class="ml-1"
77
- />
78
- </v-btn>
79
- </div>
80
- </v-col>
81
- </v-row>
82
- </v-col>
83
- </v-row>
61
+ <v-btn
62
+ :to="link.to"
63
+ :href="link.href"
64
+ variant="text"
65
+ :active="false"
66
+ :ripple="false"
67
+ :target="link.openInNew ? '_blank' : void 0"
68
+ :rel="link.openInNew ? 'noopener nofollow' : void 0"
69
+ class="px-0"
70
+ >
71
+ {{ link.text }}
72
+ <v-icon
73
+ v-if="link.openInNew"
74
+ icon="mdi-arrow-top-right"
75
+ size="small"
76
+ color="grey"
77
+ class="ml-1"
78
+ />
79
+ </v-btn>
80
+ </div>
81
+ </v-col>
82
+ </v-row>
83
+ </v-col>
84
+ </v-row>
84
85
 
85
- <v-row>
86
- <v-col
87
- cols="12"
88
- sm="9"
89
- >
90
- <AppCredits class="opacity-60" />
86
+ <v-row>
87
+ <v-col
88
+ cols="12"
89
+ sm="9"
90
+ >
91
+ <AppCredits class="opacity-60" />
91
92
 
92
- <v-divider
93
- v-if="footerSecondaryLinks?.length"
94
- class="my-4"
95
- style="width: 50px"
96
- />
93
+ <v-divider
94
+ v-if="footerSecondaryLinks?.length"
95
+ class="my-4"
96
+ style="width: 50px"
97
+ />
97
98
 
98
- <!-- Secondary Links -->
99
- <v-btn
100
- v-for="link in footerSecondaryLinks"
101
- :key="link.text"
102
- :to="link.to"
103
- :href="link.href"
104
- variant="plain"
105
- size="small"
106
- :ripple="false"
107
- :target="link.openInNew ? '_blank' : void 0"
108
- :rel="link.openInNew ? 'noopener nofollow' : void 0"
109
- class="text-capitalize pl-0 mb-2"
110
- >
111
- {{ link.text }}
112
- <v-icon
113
- v-if="link.openInNew"
114
- icon="mdi-arrow-top-right"
99
+ <!-- Secondary Links -->
100
+ <v-btn
101
+ v-for="link in footerSecondaryLinks"
102
+ :key="link.text"
103
+ :to="link.to"
104
+ :href="link.href"
105
+ variant="plain"
115
106
  size="small"
116
- color="grey"
117
- class="ml-1"
118
- />
119
- </v-btn>
120
- </v-col>
121
- </v-row>
122
- </v-col>
123
- </v-row>
107
+ :ripple="false"
108
+ :target="link.openInNew ? '_blank' : void 0"
109
+ :rel="link.openInNew ? 'noopener nofollow' : void 0"
110
+ class="text-capitalize pl-0 mb-2"
111
+ >
112
+ {{ link.text }}
113
+ <v-icon
114
+ v-if="link.openInNew"
115
+ icon="mdi-arrow-top-right"
116
+ size="small"
117
+ color="grey"
118
+ class="ml-1"
119
+ />
120
+ </v-btn>
121
+ </v-col>
122
+ </v-row>
123
+ </v-col>
124
+ </v-row>
125
+ </v-footer>
124
126
  </template>
125
127
 
126
128
  <style scoped>
@@ -27,9 +27,7 @@ useNuxtifySiteTitle();
27
27
 
28
28
  <AppDialog class="d-print-none" />
29
29
 
30
- <v-footer class="bg-primary justify-center mt-8">
31
- <AppFooter />
32
- </v-footer>
30
+ <AppFooter />
33
31
  </v-app>
34
32
  </template>
35
33
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuxtify/pages",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "Nuxtify pages module powered by Nuxt and Vuetify.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://nuxtify.dev",
@@ -44,7 +44,7 @@
44
44
  "test:types": "vue-tsc --noEmit && cd playground && vue-tsc --noEmit"
45
45
  },
46
46
  "dependencies": {
47
- "@nuxtify/core": "^0.4.0",
47
+ "@nuxtify/core": "^0.4.1",
48
48
  "defu": "^6.1.4"
49
49
  },
50
50
  "devDependencies": {