@nuxtify/pages 0.3.3 → 0.4.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.
@@ -1,142 +1,112 @@
1
1
  <script setup>
2
2
  import { mdiArrowTopRight, useNuxtifyConfig } from "#imports";
3
3
  const nuxtifyConfig = useNuxtifyConfig();
4
- const footerPrimaryLinks = nuxtifyConfig.navigation?.footerPrimary;
5
- const footerSecondaryLinks = nuxtifyConfig.navigation?.footerSecondary;
4
+ const footerPrimaryLinks = nuxtifyConfig.navigation?.altPrimary;
5
+ const footerSecondaryLinks = nuxtifyConfig.navigation?.altSecondary;
6
6
  </script>
7
7
 
8
8
  <template>
9
- <v-row
10
- class="px-sm-1 pt-12 pb-4 mb-1"
11
- style="max-width: 1280px"
12
- >
13
- <v-col cols="12">
14
- <FooterCallToAction v-if="nuxtifyConfig.footer?.cta?.show" />
15
-
16
- <v-row class="mb-2">
17
- <!-- Brand -->
18
- <v-col
19
- cols="12"
20
- :lg="footerPrimaryLinks?.length === 4 ? 3 : 4"
21
- >
22
- <!-- Logo -->
23
- <AppLogo dark />
24
-
25
- <!-- Tagline -->
26
- <p class="mt-2 clip-text">
27
- {{ nuxtifyConfig.brand?.tagline }}
28
- </p>
29
- </v-col>
30
-
31
- <v-spacer />
32
-
33
- <!-- Primary Links -->
34
- <v-col
35
- v-for="group in footerPrimaryLinks"
36
- :key="group.title"
37
- cols="6"
38
- md="3"
39
- lg="2"
40
- >
41
- <p class="text-body-1 font-weight-bold mb-3">
42
- {{ group.title }}
43
- </p>
44
- <div
45
- v-for="link in group.links"
46
- :key="link.text"
47
- >
48
- <v-btn
49
- :to="link.to"
50
- :href="link.href"
51
- variant="text"
52
- :active="false"
53
- :ripple="false"
54
- :target="link.openInNew ? '_blank' : void 0"
55
- :rel="link.openInNew ? 'noopener nofollow' : void 0"
56
- class="px-0"
57
- >
58
- {{ link.text }}
59
- <v-icon
60
- v-if="link.openInNew"
61
- :icon="mdiArrowTopRight"
62
- size="small"
63
- color="grey"
64
- class="ml-1"
65
- />
66
- </v-btn>
67
- </div>
68
- </v-col>
69
- </v-row>
70
-
71
- <v-row>
72
- <v-col
73
- cols="12"
74
- sm="9"
75
- >
76
- <small>
77
- <!-- Copyright -->
78
- ©
79
- {{
80
- nuxtifyConfig.footer?.copyright || nuxtifyConfig.brand?.name || nuxtifyConfig.brand?.domain
81
- }}.
82
-
83
- <!-- Credits -->
84
- {{ nuxtifyConfig.credits?.prependText }}
85
- <span v-if="nuxtifyConfig.credits?.creator?.name">
86
- <a
87
- v-if="nuxtifyConfig.credits.creator.domain"
88
- :href="`https://${nuxtifyConfig.credits.creator.domain}/?utm_source=${nuxtifyConfig.brand?.domain}&utm_medium=referral&utm_campaign=createdby`"
89
- target="_blank"
90
- rel="noopener nofollow"
91
- class="font-weight-bold"
92
- >{{ nuxtifyConfig.credits?.creator?.name }}</a><span v-else>{{ nuxtifyConfig.credits?.creator?.name }}</span>.
93
- </span>
94
-
95
- <!-- Message -->
96
- {{ nuxtifyConfig.credits?.appendText }}
97
-
98
- <!-- Powered By -->
99
- <span v-if="nuxtifyConfig.credits?.showPoweredBy">
100
- <a
101
- :href="`https://nuxtify.dev/?utm_source=${nuxtifyConfig.brand?.domain}&utm_medium=referral&utm_campaign=poweredby`"
102
- target="_blank"
103
- rel="noopener nofollow"
104
- >Powered by Nuxtify</a>.
105
- </span>
106
- </small>
107
-
108
- <v-divider
109
- v-if="footerSecondaryLinks?.length"
110
- class="my-4"
111
- style="width: 50px"
112
- />
113
-
114
- <!-- Secondary Links -->
115
- <v-btn
116
- v-for="link in footerSecondaryLinks"
117
- :key="link.text"
118
- :to="link.to"
119
- :href="link.href"
120
- variant="plain"
121
- size="small"
122
- :ripple="false"
123
- :target="link.openInNew ? '_blank' : void 0"
124
- :rel="link.openInNew ? 'noopener nofollow' : void 0"
125
- class="text-capitalize pl-0 mb-2"
126
- >
127
- {{ link.text }}
128
- <v-icon
129
- v-if="link.openInNew"
130
- :icon="mdiArrowTopRight"
131
- size="small"
132
- color="grey"
133
- class="ml-1"
134
- />
135
- </v-btn>
136
- </v-col>
137
- </v-row>
138
- </v-col>
139
- </v-row>
9
+ <v-row
10
+ class="px-sm-1 pt-12 pb-4 mb-1"
11
+ style="max-width: 1280px"
12
+ >
13
+ <v-col cols="12">
14
+ <FooterCallToAction v-if="nuxtifyConfig.footer?.cta?.show" />
15
+
16
+ <v-row class="mb-2">
17
+ <!-- Brand -->
18
+ <v-col
19
+ cols="12"
20
+ :lg="footerPrimaryLinks?.length === 4 ? 3 : 4"
21
+ >
22
+ <!-- Logo -->
23
+ <AppLogo dark />
24
+
25
+ <!-- Tagline -->
26
+ <p class="mt-2 clip-text">
27
+ {{ nuxtifyConfig.brand?.tagline }}
28
+ </p>
29
+ </v-col>
30
+
31
+ <v-spacer />
32
+
33
+ <!-- Primary Links -->
34
+ <v-col
35
+ v-for="group in footerPrimaryLinks"
36
+ :key="group.title"
37
+ cols="6"
38
+ md="3"
39
+ lg="2"
40
+ >
41
+ <p class="text-body-1 font-weight-bold mb-3">
42
+ {{ group.title }}
43
+ </p>
44
+ <div
45
+ v-for="link in group.links"
46
+ :key="link.text"
47
+ >
48
+ <v-btn
49
+ :to="link.to"
50
+ :href="link.href"
51
+ variant="text"
52
+ :active="false"
53
+ :ripple="false"
54
+ :target="link.openInNew ? '_blank' : void 0"
55
+ :rel="link.openInNew ? 'noopener nofollow' : void 0"
56
+ class="px-0"
57
+ >
58
+ {{ link.text }}
59
+ <v-icon
60
+ v-if="link.openInNew"
61
+ :icon="mdiArrowTopRight"
62
+ size="small"
63
+ color="grey"
64
+ class="ml-1"
65
+ />
66
+ </v-btn>
67
+ </div>
68
+ </v-col>
69
+ </v-row>
70
+
71
+ <v-row>
72
+ <v-col
73
+ cols="12"
74
+ sm="9"
75
+ >
76
+ <AppCredits />
77
+
78
+ <v-divider
79
+ v-if="footerSecondaryLinks?.length"
80
+ class="my-4"
81
+ style="width: 50px"
82
+ />
83
+
84
+ <!-- Secondary Links -->
85
+ <v-btn
86
+ v-for="link in footerSecondaryLinks"
87
+ :key="link.text"
88
+ :to="link.to"
89
+ :href="link.href"
90
+ variant="plain"
91
+ size="small"
92
+ :ripple="false"
93
+ :target="link.openInNew ? '_blank' : void 0"
94
+ :rel="link.openInNew ? 'noopener nofollow' : void 0"
95
+ class="text-capitalize pl-0 mb-2"
96
+ >
97
+ {{ link.text }}
98
+ <v-icon
99
+ v-if="link.openInNew"
100
+ :icon="mdiArrowTopRight"
101
+ size="small"
102
+ color="grey"
103
+ class="ml-1"
104
+ />
105
+ </v-btn>
106
+ </v-col>
107
+ </v-row>
108
+ </v-col>
109
+ </v-row>
140
110
  </template>
