diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 95aefff..0000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,35 +0,0 @@ -/* eslint-env node */ -require('@rushstack/eslint-patch/modern-module-resolution') - -module.exports = { - root: true, - extends: [ - 'plugin:vue/vue3-essential', - 'eslint:recommended', - '@vue/eslint-config-typescript', - '@vue/eslint-config-prettier/skip-formatting' - ], - overrides: [ - { - files: [ - '**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - 'cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}', - 'cypress/support/**/*.{js,ts,jsx,tsx}' - ], - extends: ['plugin:cypress/recommended'] - } - ], - parserOptions: { - ecmaVersion: 'latest' - }, - rules: { - indent: ['error', 2, { SwitchCase: 1 }], - 'prettier/prettier': [ - 'error', - { - endOfLine: 'auto' - } - ], - 'vue/multi-word-component-names': 'off' - } -} diff --git a/.gitignore b/.gitignore index 514d5db..4a7f73a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,32 +1,24 @@ +# Nuxt dev/build outputs +.output +.data +.nuxt +.nitro +.cache +dist + +# Node dependencies +node_modules + # Logs logs *.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* -node_modules +# Misc .DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json +.fleet .idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -*.tsbuildinfo +# Local env files .env +.env.* +!.env.example diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index 93ea3e7..0000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "dbaeumer.vscode-eslint", - "esbenp.prettier-vscode" - ] -} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..d259bb4 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "eslint.experimental.useFlatConfig": true, + "editor.indentSize": "tabSize", + "editor.tabSize": 2, +} \ No newline at end of file diff --git a/README.md b/README.md index 1d3a6b8..f5db2a2 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,75 @@ -# Leim Tools -A congregate of tools used to visualize TTRPG elements and help content creators (mostly me for now tbh) build their worlds. +# Nuxt 3 Minimal Starter -## Timeline -Visual helper for time-related data, such as events, eras and characters. Helpful to know how old a character is while something is happening in the world, or how far two events are separated in the timeline. +Look at the [Nuxt 3 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more. + +## 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. diff --git a/app.vue b/app.vue new file mode 100644 index 0000000..790f6ef --- /dev/null +++ b/app.vue @@ -0,0 +1,21 @@ + + + diff --git a/src/assets/main.css b/assets/main.css similarity index 95% rename from src/assets/main.css rename to assets/main.css index 010919c..71f25ec 100644 --- a/src/assets/main.css +++ b/assets/main.css @@ -2,70 +2,68 @@ @tailwind components; @tailwind utilities; -@layer base { - :root { +:root { --background: 0 0% 100%; --foreground: 222.2 84% 4.9%; - + --muted: 210 40% 96.1%; --muted-foreground: 215.4 16.3% 46.9%; - + --popover: 0 0% 100%; --popover-foreground: 222.2 84% 4.9%; - + --card: 0 0% 100%; --card-foreground: 222.2 84% 4.9%; - + --border: 214.3 31.8% 91.4%; --input: 214.3 31.8% 91.4%; - + --primary: 222.2 47.4% 11.2%; --primary-foreground: 210 40% 98%; - + --secondary: 210 40% 96.1%; --secondary-foreground: 222.2 47.4% 11.2%; - + --accent: 210 40% 96.1%; --accent-foreground: 222.2 47.4% 11.2%; - + --destructive: 0 84.2% 60.2%; --destructive-foreground: 210 40% 98%; - + --ring: 222.2 84% 4.9%; - + --radius: 0.5rem; } - - .dark { + + :root.dark { --background: 222.2 84% 4.9%; --foreground: 210 40% 98%; - + --muted: 217.2 32.6% 17.5%; --muted-foreground: 215 20.2% 65.1%; - + --popover: 222.2 84% 4.9%; --popover-foreground: 210 40% 98%; - + --card: 222.2 84% 4.9%; --card-foreground: 210 40% 98%; - + --border: 217.2 32.6% 17.5%; --input: 217.2 32.6% 17.5%; - + --primary: 210 40% 98%; --primary-foreground: 222.2 47.4% 11.2%; - + --secondary: 217.2 32.6% 17.5%; --secondary-foreground: 210 40% 98%; - + --accent: 217.2 32.6% 17.5%; --accent-foreground: 210 40% 98%; - + --destructive: 0 62.8% 30.6%; --destructive-foreground: 210 40% 98%; - + --ring: 212.7 26.8% 83.9%; - } } @layer base { @@ -75,4 +73,4 @@ body { @apply bg-background text-foreground; } -} +} \ No newline at end of file diff --git a/components.json b/components.json index 9c826ef..be94b1d 100644 --- a/components.json +++ b/components.json @@ -4,11 +4,11 @@ "typescript": true, "tailwind": { "config": "tailwind.config.js", - "css": "src/assets/main.css", + "css": "assets/main.css", "baseColor": "slate", "cssVariables": true }, - "framework": "vite", + "framework": "nuxt", "aliases": { "components": "@/components", "utils": "@/lib/utils" diff --git a/src/components/calendar/Calendar.vue b/components/calendar/Calendar.vue similarity index 100% rename from src/components/calendar/Calendar.vue rename to components/calendar/Calendar.vue diff --git a/src/components/calendar/CalendarCurrentDate.vue b/components/calendar/CalendarCurrentDate.vue similarity index 100% rename from src/components/calendar/CalendarCurrentDate.vue rename to components/calendar/CalendarCurrentDate.vue diff --git a/src/components/calendar/CalendarEvent.vue b/components/calendar/CalendarEvent.vue similarity index 94% rename from src/components/calendar/CalendarEvent.vue rename to components/calendar/CalendarEvent.vue index 7f1c6e5..cfb6b74 100644 --- a/src/components/calendar/CalendarEvent.vue +++ b/components/calendar/CalendarEvent.vue @@ -3,7 +3,6 @@ import { ref } from 'vue' import { cn } from '@/lib/utils' import { areDatesIdentical, type LeimDate } from '@/models/Date' -import { Popover, PopoverTrigger } from '@/components/ui/popover' import type { CalendarEvent } from '@/models/Events' import CalendarEventDetails from './CalendarEventDetails.vue' @@ -26,8 +25,8 @@ function handleClosePopover() { diff --git a/src/components/calendar/CalendarEventDetails.vue b/components/calendar/CalendarEventDetails.vue similarity index 89% rename from src/components/calendar/CalendarEventDetails.vue rename to components/calendar/CalendarEventDetails.vue index c7e3f73..1da2745 100644 --- a/src/components/calendar/CalendarEventDetails.vue +++ b/components/calendar/CalendarEventDetails.vue @@ -12,8 +12,6 @@ import { PhArrowBendDoubleUpLeft, PhArrowBendDoubleUpRight } from '@phosphor-icons/vue' -import { Badge } from '@/components/ui/badge' -import { PopoverContent } from '@/components/ui/popover' const { defaultDate, getFormattedDateTitle, jumpToDate } = useCalendar() const { getRelativeEventFromEvent } = useCalendarEvents() @@ -51,7 +49,7 @@ function handleGotoRelativeEvent(position: 'next' | 'prev' = 'next') {