Skip to content

Commit 8e7c304

Browse files
committed
Initial commit
0 parents  commit 8e7c304

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+11896
-0
lines changed

.editorconfig

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# editorconfig.org
2+
root = true
3+
4+
[*]
5+
indent_size = 2
6+
indent_style = space
7+
end_of_line = lf
8+
charset = utf-8
9+
trim_trailing_whitespace = true
10+
insert_final_newline = true
11+
12+
[*.md]
13+
trim_trailing_whitespace = false

.env.example

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Production license for @nuxt/ui-pro, get one at https://ui.nuxt.com/pro/purchase
2+
NUXT_UI_PRO_LICENSE=
3+
4+
# Public URL, used for OG Image when running nuxt generate
5+
NUXT_PUBLIC_SITE_URL=

.eslintignore

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
dist
2+
node_modules
3+
.output
4+
.nuxt

.eslintrc.cjs

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
module.exports = {
2+
root: true,
3+
extends: [
4+
'@nuxt/eslint-config'
5+
],
6+
rules: {
7+
// Global
8+
semi: ['error', 'never'],
9+
quotes: ['error', 'single'],
10+
'quote-props': ['error', 'as-needed'],
11+
// Vue
12+
'vue/multi-word-component-names': 0,
13+
'vue/max-attributes-per-line': 'off',
14+
'vue/no-v-html': 0
15+
}
16+
}

.gitignore

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Nuxt dev/build outputs
2+
.output
3+
.data
4+
.nuxt
5+
.nitro
6+
.cache
7+
dist
8+
9+
# Node dependencies
10+
node_modules
11+
12+
# Logs
13+
logs
14+
*.log
15+
16+
# Misc
17+
.DS_Store
18+
.fleet
19+
.idea
20+
21+
# Local env files
22+
.env
23+
.env.*
24+
!.env.example
25+
26+
# VSC
27+
.history

.npmrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
shamefully-hoist=true

README.md