141
111
 
142
112
  <style scoped>
@@ -9,89 +9,89 @@ const featuredSecondaryLink = secondaryNavLinks?.slice(0, 1)[0];
9
9
  </script>
10
10
 
11
11
  <template>
12
- <v-navigation-drawer
13
- v-if="smAndDown"
14
- v-model="drawer"
15
- location="right"
16
- >
17
- <nav>
18
- <v-list nav>
19
- <!-- Primary links -->
20
- <v-list-item
21
- v-for="(link, i) in primaryNavLinks"
22
- :key="i"
23
- :to="link.to"
24
- :href="link.href"
25
- :prepend-icon="link.icon"
26
- color="primary"
27
- :target="link.openInNew ? '_blank' : void 0"
28
- :rel="link.openInNew ? 'noopener nofollow' : void 0"
29
- slim
30
- exact
31
- >
32
- <v-list-item-title class="text-subtitle-1 font-weight-bold py-1">
33
- {{ link.text }}
34
- <v-icon
35
- v-if="link.openInNew"
36
- :icon="mdiArrowTopRight"
37
- size="x-small"
38
- color="grey"
39
- class="ml-1"
40
- />
41
- </v-list-item-title>
42
- </v-list-item>
43
-
44
- <!-- Secondary links -->
45
- <v-list-item
46
- v-for="link in secondaryNavLinks?.slice(1).reverse()"
47
- :key="link.text"
48
- :to="link.to"
49
- :href="link.href"
50
- :prepend-icon="link.icon"
51
- :target="link.openInNew ? '_blank' : void 0"
52
- :rel="link.openInNew ? 'noopener nofollow' : void 0"
53
- slim
54
- exact
55
- >
56
- <v-list-item-title class="text-subtitle-1 font-weight-bold py-1">
57
- {{ link.text }}
58
- <v-icon
59
- v-if="link.openInNew"
60
- :icon="mdiArrowTopRight"
61
- size="x-small"
62
- color="grey"
63
- class="ml-1"
64
- />
65
- </v-list-item-title>
66
- </v-list-item>
67
- </v-list>
68
- </nav>
69
-
70
- <template #append>
71
- <!-- Featured secondary link -->
72
- <div
73
- v-if="featuredSecondaryLink?.text"
74
- class="ma-2"
75
- >
76
- <v-btn
77
- :to="featuredSecondaryLink.to"
78
- :href="featuredSecondaryLink.href"
79
- :prepend-icon="featuredSecondaryLink.icon"
80
- variant="flat"
81
- size="large"
82
- :target="featuredSecondaryLink.openInNew ? '_blank' : void 0"
83
- :rel="featuredSecondaryLink.openInNew ? 'noopener nofollow' : void 0"
84
- block
85
- >
86
- {{ featuredSecondaryLink.text }}
87
- <v-icon
88
- v-if="featuredSecondaryLink.openInNew"
89
- :icon="mdiArrowTopRight"
90
- size="small"
91
- class="ml-1"
92
- />
93
- </v-btn>
94
- </div>
95
- </template>
96
- </v-navigation-drawer>
12
+ <v-navigation-drawer
13
+ v-if="smAndDown"
14
+ v-model="drawer"
15
+ location="right"
16
+ >
17
+ <nav>
18
+ <v-list nav>
19
+ <!-- Primary links -->
20
+ <v-list-item
21
+ v-for="(link, i) in primaryNavLinks"
22
+ :key="i"
23
+ :to="link.to"
24
+ :href="link.href"
25
+ :prepend-icon="link.icon"
26
+ color="primary"
27
+ :target="link.openInNew ? '_blank' : void 0"
28
+ :rel="link.openInNew ? 'noopener nofollow' : void 0"
29
+ slim
30
+ exact
31
+ >
32
+ <v-list-item-title class="text-subtitle-1 font-weight-bold py-1">
33
+ {{ link.text }}
34
+ <v-icon
35
+ v-if="link.openInNew"
36
+ :icon="mdiArrowTopRight"
37
+ size="x-small"
38
+ color="grey"
39
+ class="ml-1"
40
+ />
41
+ </v-list-item-title>
42
+ </v-list-item>
43
+
44
+ <!-- Secondary links -->
45
+ <v-list-item
46
+ v-for="link in secondaryNavLinks?.slice(1).reverse()"
47
+ :key="link.text"
48
+ :to="link.to"
49
+ :href="link.href"
50
+ :prepend-icon="link.icon"
51
+ :target="link.openInNew ? '_blank' : void 0"
52
+ :rel="link.openInNew ? 'noopener nofollow' : void 0"
53
+ slim
54
+ exact
55
+ >
56
+ <v-list-item-title class="text-subtitle-1 font-weight-bold py-1">
57
+ {{ link.text }}
58
+ <v-icon
59
+ v-if="link.openInNew"
60
+ :icon="mdiArrowTopRight"
61
+ size="x-small"
62
+ color="grey"
63
+ class="ml-1"
64
+ />
65
+ </v-list-item-title>
66
+ </v-list-item>
67
+ </v-list>
68
+ </nav>
69
+
70
+ <template #append>
71
+ <!-- Featured secondary link -->
72
+ <div
73
+ v-if="featuredSecondaryLink?.text"
74
+ class="ma-2"
75
+ >
76
+ <v-btn
77
+ :to="featuredSecondaryLink.to"
78
+ :href="featuredSecondaryLink.href"
79
+ :prepend-icon="featuredSecondaryLink.icon"
80
+ variant="flat"
81
+ size="large"
82
+ :target="featuredSecondaryLink.openInNew ? '_blank' : void 0"
83
+ :rel="featuredSecondaryLink.openInNew ? 'noopener nofollow' : void 0"
84
+ block
85
+ >
86
+ {{ featuredSecondaryLink.text }}
87
+ <v-icon
88
+ v-if="featuredSecondaryLink.openInNew"
89
+ :icon="mdiArrowTopRight"
90
+ size="small"
91
+ class="ml-1"
92
+ />
93
+ </v-btn>
94
+ </div>
95
+ </template>
96
+ </v-navigation-drawer>
97
97
  </template>
