@xenterprises/nuxt-x-marketing 0.0.2 → 0.0.3

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,5 +1,38 @@
1
1
  export default defineAppConfig({
2
- myLayer: {
3
- name: 'My amazing Nuxt layer (overwritten)'
4
- }
5
- })
2
+ xMarketing: {
3
+ name: "My amazing Nuxt layer (overwritten)",
4
+ config: {
5
+ markerProjectId: "67191169861c84dffad87d71",
6
+ },
7
+ footer: {
8
+ logo: "https://cdn.x.enterprises/logo-x.png",
9
+ body: "Rock Your Band's World with Bandmate - the all-in-one platform designed to streamline your band's management, collaboration, and growth. Stay connected, stay inspired, and keep rocking with Bandmate! Follow us on social media and join our newsletter for the latest updates, tips, and industry news. Let's make music together!",
10
+ socials: [
11
+ {
12
+ name: "Instagram",
13
+ url: "https://www.instagram.com/bandmate.io",
14
+ icon: "i-simple-icons-instagram",
15
+ },
16
+ ],
17
+ columns: [
18
+ {
19
+ name: "Product",
20
+ links: [
21
+ {
22
+ name: "Features",
23
+ url: "/features",
24
+ },
25
+ {
26
+ name: "Pricing",
27
+ url: "/pricing",
28
+ },
29
+ {
30
+ name: "Customers",
31
+ url: "/customers",
32
+ },
33
+ ],
34
+ },
35
+ ],
36
+ },
37
+ },
38
+ });
@@ -1,5 +1,5 @@
1
1
  export default defineNuxtConfig({
2
- extends: ["..", "@nuxt/ui-pro"],
2
+ extends: [["..", { install: true }], "@nuxt/ui-pro"],
3
3
  modules: ["@nuxt/ui"],
4
4
  compatibilityDate: "2024-10-23",
5
5
  });
package/app.config.ts CHANGED
@@ -1,14 +1,42 @@
1
1
  export default defineAppConfig({
2
- myLayer: {
3
- name: 'Hello from Nuxt layer'
4
- }
5
- })
2
+ xMarketing: {
3
+ name: "X Enterprises",
4
+ config: {
5
+ markerProjectId: "",
6
+ },
7
+ footer: {
8
+ logo: "",
9
+ body: "",
10
+ socials: [],
11
+ columns: [],
12
+ },
13
+ },
14
+ });
6
15
 
