Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Theycallmeholla committed Nov 27, 2024
0 parents commit 8cbe851
Show file tree
Hide file tree
Showing 51 changed files with 32,802 additions and 0 deletions.
13 changes: 13 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# editorconfig.org
root = true

[*]
indent_size = 2
indent_style = space
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false
4 changes: 4 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Production license for @nuxt/ui-pro, get one at https://ui.nuxt.com/pro/purchase
NUXT_UI_PRO_LICENSE=3AF84B82-2583-4534-A3FE-B7DB5972AB9B
# Public URL, used for OG Image when running nuxt generate
NUXT_PUBLIC_SITE_URL=
27 changes: 27 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Nuxt dev/build outputs
.output
.data
.nuxt
.nitro
.cache
dist

# Node dependencies
node_modules

# Logs
logs
*.log

# Misc
.DS_Store
.fleet
.idea

# Local env files
.env
.env.*
!.env.example

# VSC
.history
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
shamefully-hoist=true
125 changes: 125 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
![nuxt-ui-saas-social-card](https://github.com/nuxt-ui-pro/saas/assets/739984/50bf4ddd-c4d5-47e5-a09e-0f699513dfb5)

# Nuxt UI Pro - SaaS template

[![Nuxt UI Pro](https://img.shields.io/badge/Made%20with-Nuxt%20UI%20Pro-00DC82?logo=nuxt.js&labelColor=020420)](https://ui.nuxt.com/pro)

- [Live demo](https://saas-template.nuxt.dev/)
- [Play on Stackblitz](https://stackblitz.com/github/nuxt-ui-pro/saas)
- [Documentation](https://ui.nuxt.com/pro/getting-started)

[![Deploy to NuxtHub](https://hub.nuxt.com/button.svg)](https://hub.nuxt.com/new?repo=nuxt-ui-pro/saas)

## Quick Start

```bash [Terminal]
npx nuxi init -t github:nuxt-ui-pro/saas
```

## Setup

Make sure to install the dependencies:

```bash
# npm
npm install

# pnpm
pnpm install

# yarn
yarn install

# bun
bun install
```

## Development Server

Start the development server on `http://localhost:3000`:

```bash
# npm
npm run dev

# pnpm
pnpm run dev

# yarn
yarn dev

# bun
bun run dev
```

## Production

Build the application for production:

```bash
# npm
npm run build

# pnpm
pnpm run build

# yarn
yarn build

# bun
bun run build
```

Locally preview production build:

```bash
# npm
npm run preview

# pnpm
pnpm run preview

# yarn
yarn preview

# bun
bun run preview
```

Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.

## Nuxt Studio integration

Add `@nuxthq/studio` dependency to your package.json:

```bash
# npm
npm install --save-dev @nuxthq/studio

# pnpm
pnpm add -D @nuxthq/studio

# yarn
yarn add -D @nuxthq/studio

# bun
bun add -d @nuxthq/studio
```

Add this module to your `nuxt.config.ts`:

```ts
export default defineNuxtConfig({
...
modules: [
...
'@nuxthq/studio'
]
})
```

Read more on [Nuxt Studio docs](https://nuxt.studio/docs/get-started/setup).

## Renovate integration

Install [Renovate GitHub app](https://github.com/apps/renovate/installations/select_target) on your repository and you are good to go.
34 changes: 34 additions & 0 deletions app/app.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
export default defineAppConfig({
ui: {
primary: 'sky',
gray: 'cool',
button: {
rounded: 'rounded-full',
default: {
size: 'md'
}
},
input: {
default: {
size: 'md'
}
},
card: {
rounded: 'rounded-xl'
},
footer: {
top: {
wrapper: 'border-t border-gray-200 dark:border-gray-800',
container: 'py-8 lg:py-16'
},
bottom: {
wrapper: 'border-t border-gray-200 dark:border-gray-800'
}
},
page: {
hero: {
wrapper: 'lg:py-24'
}
}
}
})
38 changes: 38 additions & 0 deletions app/app.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<script setup lang="ts">
const colorMode = useColorMode()
const color = computed(() => colorMode.value === 'dark' ? '#111827' : 'white')
useHead({
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ key: 'theme-color', name: 'theme-color', content: color }
],
link: [
{ rel: 'icon', href: '/favicon.ico' }
],
htmlAttrs: {
lang: 'en'
}
})
useSeoMeta({
titleTemplate: '%s - Nuxt UI Pro - SaaS template',
ogImage: 'https://saas-template.nuxt.dev/social-card.png',
twitterImage: 'https://saas-template.nuxt.dev/social-card.png',
twitterCard: 'summary_large_image'
})
</script>

<template>
<div>
<NuxtLoadingIndicator />

<NuxtLayout>
<NuxtPage />
</NuxtLayout>

<UNotifications />
</div>
</template>
112 changes: 112 additions & 0 deletions app/components/AppFooter.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
<script setup lang="ts">
const links = [{
label: 'Resources',
children: [{
label: 'Help center'
}, {
label: 'Docs'
}, {
label: 'Roadmap'
}, {
label: 'Changelog'
}]
}, {
label: 'Features',
children: [{
label: 'Affiliates'
}, {
label: 'Portal'
}, {
label: 'Jobs'
}, {
label: 'Sponsors'
}]
}, {
label: 'Company',
children: [{
label: 'About'
}, {
label: 'Pricing'
}, {
label: 'Careers'
}, {
label: 'Blog'
}]
}]
const toast = useToast()
const email = ref('')
const loading = ref(false)
function onSubmit() {
loading.value = true
setTimeout(() => {
toast.add({
title: 'Subscribed!',
description: 'You\'ve been subscribed to our newsletter.'
})
loading.value = false
}, 1000)
}
</script>

<template>
<UFooter>
<template #top>
<UFooterColumns :links="links">
<template #right>
<form @submit.prevent="onSubmit">
<UFormGroup
label="Subscribe to our newsletter"
:ui="{ container: 'mt-3' }"
>
<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"
>
<template #trailing>
<UButton
type="submit"
size="xs"
color="primary"
:label="loading ? 'Subscribing' : 'Subscribe'"
:loading="loading"
/>
</template>
</UInput>
</UFormGroup>
</form>
</template>
</UFooterColumns>
</template>

<template #left>
<p class="text-gray-500 dark:text-gray-400 text-sm">
Copyright © {{ new Date().getFullYear() }}. All rights reserved.
</p>
</template>

<template #right>
<UColorModeButton size="sm" />

<UButton
to="https://github.com/nuxt-ui-pro/saas"
target="_blank"
icon="i-simple-icons-github"
aria-label="GitHub"
color="gray"
variant="ghost"
/>
</template>
</UFooter>
</template>
Loading

0 comments on commit 8cbe851

Please sign in to comment.