@@ -1,33 +1,34 @@
1
1
  <script setup>
2
- import { useDisplay, useNuxtifyConfig } from "#imports";
2
+ import { useDisplay, useNuxtifyConfig, useNuxtifySiteTitle } from "#imports";
3
3
  const nuxtifyConfig = useNuxtifyConfig();
4
4
  const { mdAndUp } = useDisplay();
5
+ useNuxtifySiteTitle();
5
6
  </script>
6
7
 
7
8
  <template>
8
- <v-app>
9
- <!-- Accessibility -->
10
- <NuxtRouteAnnouncer />
11
-
12
- <AppBar class="d-print-none" />
13
-
14
- <AppNavigationDrawer class="d-print-none" />
15
-
16
- <AppAnnouncementBar
17
- v-if="nuxtifyConfig.announcement?.show"
18
- class="d-print-none"
19
- />
20
-
21
- <v-main :min-height="mdAndUp ? 800 : 550">
22
- <slot />
23
- </v-main>
24
-
25
- <AppToast class="d-print-none" />
26
-
27
- <AppDialog class="d-print-none" />
28
-
29
- <v-footer class="bg-primary justify-center mt-8">
30
- <AppFooter />
31
- </v-footer>
32
- </v-app>
9
+ <v-app>
10
+ <!-- Accessibility -->
11
+ <NuxtRouteAnnouncer />
12
+
13
+ <AppBar class="d-print-none" />
14
+
15
+ <AppNavigationDrawer class="d-print-none" />
16
+
17
+ <AppAnnouncementBar
18
+ v-if="nuxtifyConfig.announcement?.show"
19
+ class="d-print-none"
20
+ />
21
+
22
+ <v-main :min-height="mdAndUp ? 800 : 550">
23
+ <slot />
24
+ </v-main>
25
+
26
+ <AppToast class="d-print-none" />
27
+
28
+ <AppDialog class="d-print-none" />
29
+
30
+ <v-footer class="bg-primary justify-center mt-8">
31
+ <AppFooter />
32
+ </v-footer>
33
+ </v-app>
33
34
  </template>