+125
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
![nuxt-ui-pro-docs-template](https://github.com/nuxt-ui-pro/docs/assets/904724/67fc15a7-92f6-4566-95b9-fe099012473c)
2+
3+
# Nuxt UI Pro - SaaS template
4+
5+
[![Nuxt UI Pro](https://img.shields.io/badge/Made%20with-Nuxt%20UI%20Pro-00DC82?logo=nuxt.js&labelColor=020420)](https://ui.nuxt.com/pro)
6+
[![Nuxt Studio](https://img.shields.io/badge/Open%20in%20Nuxt%20Studio-18181B?&logo=nuxt.js&logoColor=3BB5EC)](https://nuxt.studio/themes/docs)
7+
8+
- [Live demo](https://nuxt-ui-pro-template-docs.vercel.app/)
9+
- [Play on Stackblitz](https://stackblitz.com/github/nuxt-ui-pro/docs)
10+
- [Documentation](https://ui.nuxt.com/pro/guide)
11+
- [Clone on Nuxt Studio](https://nuxt.studio/themes/docs)
12+
13+
## Quick Start
14+
15+
```bash [Terminal]
16+
npx nuxi init -t github:nuxt-ui-pro/docs
17+
```
18+
19+
## Setup
20+
21+
Make sure to install the dependencies:
22+
23+
```bash
24+
# npm
25+
npm install
26+
27+
# pnpm
28+
pnpm install
29+
30+
# yarn
31+
yarn install
32+
33+
# bun
34+
bun install
35+
```
36+
37+
## Development Server
38+
39+
Start the development server on `http://localhost:3000`:
40+
41+
```bash
42+
# npm
43+
npm run dev
44+
45+
# pnpm
46+
pnpm run dev
47+
48+
# yarn
49+
yarn dev
50+
51+
# bun
52+
bun run dev
53+
```
54+
55+
## Production
56+
57+
Build the application for production:
58+
59+
```bash
60+
# npm
61+
npm run build
62+
63+
# pnpm
64+
pnpm run build
65+
66+
# yarn
67+
yarn build
68+
69+
# bun
70+
bun run build
71+
```
72+
73+
Locally preview production build:
74+
75+
```bash
76+
# npm
77+
npm run preview
78+
79+
# pnpm
80+
pnpm run preview
81+
82+
# yarn
83+
yarn preview
84+
85+
# bun
86+
bun run preview
87+
```
88+
89+
Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
90+
91+
## Nuxt Studio integration
92+
93+
Add `@nuxthq/studio` dependency to your package.json:
94+
95+
```bash
96+
# npm
97+
npm install --save-dev @nuxthq/studio
98+
99+
# pnpm
100+
pnpm add -D @nuxthq/studio
101+
102+
# yarn
103+
yarn add -D @nuxthq/studio
104+
105+
# bun
106+
bun add -d @nuxthq/studio
107+
```
108+
109+
Add this module to your `nuxt.config.ts`:
110+
111+
```ts
112+
export default defineNuxtConfig({
113+
...
114+
modules: [
115+
...
116+
'@nuxthq/studio'
117+
]
118+
})
119+
```
120+
121+
Read more on [Nuxt Studio docs](https://nuxt.studio/docs/projects/setup).
122+
123+
## Renovate integration
124+
125+
Install [Renovate GitHub app](https://github.com/apps/renovate/installations/select_target) on your repository and you are good to go.

app.config.ts

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
export default defineAppConfig({
2+
ui: {
3+
primary: 'blue',
4+
gray: 'cool',
5+
variables: {
6+
dark: {
7+
background: 'var(--color-gray-950)'
8+
}
9+
},
10+
button: {
11+
rounded: 'rounded-full',
12+
default: {
13+
size: 'md'
14+
}
15+
},
16+
input: {
17+
default: {
18+
size: 'md'
19+
}
20+
},
21+
footer: {
22+
top: {
23+
wrapper: 'border-t border-gray-200 dark:border-gray-800',
24+
container: 'py-8 lg:py-16'
25+
},
26+
bottom: {
27+
wrapper: 'border-t border-gray-200 dark:border-gray-800'
28+
}
29+
},
30+
page: {
31+
hero: {
32+
wrapper: 'lg:py-24'
33+
}
34+
}
35+
}
36+
})

app.vue

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<script setup lang="ts">
2+
const colorMode = useColorMode()
3+
4+
const color = computed(() => colorMode.value === 'dark' ? '#18181b' : 'white')
5+
6+
useHead({
7+
meta: [
8+
{ charset: 'utf-8' },
9+
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
10+
{ key: 'theme-color', name: 'theme-color', content: color }
11+
],
12+
link: [
13+
{ rel: 'icon', href: '/favicon.ico' }
14+
],
15+
htmlAttrs: {
16+
lang: 'en'
17+
}
18+
})
19+
</script>
20+
21+
<template>
22+
<div>
23+
<NuxtLoadingIndicator />
24+
25+
<NuxtLayout>
26+
<NuxtPage />
27+
</NuxtLayout>
28+
29+
<UNotifications />
30+
</div>
31+
</template>

components/Footer.vue

+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
<script setup lang="ts">
2+
const links = [{
3+
label: 'Resources',
4+
children: [{
5+
label: 'Help center'
6+
}, {
7+
label: 'Docs'
8+
}, {
9+
label: 'Roadmap'
10+
}, {
11+
label: 'Changelog'
12+
}]
13+
}, {
14+
label: 'Features',
15+
children: [{
16+
label: 'Affiliates'
17+
}, {
18+
label: 'Portal'
19+
}, {
20+
label: 'Jobs'
21+
}, {
22+
label: 'Sponsors'
23+
}]
24+
}, {
25+
label: 'Company',
26+
children: [{
27+
label: 'About'
28+
}, {
29+
label: 'Pricing'
30+
}, {
31+
label: 'Careers'
32+
}, {
33+
label: 'Blog'
34+
}]
35+
}]
36+
37+
const toast = useToast()
38+
39+
const email = ref('')
40+
const loading = ref(false)
41+
42+
function onSubmit () {
43+
loading.value = true
44+
45+
setTimeout(() => {
46+
toast.add({
47+
title: 'Subscribed!',
48+
description: 'You\'ve been subscribed to our newsletter.'
49+
})
50+
51+
loading.value = false
52+
}, 1000)
53+
}
54+
</script>
55+
56+
<template>
57+
<UFooter>
58+
<template #top>
59+
<UFooterColumns :links="links">
60+
<template #right>
61+
<form @submit.prevent="onSubmit">
62+
<UFormGroup label="Subscribe to our newsletter" :ui="{ container: 'mt-3' }">
63+
<UInput v-model="email" type="email" placeholder="Enter your email" :ui="{ icon: { trailing: { pointer: '' } } }" required size="xl" autocomplete="off" class="max-w-sm" input-class="rounded-full">
64+
<template #trailing>
65+
<UButton type="submit" size="xs" color="primary" :label="loading ? 'Subscribing' : 'Subscribe'" :loading="loading" />
66+
</template>
67+
</UInput>
68+
</UFormGroup>
69+
</form>
70+
</template>
71+
</UFooterColumns>
72+
</template>
73+
74+
<template #left>
75+
<p class="text-gray-500 dark:text-gray-400 text-sm">
76+
Copyright © {{ new Date().getFullYear() }}. All rights reserved.
77+
</p>
78+
</template>
79+
80+
<template #right>
81+
<UColorModeButton size="sm" />
82+
83+
<UButton to="https://github.com/nuxt-ui-pro/sass" target="_blank" icon="i-simple-icons-github" aria-label="GitHub" color="gray" variant="ghost" />
84+
</template>
85+
</UFooter>
86+
</template>

components/Header.vue

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<script setup lang="ts">
2+
import type { NavItem } from '@nuxt/content/dist/runtime/types'
3+
4+
const navigation = inject<NavItem[]>('navigation', [])
5+
6+
const links = [{
7+
label: 'Documentation',
8+
to: '/docs'
9+
}, {
10+
label: 'Pricing',
11+
to: '/pricing'
12+
}, {
13+
label: 'Blog',
14+
to: '/blog'
15+
}, {
16+
label: 'Changelog',
17+
to: '/changelog'
18+
}]
19+
</script>
20+
21+
<template>
22+
<UHeader :links="links">
23+
<template #logo>
24+
Nuxt UI Pro <UBadge label="SaaS" variant="subtle" class="mb-0.5" />
25+
</template>
26+
27+
<template #right>
28+
<UButton label="Sign in" color="gray" to="/login" />
29+
<UButton label="Get started" icon="i-heroicons-arrow-right-20-solid" trailing color="black" class="hidden lg:flex" />
30+
</template>
31+
32+
<template #panel>
33+
<UNavigationTree :links="mapContentNavigation(navigation)" />
34+
</template>
35+
</UHeader>
36+
</template>

0 commit comments

Comments
 (0)