Spaces:
No application file
No application file
Upload 14 files
Browse files- .gitattributes +1 -0
- .gitignore +24 -0
- README.md +73 -0
- bun.lockb +3 -0
- components.json +20 -0
- eslint.config.js +29 -0
- index.html +24 -0
- package-lock.json +0 -0
- package.json +83 -0
- postcss.config.js +6 -0
- tailwind.config.ts +96 -0
- tsconfig.app.json +30 -0
- tsconfig.json +19 -0
- tsconfig.node.json +22 -0
- vite.config.ts +22 -0
.gitattributes
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
bun.lockb filter=lfs diff=lfs merge=lfs -text
|
.gitignore
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Logs
|
| 2 |
+
logs
|
| 3 |
+
*.log
|
| 4 |
+
npm-debug.log*
|
| 5 |
+
yarn-debug.log*
|
| 6 |
+
yarn-error.log*
|
| 7 |
+
pnpm-debug.log*
|
| 8 |
+
lerna-debug.log*
|
| 9 |
+
|
| 10 |
+
node_modules
|
| 11 |
+
dist
|
| 12 |
+
dist-ssr
|
| 13 |
+
*.local
|
| 14 |
+
|
| 15 |
+
# Editor directories and files
|
| 16 |
+
.vscode/*
|
| 17 |
+
!.vscode/extensions.json
|
| 18 |
+
.idea
|
| 19 |
+
.DS_Store
|
| 20 |
+
*.suo
|
| 21 |
+
*.ntvs*
|
| 22 |
+
*.njsproj
|
| 23 |
+
*.sln
|
| 24 |
+
*.sw?
|
README.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Welcome to your Lovable project
|
| 2 |
+
|
| 3 |
+
## Project info
|
| 4 |
+
|
| 5 |
+
**URL**: https://lovable.dev/projects/8aa9e4c0-6eb6-4e82-be77-bf73d2334003
|
| 6 |
+
|
| 7 |
+
## How can I edit this code?
|
| 8 |
+
|
| 9 |
+
There are several ways of editing your application.
|
| 10 |
+
|
| 11 |
+
**Use Lovable**
|
| 12 |
+
|
| 13 |
+
Simply visit the [Lovable Project](https://lovable.dev/projects/8aa9e4c0-6eb6-4e82-be77-bf73d2334003) and start prompting.
|
| 14 |
+
|
| 15 |
+
Changes made via Lovable will be committed automatically to this repo.
|
| 16 |
+
|
| 17 |
+
**Use your preferred IDE**
|
| 18 |
+
|
| 19 |
+
If you want to work locally using your own IDE, you can clone this repo and push changes. Pushed changes will also be reflected in Lovable.
|
| 20 |
+
|
| 21 |
+
The only requirement is having Node.js & npm installed - [install with nvm](https://github.com/nvm-sh/nvm#installing-and-updating)
|
| 22 |
+
|
| 23 |
+
Follow these steps:
|
| 24 |
+
|
| 25 |
+
```sh
|
| 26 |
+
# Step 1: Clone the repository using the project's Git URL.
|
| 27 |
+
git clone <YOUR_GIT_URL>
|
| 28 |
+
|
| 29 |
+
# Step 2: Navigate to the project directory.
|
| 30 |
+
cd <YOUR_PROJECT_NAME>
|
| 31 |
+
|
| 32 |
+
# Step 3: Install the necessary dependencies.
|
| 33 |
+
npm i
|
| 34 |
+
|
| 35 |
+
# Step 4: Start the development server with auto-reloading and an instant preview.
|
| 36 |
+
npm run dev
|
| 37 |
+
```
|
| 38 |
+
|
| 39 |
+
**Edit a file directly in GitHub**
|
| 40 |
+
|
| 41 |
+
- Navigate to the desired file(s).
|
| 42 |
+
- Click the "Edit" button (pencil icon) at the top right of the file view.
|
| 43 |
+
- Make your changes and commit the changes.
|
| 44 |
+
|
| 45 |
+
**Use GitHub Codespaces**
|
| 46 |
+
|
| 47 |
+
- Navigate to the main page of your repository.
|
| 48 |
+
- Click on the "Code" button (green button) near the top right.
|
| 49 |
+
- Select the "Codespaces" tab.
|
| 50 |
+
- Click on "New codespace" to launch a new Codespace environment.
|
| 51 |
+
- Edit files directly within the Codespace and commit and push your changes once you're done.
|
| 52 |
+
|
| 53 |
+
## What technologies are used for this project?
|
| 54 |
+
|
| 55 |
+
This project is built with:
|
| 56 |
+
|
| 57 |
+
- Vite
|
| 58 |
+
- TypeScript
|
| 59 |
+
- React
|
| 60 |
+
- shadcn-ui
|
| 61 |
+
- Tailwind CSS
|
| 62 |
+
|
| 63 |
+
## How can I deploy this project?
|
| 64 |
+
|
| 65 |
+
Simply open [Lovable](https://lovable.dev/projects/8aa9e4c0-6eb6-4e82-be77-bf73d2334003) and click on Share -> Publish.
|
| 66 |
+
|
| 67 |
+
## Can I connect a custom domain to my Lovable project?
|
| 68 |
+
|
| 69 |
+
Yes, you can!
|
| 70 |
+
|
| 71 |
+
To connect a domain, navigate to Project > Settings > Domains and click Connect Domain.
|
| 72 |
+
|
| 73 |
+
Read more here: [Setting up a custom domain](https://docs.lovable.dev/tips-tricks/custom-domain#step-by-step-guide)
|
bun.lockb
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a3c575fd4a99dc9d1d74a4a7a31b979d577c15f379bc5cb0dd7e823586e98c23
|
| 3 |
+
size 198351
|
components.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"$schema": "https://ui.shadcn.com/schema.json",
|
| 3 |
+
"style": "default",
|
| 4 |
+
"rsc": false,
|
| 5 |
+
"tsx": true,
|
| 6 |
+
"tailwind": {
|
| 7 |
+
"config": "tailwind.config.ts",
|
| 8 |
+
"css": "src/index.css",
|
| 9 |
+
"baseColor": "slate",
|
| 10 |
+
"cssVariables": true,
|
| 11 |
+
"prefix": ""
|
| 12 |
+
},
|
| 13 |
+
"aliases": {
|
| 14 |
+
"components": "@/components",
|
| 15 |
+
"utils": "@/lib/utils",
|
| 16 |
+
"ui": "@/components/ui",
|
| 17 |
+
"lib": "@/lib",
|
| 18 |
+
"hooks": "@/hooks"
|
| 19 |
+
}
|
| 20 |
+
}
|
eslint.config.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import js from "@eslint/js";
|
| 2 |
+
import globals from "globals";
|
| 3 |
+
import reactHooks from "eslint-plugin-react-hooks";
|
| 4 |
+
import reactRefresh from "eslint-plugin-react-refresh";
|
| 5 |
+
import tseslint from "typescript-eslint";
|
| 6 |
+
|
| 7 |
+
export default tseslint.config(
|
| 8 |
+
{ ignores: ["dist"] },
|
| 9 |
+
{
|
| 10 |
+
extends: [js.configs.recommended, ...tseslint.configs.recommended],
|
| 11 |
+
files: ["**/*.{ts,tsx}"],
|
| 12 |
+
languageOptions: {
|
| 13 |
+
ecmaVersion: 2020,
|
| 14 |
+
globals: globals.browser,
|
| 15 |
+
},
|
| 16 |
+
plugins: {
|
| 17 |
+
"react-hooks": reactHooks,
|
| 18 |
+
"react-refresh": reactRefresh,
|
| 19 |
+
},
|
| 20 |
+
rules: {
|
| 21 |
+
...reactHooks.configs.recommended.rules,
|
| 22 |
+
"react-refresh/only-export-components": [
|
| 23 |
+
"warn",
|
| 24 |
+
{ allowConstantExport: true },
|
| 25 |
+
],
|
| 26 |
+
"@typescript-eslint/no-unused-vars": "off",
|
| 27 |
+
},
|
| 28 |
+
}
|
| 29 |
+
);
|
index.html
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8" />
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
| 6 |
+
<title>petset-ui-guardian</title>
|
| 7 |
+
<meta name="description" content="Lovable Generated Project" />
|
| 8 |
+
<meta name="author" content="Lovable" />
|
| 9 |
+
|
| 10 |
+
<meta property="og:title" content="petset-ui-guardian" />
|
| 11 |
+
<meta property="og:description" content="Lovable Generated Project" />
|
| 12 |
+
<meta property="og:type" content="website" />
|
| 13 |
+
<meta property="og:image" content="https://lovable.dev/opengraph-image-p98pqg.png" />
|
| 14 |
+
|
| 15 |
+
<meta name="twitter:card" content="summary_large_image" />
|
| 16 |
+
<meta name="twitter:site" content="@lovable_dev" />
|
| 17 |
+
<meta name="twitter:image" content="https://lovable.dev/opengraph-image-p98pqg.png" />
|
| 18 |
+
</head>
|
| 19 |
+
|
| 20 |
+
<body>
|
| 21 |
+
<div id="root"></div>
|
| 22 |
+
<script type="module" src="/src/main.tsx"></script>
|
| 23 |
+
</body>
|
| 24 |
+
</html>
|
package-lock.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
package.json
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "vite_react_shadcn_ts",
|
| 3 |
+
"private": true,
|
| 4 |
+
"version": "0.0.0",
|
| 5 |
+
"type": "module",
|
| 6 |
+
"scripts": {
|
| 7 |
+
"dev": "vite",
|
| 8 |
+
"build": "vite build",
|
| 9 |
+
"build:dev": "vite build --mode development",
|
| 10 |
+
"lint": "eslint .",
|
| 11 |
+
"preview": "vite preview"
|
| 12 |
+
},
|
| 13 |
+
"dependencies": {
|
| 14 |
+
"@hookform/resolvers": "^3.9.0",
|
| 15 |
+
"@radix-ui/react-accordion": "^1.2.0",
|
| 16 |
+
"@radix-ui/react-alert-dialog": "^1.1.1",
|
| 17 |
+
"@radix-ui/react-aspect-ratio": "^1.1.0",
|
| 18 |
+
"@radix-ui/react-avatar": "^1.1.0",
|
| 19 |
+
"@radix-ui/react-checkbox": "^1.1.1",
|
| 20 |
+
"@radix-ui/react-collapsible": "^1.1.0",
|
| 21 |
+
"@radix-ui/react-context-menu": "^2.2.1",
|
| 22 |
+
"@radix-ui/react-dialog": "^1.1.2",
|
| 23 |
+
"@radix-ui/react-dropdown-menu": "^2.1.1",
|
| 24 |
+
"@radix-ui/react-hover-card": "^1.1.1",
|
| 25 |
+
"@radix-ui/react-label": "^2.1.0",
|
| 26 |
+
"@radix-ui/react-menubar": "^1.1.1",
|
| 27 |
+
"@radix-ui/react-navigation-menu": "^1.2.0",
|
| 28 |
+
"@radix-ui/react-popover": "^1.1.1",
|
| 29 |
+
"@radix-ui/react-progress": "^1.1.0",
|
| 30 |
+
"@radix-ui/react-radio-group": "^1.2.0",
|
| 31 |
+
"@radix-ui/react-scroll-area": "^1.1.0",
|
| 32 |
+
"@radix-ui/react-select": "^2.1.1",
|
| 33 |
+
"@radix-ui/react-separator": "^1.1.0",
|
| 34 |
+
"@radix-ui/react-slider": "^1.2.0",
|
| 35 |
+
"@radix-ui/react-slot": "^1.1.0",
|
| 36 |
+
"@radix-ui/react-switch": "^1.1.0",
|
| 37 |
+
"@radix-ui/react-tabs": "^1.1.0",
|
| 38 |
+
"@radix-ui/react-toast": "^1.2.1",
|
| 39 |
+
"@radix-ui/react-toggle": "^1.1.0",
|
| 40 |
+
"@radix-ui/react-toggle-group": "^1.1.0",
|
| 41 |
+
"@radix-ui/react-tooltip": "^1.1.4",
|
| 42 |
+
"@tanstack/react-query": "^5.56.2",
|
| 43 |
+
"class-variance-authority": "^0.7.1",
|
| 44 |
+
"clsx": "^2.1.1",
|
| 45 |
+
"cmdk": "^1.0.0",
|
| 46 |
+
"date-fns": "^3.6.0",
|
| 47 |
+
"embla-carousel-react": "^8.3.0",
|
| 48 |
+
"input-otp": "^1.2.4",
|
| 49 |
+
"lucide-react": "^0.462.0",
|
| 50 |
+
"next-themes": "^0.3.0",
|
| 51 |
+
"react": "^18.3.1",
|
| 52 |
+
"react-day-picker": "^8.10.1",
|
| 53 |
+
"react-dom": "^18.3.1",
|
| 54 |
+
"react-hook-form": "^7.53.0",
|
| 55 |
+
"react-resizable-panels": "^2.1.3",
|
| 56 |
+
"react-router-dom": "^6.26.2",
|
| 57 |
+
"recharts": "^2.12.7",
|
| 58 |
+
"sonner": "^1.5.0",
|
| 59 |
+
"tailwind-merge": "^2.5.2",
|
| 60 |
+
"tailwindcss-animate": "^1.0.7",
|
| 61 |
+
"vaul": "^0.9.3",
|
| 62 |
+
"zod": "^3.23.8"
|
| 63 |
+
},
|
| 64 |
+
"devDependencies": {
|
| 65 |
+
"@eslint/js": "^9.9.0",
|
| 66 |
+
"@tailwindcss/typography": "^0.5.15",
|
| 67 |
+
"@types/node": "^22.5.5",
|
| 68 |
+
"@types/react": "^18.3.3",
|
| 69 |
+
"@types/react-dom": "^18.3.0",
|
| 70 |
+
"@vitejs/plugin-react-swc": "^3.5.0",
|
| 71 |
+
"autoprefixer": "^10.4.20",
|
| 72 |
+
"eslint": "^9.9.0",
|
| 73 |
+
"eslint-plugin-react-hooks": "^5.1.0-rc.0",
|
| 74 |
+
"eslint-plugin-react-refresh": "^0.4.9",
|
| 75 |
+
"globals": "^15.9.0",
|
| 76 |
+
"lovable-tagger": "^1.1.7",
|
| 77 |
+
"postcss": "^8.4.47",
|
| 78 |
+
"tailwindcss": "^3.4.11",
|
| 79 |
+
"typescript": "^5.5.3",
|
| 80 |
+
"typescript-eslint": "^8.0.1",
|
| 81 |
+
"vite": "^5.4.1"
|
| 82 |
+
}
|
| 83 |
+
}
|
postcss.config.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
export default {
|
| 2 |
+
plugins: {
|
| 3 |
+
tailwindcss: {},
|
| 4 |
+
autoprefixer: {},
|
| 5 |
+
},
|
| 6 |
+
}
|
tailwind.config.ts
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import type { Config } from "tailwindcss";
|
| 2 |
+
|
| 3 |
+
export default {
|
| 4 |
+
darkMode: ["class"],
|
| 5 |
+
content: [
|
| 6 |
+
"./pages/**/*.{ts,tsx}",
|
| 7 |
+
"./components/**/*.{ts,tsx}",
|
| 8 |
+
"./app/**/*.{ts,tsx}",
|
| 9 |
+
"./src/**/*.{ts,tsx}",
|
| 10 |
+
],
|
| 11 |
+
prefix: "",
|
| 12 |
+
theme: {
|
| 13 |
+
container: {
|
| 14 |
+
center: true,
|
| 15 |
+
padding: '2rem',
|
| 16 |
+
screens: {
|
| 17 |
+
'2xl': '1400px'
|
| 18 |
+
}
|
| 19 |
+
},
|
| 20 |
+
extend: {
|
| 21 |
+
colors: {
|
| 22 |
+
border: 'hsl(var(--border))',
|
| 23 |
+
input: 'hsl(var(--input))',
|
| 24 |
+
ring: 'hsl(var(--ring))',
|
| 25 |
+
background: 'hsl(var(--background))',
|
| 26 |
+
foreground: 'hsl(var(--foreground))',
|
| 27 |
+
primary: {
|
| 28 |
+
DEFAULT: 'hsl(var(--primary))',
|
| 29 |
+
foreground: 'hsl(var(--primary-foreground))'
|
| 30 |
+
},
|
| 31 |
+
secondary: {
|
| 32 |
+
DEFAULT: 'hsl(var(--secondary))',
|
| 33 |
+
foreground: 'hsl(var(--secondary-foreground))'
|
| 34 |
+
},
|
| 35 |
+
destructive: {
|
| 36 |
+
DEFAULT: 'hsl(var(--destructive))',
|
| 37 |
+
foreground: 'hsl(var(--destructive-foreground))'
|
| 38 |
+
},
|
| 39 |
+
muted: {
|
| 40 |
+
DEFAULT: 'hsl(var(--muted))',
|
| 41 |
+
foreground: 'hsl(var(--muted-foreground))'
|
| 42 |
+
},
|
| 43 |
+
accent: {
|
| 44 |
+
DEFAULT: 'hsl(var(--accent))',
|
| 45 |
+
foreground: 'hsl(var(--accent-foreground))'
|
| 46 |
+
},
|
| 47 |
+
popover: {
|
| 48 |
+
DEFAULT: 'hsl(var(--popover))',
|
| 49 |
+
foreground: 'hsl(var(--popover-foreground))'
|
| 50 |
+
},
|
| 51 |
+
card: {
|
| 52 |
+
DEFAULT: 'hsl(var(--card))',
|
| 53 |
+
foreground: 'hsl(var(--card-foreground))'
|
| 54 |
+
},
|
| 55 |
+
sidebar: {
|
| 56 |
+
DEFAULT: 'hsl(var(--sidebar-background))',
|
| 57 |
+
foreground: 'hsl(var(--sidebar-foreground))',
|
| 58 |
+
primary: 'hsl(var(--sidebar-primary))',
|
| 59 |
+
'primary-foreground': 'hsl(var(--sidebar-primary-foreground))',
|
| 60 |
+
accent: 'hsl(var(--sidebar-accent))',
|
| 61 |
+
'accent-foreground': 'hsl(var(--sidebar-accent-foreground))',
|
| 62 |
+
border: 'hsl(var(--sidebar-border))',
|
| 63 |
+
ring: 'hsl(var(--sidebar-ring))'
|
| 64 |
+
}
|
| 65 |
+
},
|
| 66 |
+
borderRadius: {
|
| 67 |
+
lg: 'var(--radius)',
|
| 68 |
+
md: 'calc(var(--radius) - 2px)',
|
| 69 |
+
sm: 'calc(var(--radius) - 4px)'
|
| 70 |
+
},
|
| 71 |
+
keyframes: {
|
| 72 |
+
'accordion-down': {
|
| 73 |
+
from: {
|
| 74 |
+
height: '0'
|
| 75 |
+
},
|
| 76 |
+
to: {
|
| 77 |
+
height: 'var(--radix-accordion-content-height)'
|
| 78 |
+
}
|
| 79 |
+
},
|
| 80 |
+
'accordion-up': {
|
| 81 |
+
from: {
|
| 82 |
+
height: 'var(--radix-accordion-content-height)'
|
| 83 |
+
},
|
| 84 |
+
to: {
|
| 85 |
+
height: '0'
|
| 86 |
+
}
|
| 87 |
+
}
|
| 88 |
+
},
|
| 89 |
+
animation: {
|
| 90 |
+
'accordion-down': 'accordion-down 0.2s ease-out',
|
| 91 |
+
'accordion-up': 'accordion-up 0.2s ease-out'
|
| 92 |
+
}
|
| 93 |
+
}
|
| 94 |
+
},
|
| 95 |
+
plugins: [require("tailwindcss-animate")],
|
| 96 |
+
} satisfies Config;
|
tsconfig.app.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"compilerOptions": {
|
| 3 |
+
"target": "ES2020",
|
| 4 |
+
"useDefineForClassFields": true,
|
| 5 |
+
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
| 6 |
+
"module": "ESNext",
|
| 7 |
+
"skipLibCheck": true,
|
| 8 |
+
|
| 9 |
+
/* Bundler mode */
|
| 10 |
+
"moduleResolution": "bundler",
|
| 11 |
+
"allowImportingTsExtensions": true,
|
| 12 |
+
"isolatedModules": true,
|
| 13 |
+
"moduleDetection": "force",
|
| 14 |
+
"noEmit": true,
|
| 15 |
+
"jsx": "react-jsx",
|
| 16 |
+
|
| 17 |
+
/* Linting */
|
| 18 |
+
"strict": false,
|
| 19 |
+
"noUnusedLocals": false,
|
| 20 |
+
"noUnusedParameters": false,
|
| 21 |
+
"noImplicitAny": false,
|
| 22 |
+
"noFallthroughCasesInSwitch": false,
|
| 23 |
+
|
| 24 |
+
"baseUrl": ".",
|
| 25 |
+
"paths": {
|
| 26 |
+
"@/*": ["./src/*"]
|
| 27 |
+
}
|
| 28 |
+
},
|
| 29 |
+
"include": ["src"]
|
| 30 |
+
}
|
tsconfig.json
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"files": [],
|
| 3 |
+
"references": [
|
| 4 |
+
{ "path": "./tsconfig.app.json" },
|
| 5 |
+
{ "path": "./tsconfig.node.json" }
|
| 6 |
+
],
|
| 7 |
+
"compilerOptions": {
|
| 8 |
+
"baseUrl": ".",
|
| 9 |
+
"paths": {
|
| 10 |
+
"@/*": ["./src/*"]
|
| 11 |
+
},
|
| 12 |
+
"noImplicitAny": false,
|
| 13 |
+
"noUnusedParameters": false,
|
| 14 |
+
"skipLibCheck": true,
|
| 15 |
+
"allowJs": true,
|
| 16 |
+
"noUnusedLocals": false,
|
| 17 |
+
"strictNullChecks": false
|
| 18 |
+
}
|
| 19 |
+
}
|
tsconfig.node.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"compilerOptions": {
|
| 3 |
+
"target": "ES2022",
|
| 4 |
+
"lib": ["ES2023"],
|
| 5 |
+
"module": "ESNext",
|
| 6 |
+
"skipLibCheck": true,
|
| 7 |
+
|
| 8 |
+
/* Bundler mode */
|
| 9 |
+
"moduleResolution": "bundler",
|
| 10 |
+
"allowImportingTsExtensions": true,
|
| 11 |
+
"isolatedModules": true,
|
| 12 |
+
"moduleDetection": "force",
|
| 13 |
+
"noEmit": true,
|
| 14 |
+
|
| 15 |
+
/* Linting */
|
| 16 |
+
"strict": true,
|
| 17 |
+
"noUnusedLocals": false,
|
| 18 |
+
"noUnusedParameters": false,
|
| 19 |
+
"noFallthroughCasesInSwitch": true
|
| 20 |
+
},
|
| 21 |
+
"include": ["vite.config.ts"]
|
| 22 |
+
}
|
vite.config.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { defineConfig } from "vite";
|
| 2 |
+
import react from "@vitejs/plugin-react-swc";
|
| 3 |
+
import path from "path";
|
| 4 |
+
import { componentTagger } from "lovable-tagger";
|
| 5 |
+
|
| 6 |
+
// https://vitejs.dev/config/
|
| 7 |
+
export default defineConfig(({ mode }) => ({
|
| 8 |
+
server: {
|
| 9 |
+
host: "::",
|
| 10 |
+
port: 8080,
|
| 11 |
+
},
|
| 12 |
+
plugins: [
|
| 13 |
+
react(),
|
| 14 |
+
mode === 'development' &&
|
| 15 |
+
componentTagger(),
|
| 16 |
+
].filter(Boolean),
|
| 17 |
+
resolve: {
|
| 18 |
+
alias: {
|
| 19 |
+
"@": path.resolve(__dirname, "./src"),
|
| 20 |
+
},
|
| 21 |
+
},
|
| 22 |
+
}));
|