@@ -4,18 +4,18 @@ const route = useRoute();
4
4
  </script>
5
5
 
6
6
  <template>
7
- <v-container>
8
- <v-row justify="center">
9
- <v-col
10
- cols="12"
11
- sm="10"
12
- lg="8"
13
- xl="6"
14
- >
15
- <h1 class="text-h5 mt-4">
16
- {{ capitalizeFirstLetter(route.params.slug) }}
17
- </h1>
18
- </v-col>
19
- </v-row>
20
- </v-container>
7
+ <v-container>
8
+ <v-row justify="center">
9
+ <v-col
10
+ cols="12"
11
+ sm="10"
12
+ lg="8"
13
+ xl="6"
14
+ >
15
+ <h1 class="text-h5 mt-4">
16
+ {{ capitalizeFirstLetter(route.params.slug) }}
17
+ </h1>
18
+ </v-col>
19
+ </v-row>
20
+ </v-container>
21
21
  </template>
@@ -8,16 +8,16 @@ useServerSeoMeta({
8
8
  </script>
9
9
 
10
10
  <template>
11
- <v-container class="text-center">
12
- <v-row>
13
- <v-col cols="12">
14
- <ClientOnly>
15
- <h1>{{ nuxtifyConfig.brand?.name }} Home</h1>
16
- <template #fallback>
17
- <AppLoading />
18
- </template>
19
- </ClientOnly>
20
- </v-col>
21
- </v-row>
22
- </v-container>
11
+ <v-container class="text-center">
12
+ <v-row>
13
+ <v-col cols="12">
14
+ <ClientOnly>
15
+ <h1>{{ nuxtifyConfig.brand?.name }} Home</h1>
16
+ <template #fallback>
17
+ <AppLoading />
18
+ </template>
19
+ </ClientOnly>
20
+ </v-col>
21
+ </v-row>
22
+ </v-container>
23
23
  </template>
@@ -1,3 +1,3 @@
1
- {
2
- "extends": "../../../.nuxt/tsconfig.server.json",
3
- }
1
+ {
2
+ "extends": "../../../.nuxt/tsconfig.server.json",
3
+ }