7
- declare module '@nuxt/schema' {
16
+ declare module "@nuxt/schema" {
8
17
  interface AppConfigInput {
9
- myLayer?: {
18
+ xMarketing?: {
10
19
  /** Project name */
11
- name?: string
12
- }
20
+ name?: string;
21
+ config?: {
22
+ markerProjectId?: string;
23
+ };
24
+ footer?: {
25
+ body?: string;
26
+ logo?: string;
27
+ socials?: {
28
+ name: string;
29
+ url: string;
30
+ icon: string;
31
+ }[];
32
+ columns?: {
33
+ name: string;
34
+ links: {
35
+ name: string;
36
+ url: string;
37
+ }[];
38
+ }[];
39
+ };
40
+ };
13
41
  }
14
42
  }
package/app.vue CHANGED
@@ -1,14 +1,32 @@
1
1
  <template>
2
2
  <main class="min-h-screen flex flex-col justify-between">
3
3
  <section class="flex-grow">
4
+ <NuxtLoadingIndicator />
4
5
  <NuxtLayout>
5
6
  <NuxtPage />
6
7
  </NuxtLayout>
8
+ <UNotifications />
9
+ <UModals />
7
10
  </section>
8
11
  <section>
12
+ <XFooter />
9
13
  <XFooterXLegal />
10
14
  </section>
11
15
  </main>
12
16
  </template>
13
17
  <script setup>
18
+ import { ref, onMounted } from "vue";
19
+ import markerSDK from "@marker.io/browser";
20
+
21
+ const appConfig = useAppConfig();
22
+ useSeoMeta({
23
+ titleTemplate: `%s`,
24
+ });
25
+ if (appConfig && appConfig?.xMarketing?.config?.markerProjectId) {
26
+ onMounted(() => {
27
+ const widget = markerSDK.loadWidget({
28
+ project: appConfig?.xMarketing?.config?.markerProjectId,
29
+ });
30
+ });
31
+ }
14
32
  </script>
@@ -1,14 +1,14 @@
1
1
  <template>
2
2
  <footer
3
- class="bg-gray-900 text-gray-500 text-xs relative overflow-visible pt-4"
3
+ class="bg-gray-900 text-gray-400 text-xs relative overflow-visible pt-2"
4
4
  >
5
5
  <img
6
6
  src="https://cdn.x.enterprises/logo-x.png"
7
7
  alt="X Enterprises"
8
- class="h-6 w-6 mx-auto -mt-7 relative z-10"
8
+ class="h-6 w-6 mx-auto -mt-5 relative z-10"
9
9
  />
10
10
  <main
11
- class="max-w-screen-xl flex flex-col md:flex-row justify-between items-center px-4 pb-4"
11
+ class="flex flex-col md:flex-row justify-between items-center px-6 pt-3 pb-5"
12
12
  >
13
13
  <div>
14
14
  Copyright &copy;2016-{{ new Date().getFullYear() }} X Enterprises, LLC.
@@ -0,0 +1,90 @@
1
+ <template>
2
+ <div>
3
+ <section class="relative pt-24 bg-black overflow-hidden">
4
+ <img
5
+ class="absolute left-1/2 bottom-0 h-full transform -translate-x-1/2"
6
+ src="/flaro-assets/images/footers/gradient.svg"
7
+ alt=""
8
+ />
9
+ <div class="relative z-10 container px-4 mx-auto">
10
+ <div class="pb-24 border-b border-gray-900">
11
+ <div class="flex flex-wrap -m-8">
12
+ <div class="w-full sm:w-1/2 lg:w-6/12 p-8">
13
+ <div class="lg:max-w-xl">
14
+ <a class="mb-8 inline-block" href="#">
15
+ <img :src="footer?.logo" alt="" class="h-6" />
16
+ </a>
17
+ <p
18
+ class="mb-20 text-gray-400 font-medium leading-relaxed md:max-w-7xl"
19
+ >
20
+ {{ footer?.body }}
21
+ </p>
22
+ <div class="flex flex-wrap -m-1.5">
23
+ <div class="w-auto p-1.5">
24
+ <span
25
+ v-for="(social, index) in footer?.socials"
26
+ :key="index"
27
+ >
28
+ <a :href="social.url" target="_blank">
29
+ <UIcon
30
+ :name="social?.icon"
31
+ class="w-5 h-5"
32
+ :alt="social?.name"
33
+ />
34
+ </a>
35
+ </span>
36
+ </div>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ <div class="w-full sm:w-1/2 lg:w-2/12 p-8"></div>
41
+ <div
42
+ class="w-full sm:w-1/2 lg:w-2/12 p-8"
43
+ v-for="(column, index) in footer.columns"
44
+ :key="index"
45
+ >
46
+ <h3
47
+ class="mb-8 text-sm text-gray-600 uppercase font-semibold leading-normal tracking-px"
48
+ >
49
+ {{ column?.name }}
50
+ </h3>
51
+ <ul>
52
+ <li class="mb-5">
53
+ <nuxt-link
54
+ to="/features"
55
+ class="text-white hover:text-gray-200 font-medium leading-relaxed"
56
+ >Features</nuxt-link
57
+ >
58
+ </li>
59
+ <li class="mb-5">
60
+ <nuxt-link
61
+ to="/who-its-for"
62
+ class="text-white hover:text-gray-200 font-medium leading-relaxed"
63
+ >Who It's For</nuxt-link
64
+ >
65
+ </li>
66
+ <li class="mb-5">
67
+ <nuxt-link
68
+ to="/faqs"
69
+ class="text-white hover:text-gray-200 font-medium leading-relaxed"
70
+ >FAQs</nuxt-link
71
+ >
72
+ </li>
73
+ <li>
74
+ <nuxt-link
75
+ class="text-white hover:text-gray-200 font-medium leading-relaxed"
76
+ >Articles</nuxt-link
77
+ >
78
+ </li>
79
+ </ul>
80
+ </div>
81
+ </div>
82
+ </div>
83
+ </div>
84
+ </section>
85
+ </div>
86
+ </template>
87
+ <script setup>
88
+ const appConfig = useAppConfig();
89
+ const footer = appConfig?.xMarketing?.footer;
90
+ </script>
package/nuxt.config.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  // https://nuxt.com/docs/api/configuration/nuxt-config
2
2
  export default defineNuxtConfig({
3
- devtools: { enabled: true }
4
- })
3
+ devtools: { enabled: true },
4
+ ui: {
5
+ icons: ["heroicons", "simple-icons"],
6
+ },
7
+ });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@xenterprises/nuxt-x-marketing",
3
3
  "type": "module",
4
- "version": "0.0.2",
4
+ "version": "0.0.3",
5
5
  "main": "./nuxt.config.ts",
6
6
  "scripts": {
7
7
  "dev": "nuxi dev .playground",
@@ -16,5 +16,9 @@
16
16
  "nuxt": "^3.13.2",
17
17
  "typescript": "^5.6.3",
18
18
  "vue": "latest"
19
+ },
20
+ "dependencies": {
21
+ "@marker.io/browser": "^0.19.0",
22
+ "simple-icons": "^13.15.0"
19
23
  }
20
24
  }