configuraciones de eslint y prettier
This commit is contained in:
14
.vscode/settings.json
vendored
14
.vscode/settings.json
vendored
@@ -7,5 +7,19 @@
|
|||||||
},
|
},
|
||||||
"files.readonlyInclude": {
|
"files.readonlyInclude": {
|
||||||
"**/routeTree.gen.ts": true
|
"**/routeTree.gen.ts": true
|
||||||
|
},
|
||||||
|
"editor.formatOnSave": true,
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
|
"editor.codeActionsOnSave": {
|
||||||
|
"source.fixAll.eslint": "explicit"
|
||||||
|
},
|
||||||
|
"eslint.validate": [
|
||||||
|
"javascript",
|
||||||
|
"javascriptreact",
|
||||||
|
"typescript",
|
||||||
|
"typescriptreact"
|
||||||
|
],
|
||||||
|
"files.associations": {
|
||||||
|
"*.css": "tailwindcss"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,40 @@
|
|||||||
// @ts-check
|
// @ts-check
|
||||||
|
|
||||||
import { tanstackConfig } from '@tanstack/eslint-config'
|
import { tanstackConfig } from '@tanstack/eslint-config'
|
||||||
|
import eslintConfigPrettier from 'eslint-config-prettier'
|
||||||
|
import importPlugin from 'eslint-plugin-import'
|
||||||
|
|
||||||
export default [...tanstackConfig]
|
export default [
|
||||||
|
...tanstackConfig,
|
||||||
|
// Local overrides to avoid rule overlap and Prettier conflicts
|
||||||
|
{
|
||||||
|
plugins: {
|
||||||
|
import: importPlugin, // <--- Registramos el plugin
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
// Let import/order handle ordering; disable native sort-imports to prevent conflicts
|
||||||
|
'sort-imports': 'off',
|
||||||
|
// Ensure consistent grouping and alphabetical ordering
|
||||||
|
'import/order': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
groups: [
|
||||||
|
'builtin',
|
||||||
|
'external',
|
||||||
|
'internal',
|
||||||
|
'parent',
|
||||||
|
'sibling',
|
||||||
|
'index',
|
||||||
|
'object',
|
||||||
|
'type',
|
||||||
|
],
|
||||||
|
// No blank lines inside or between import groups to avoid multi-save fixes
|
||||||
|
'newlines-between': 'never',
|
||||||
|
alphabetize: { order: 'asc', caseInsensitive: true },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// Turn off any ESLint rules that might conflict with Prettier
|
||||||
|
eslintConfigPrettier,
|
||||||
|
]
|
||||||
|
|||||||
210
src/styles.css
210
src/styles.css
@@ -19,74 +19,121 @@ code {
|
|||||||
}
|
}
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--background: oklch(1 0 0);
|
--background: oklch(0.994 0 0);
|
||||||
--foreground: oklch(0.141 0.005 285.823);
|
--foreground: oklch(0.275 0.1348 262.7129);
|
||||||
--card: oklch(1 0 0);
|
--card: oklch(0.994 0 0);
|
||||||
--card-foreground: oklch(0.141 0.005 285.823);
|
--card-foreground: oklch(0.275 0.1348 262.7129);
|
||||||
--popover: oklch(1 0 0);
|
--popover: oklch(0.9911 0 0);
|
||||||
--popover-foreground: oklch(0.141 0.005 285.823);
|
--popover-foreground: oklch(0.275 0.1348 262.7129);
|
||||||
--primary: oklch(0.21 0.006 285.885);
|
--primary: oklch(0.5332 0.2596 262.6358);
|
||||||
--primary-foreground: oklch(0.985 0 0);
|
--primary-foreground: oklch(1 0 0);
|
||||||
--secondary: oklch(0.967 0.001 286.375);
|
--secondary: oklch(0.954 0.0063 255.4755);
|
||||||
--secondary-foreground: oklch(0.21 0.006 285.885);
|
--secondary-foreground: oklch(0.1344 0 0);
|
||||||
--muted: oklch(0.967 0.001 286.375);
|
--muted: oklch(0.9702 0 0);
|
||||||
--muted-foreground: oklch(0.552 0.016 285.938);
|
--muted-foreground: oklch(0.4386 0 0);
|
||||||
--accent: oklch(0.967 0.001 286.375);
|
--accent: oklch(0.9108 0.046 18.0291);
|
||||||
--accent-foreground: oklch(0.21 0.006 285.885);
|
--accent-foreground: oklch(0.5788 0.2316 259.638);
|
||||||
--destructive: oklch(0.577 0.245 27.325);
|
--destructive: oklch(0.629 0.1902 23.0704);
|
||||||
--destructive-foreground: oklch(0.577 0.245 27.325);
|
--destructive-foreground: oklch(1 0 0);
|
||||||
--border: oklch(0.92 0.004 286.32);
|
--border: oklch(0.93 0.0094 286.2156);
|
||||||
--input: oklch(0.92 0.004 286.32);
|
--input: oklch(0.9401 0 0);
|
||||||
--ring: oklch(0.871 0.006 286.286);
|
--ring: oklch(0 0 0);
|
||||||
--chart-1: oklch(0.646 0.222 41.116);
|
--chart-1: oklch(0.8071 0.1021 247.9427);
|
||||||
--chart-2: oklch(0.6 0.118 184.704);
|
--chart-2: oklch(0.657 0.2293 16.8059);
|
||||||
--chart-3: oklch(0.398 0.07 227.392);
|
--chart-3: oklch(0.8718 0.1716 90.9505);
|
||||||
--chart-4: oklch(0.828 0.189 84.429);
|
--chart-4: oklch(0.5828 0.1809 259.7276);
|
||||||
--chart-5: oklch(0.769 0.188 70.08);
|
--chart-5: oklch(0.7043 0.0854 189.5354);
|
||||||
--radius: 0.625rem;
|
--sidebar: oklch(0.9777 0.0051 247.8763);
|
||||||
--sidebar: oklch(0.985 0 0);
|
--sidebar-foreground: oklch(0 0 0);
|
||||||
--sidebar-foreground: oklch(0.141 0.005 285.823);
|
--sidebar-primary: oklch(0 0 0);
|
||||||
--sidebar-primary: oklch(0.21 0.006 285.885);
|
--sidebar-primary-foreground: oklch(1 0 0);
|
||||||
--sidebar-primary-foreground: oklch(0.985 0 0);
|
--sidebar-accent: oklch(0.9401 0 0);
|
||||||
--sidebar-accent: oklch(0.967 0.001 286.375);
|
--sidebar-accent-foreground: oklch(0.6304 0.2472 28.2698);
|
||||||
--sidebar-accent-foreground: oklch(0.21 0.006 285.885);
|
--sidebar-border: oklch(0.9401 0 0);
|
||||||
--sidebar-border: oklch(0.92 0.004 286.32);
|
--sidebar-ring: oklch(0 0 0);
|
||||||
--sidebar-ring: oklch(0.871 0.006 286.286);
|
--font-sans: Plus Jakarta Sans, sans-serif;
|
||||||
|
--font-serif: Lora, serif;
|
||||||
|
--font-mono: IBM Plex Mono, monospace;
|
||||||
|
--radius: 1.4rem;
|
||||||
|
--shadow-x: 0px;
|
||||||
|
--shadow-y: 2px;
|
||||||
|
--shadow-blur: 3px;
|
||||||
|
--shadow-spread: 0px;
|
||||||
|
--shadow-opacity: 0.16;
|
||||||
|
--shadow-color: hsl(0 0% 0%);
|
||||||
|
--shadow-2xs: 0px 2px 3px 0px hsl(0 0% 0% / 0.08);
|
||||||
|
--shadow-xs: 0px 2px 3px 0px hsl(0 0% 0% / 0.08);
|
||||||
|
--shadow-sm:
|
||||||
|
0px 2px 3px 0px hsl(0 0% 0% / 0.16), 0px 1px 2px -1px hsl(0 0% 0% / 0.16);
|
||||||
|
--shadow:
|
||||||
|
0px 2px 3px 0px hsl(0 0% 0% / 0.16), 0px 1px 2px -1px hsl(0 0% 0% / 0.16);
|
||||||
|
--shadow-md:
|
||||||
|
0px 2px 3px 0px hsl(0 0% 0% / 0.16), 0px 2px 4px -1px hsl(0 0% 0% / 0.16);
|
||||||
|
--shadow-lg:
|
||||||
|
0px 2px 3px 0px hsl(0 0% 0% / 0.16), 0px 4px 6px -1px hsl(0 0% 0% / 0.16);
|
||||||
|
--shadow-xl:
|
||||||
|
0px 2px 3px 0px hsl(0 0% 0% / 0.16), 0px 8px 10px -1px hsl(0 0% 0% / 0.16);
|
||||||
|
--shadow-2xl: 0px 2px 3px 0px hsl(0 0% 0% / 0.4);
|
||||||
|
--tracking-normal: -0.025em;
|
||||||
|
--spacing: 0.27rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dark {
|
.dark {
|
||||||
--background: oklch(0.141 0.005 285.823);
|
--background: oklch(0 0 0);
|
||||||
--foreground: oklch(0.985 0 0);
|
--foreground: oklch(0.9551 0 0);
|
||||||
--card: oklch(0.141 0.005 285.823);
|
--card: oklch(0.1564 0.0688 261.2771);
|
||||||
--card-foreground: oklch(0.985 0 0);
|
--card-foreground: oklch(0.9551 0 0);
|
||||||
--popover: oklch(0.141 0.005 285.823);
|
--popover: oklch(0.2568 0.0076 274.6528);
|
||||||
--popover-foreground: oklch(0.985 0 0);
|
--popover-foreground: oklch(0.9551 0 0);
|
||||||
--primary: oklch(0.985 0 0);
|
--primary: oklch(0.6648 0.1771 264.5722);
|
||||||
--primary-foreground: oklch(0.21 0.006 285.885);
|
--primary-foreground: oklch(1 0 0);
|
||||||
--secondary: oklch(0.274 0.006 286.033);
|
--secondary: oklch(0.294 0.013 272.9312);
|
||||||
--secondary-foreground: oklch(0.985 0 0);
|
--secondary-foreground: oklch(0.9551 0 0);
|
||||||
--muted: oklch(0.274 0.006 286.033);
|
--muted: oklch(0.294 0.013 272.9312);
|
||||||
--muted-foreground: oklch(0.705 0.015 286.067);
|
--muted-foreground: oklch(0.7155 0 0);
|
||||||
--accent: oklch(0.274 0.006 286.033);
|
--accent: oklch(0.342 0.0826 22.4427);
|
||||||
--accent-foreground: oklch(0.985 0 0);
|
--accent-foreground: oklch(0.8871 0.0542 256.13);
|
||||||
--destructive: oklch(0.396 0.141 25.723);
|
--destructive: oklch(0.7106 0.1661 22.2162);
|
||||||
--destructive-foreground: oklch(0.637 0.237 25.331);
|
--destructive-foreground: oklch(1 0 0);
|
||||||
--border: oklch(0.274 0.006 286.033);
|
--border: oklch(0.3289 0.0092 268.3843);
|
||||||
--input: oklch(0.274 0.006 286.033);
|
--input: oklch(0.3289 0.0092 268.3843);
|
||||||
--ring: oklch(0.442 0.017 285.786);
|
--ring: oklch(0.5186 0.2689 263.269);
|
||||||
--chart-1: oklch(0.488 0.243 264.376);
|
--chart-1: oklch(0.6686 0.1794 251.7436);
|
||||||
--chart-2: oklch(0.696 0.17 162.48);
|
--chart-2: oklch(0.6342 0.2516 22.4415);
|
||||||
--chart-3: oklch(0.769 0.188 70.08);
|
--chart-3: oklch(0.8718 0.1716 90.9505);
|
||||||
--chart-4: oklch(0.627 0.265 303.9);
|
--chart-4: oklch(0.4503 0.229 263.0881);
|
||||||
--chart-5: oklch(0.645 0.246 16.439);
|
--chart-5: oklch(0.8322 0.146 185.9404);
|
||||||
--sidebar: oklch(0.21 0.006 285.885);
|
--sidebar: oklch(0.1564 0.0688 261.2771);
|
||||||
--sidebar-foreground: oklch(0.985 0 0);
|
--sidebar-foreground: oklch(0.9551 0 0);
|
||||||
--sidebar-primary: oklch(0.488 0.243 264.376);
|
--sidebar-primary: oklch(0.6048 0.2166 257.2136);
|
||||||
--sidebar-primary-foreground: oklch(0.985 0 0);
|
--sidebar-primary-foreground: oklch(1 0 0);
|
||||||
--sidebar-accent: oklch(0.274 0.006 286.033);
|
--sidebar-accent: oklch(0.2503 0.0763 24.5173);
|
||||||
--sidebar-accent-foreground: oklch(0.985 0 0);
|
--sidebar-accent-foreground: oklch(0.6786 0.2095 24.6583);
|
||||||
--sidebar-border: oklch(0.274 0.006 286.033);
|
--sidebar-border: oklch(0.3289 0.0092 268.3843);
|
||||||
--sidebar-ring: oklch(0.442 0.017 285.786);
|
--sidebar-ring: oklch(0.6048 0.2166 257.2136);
|
||||||
|
--font-sans: Plus Jakarta Sans, sans-serif;
|
||||||
|
--font-serif: Lora, serif;
|
||||||
|
--font-mono: IBM Plex Mono, monospace;
|
||||||
|
--radius: 1.4rem;
|
||||||
|
--shadow-x: 0px;
|
||||||
|
--shadow-y: 2px;
|
||||||
|
--shadow-blur: 3px;
|
||||||
|
--shadow-spread: 0px;
|
||||||
|
--shadow-opacity: 0.16;
|
||||||
|
--shadow-color: hsl(0 0% 0%);
|
||||||
|
--shadow-2xs: 0px 2px 3px 0px hsl(0 0% 0% / 0.08);
|
||||||
|
--shadow-xs: 0px 2px 3px 0px hsl(0 0% 0% / 0.08);
|
||||||
|
--shadow-sm:
|
||||||
|
0px 2px 3px 0px hsl(0 0% 0% / 0.16), 0px 1px 2px -1px hsl(0 0% 0% / 0.16);
|
||||||
|
--shadow:
|
||||||
|
0px 2px 3px 0px hsl(0 0% 0% / 0.16), 0px 1px 2px -1px hsl(0 0% 0% / 0.16);
|
||||||
|
--shadow-md:
|
||||||
|
0px 2px 3px 0px hsl(0 0% 0% / 0.16), 0px 2px 4px -1px hsl(0 0% 0% / 0.16);
|
||||||
|
--shadow-lg:
|
||||||
|
0px 2px 3px 0px hsl(0 0% 0% / 0.16), 0px 4px 6px -1px hsl(0 0% 0% / 0.16);
|
||||||
|
--shadow-xl:
|
||||||
|
0px 2px 3px 0px hsl(0 0% 0% / 0.16), 0px 8px 10px -1px hsl(0 0% 0% / 0.16);
|
||||||
|
--shadow-2xl: 0px 2px 3px 0px hsl(0 0% 0% / 0.4);
|
||||||
}
|
}
|
||||||
|
|
||||||
@theme inline {
|
@theme inline {
|
||||||
@@ -114,10 +161,6 @@ code {
|
|||||||
--color-chart-3: var(--chart-3);
|
--color-chart-3: var(--chart-3);
|
||||||
--color-chart-4: var(--chart-4);
|
--color-chart-4: var(--chart-4);
|
||||||
--color-chart-5: var(--chart-5);
|
--color-chart-5: var(--chart-5);
|
||||||
--radius-sm: calc(var(--radius) - 4px);
|
|
||||||
--radius-md: calc(var(--radius) - 2px);
|
|
||||||
--radius-lg: var(--radius);
|
|
||||||
--radius-xl: calc(var(--radius) + 4px);
|
|
||||||
--color-sidebar: var(--sidebar);
|
--color-sidebar: var(--sidebar);
|
||||||
--color-sidebar-foreground: var(--sidebar-foreground);
|
--color-sidebar-foreground: var(--sidebar-foreground);
|
||||||
--color-sidebar-primary: var(--sidebar-primary);
|
--color-sidebar-primary: var(--sidebar-primary);
|
||||||
@@ -126,6 +169,35 @@ code {
|
|||||||
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
||||||
--color-sidebar-border: var(--sidebar-border);
|
--color-sidebar-border: var(--sidebar-border);
|
||||||
--color-sidebar-ring: var(--sidebar-ring);
|
--color-sidebar-ring: var(--sidebar-ring);
|
||||||
|
|
||||||
|
--font-sans: var(--font-sans);
|
||||||
|
--font-mono: var(--font-mono);
|
||||||
|
--font-serif: var(--font-serif);
|
||||||
|
|
||||||
|
--radius-sm: calc(var(--radius) - 4px);
|
||||||
|
--radius-md: calc(var(--radius) - 2px);
|
||||||
|
--radius-lg: var(--radius);
|
||||||
|
--radius-xl: calc(var(--radius) + 4px);
|
||||||
|
|
||||||
|
--shadow-2xs: var(--shadow-2xs);
|
||||||
|
--shadow-xs: var(--shadow-xs);
|
||||||
|
--shadow-sm: var(--shadow-sm);
|
||||||
|
--shadow: var(--shadow);
|
||||||
|
--shadow-md: var(--shadow-md);
|
||||||
|
--shadow-lg: var(--shadow-lg);
|
||||||
|
--shadow-xl: var(--shadow-xl);
|
||||||
|
--shadow-2xl: var(--shadow-2xl);
|
||||||
|
|
||||||
|
--tracking-tighter: calc(var(--tracking-normal) - 0.05em);
|
||||||
|
--tracking-tight: calc(var(--tracking-normal) - 0.025em);
|
||||||
|
--tracking-normal: var(--tracking-normal);
|
||||||
|
--tracking-wide: calc(var(--tracking-normal) + 0.025em);
|
||||||
|
--tracking-wider: calc(var(--tracking-normal) + 0.05em);
|
||||||
|
--tracking-widest: calc(var(--tracking-normal) + 0.1em);
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
letter-spacing: var(--tracking-normal);
|
||||||
}
|
}
|
||||||
|
|
||||||
@layer base {
|
@layer base {
|
||||||
|
|||||||
@@ -1,17 +1,16 @@
|
|||||||
import { defineConfig } from 'vite'
|
import { fileURLToPath, URL } from "node:url";
|
||||||
import { devtools } from '@tanstack/devtools-vite'
|
import tailwindcss from "@tailwindcss/vite";
|
||||||
import viteReact from '@vitejs/plugin-react'
|
import { devtools } from "@tanstack/devtools-vite";
|
||||||
import tailwindcss from '@tailwindcss/vite'
|
import { tanstackRouter } from "@tanstack/router-plugin/vite";
|
||||||
|
import viteReact from "@vitejs/plugin-react";
|
||||||
import { tanstackRouter } from '@tanstack/router-plugin/vite'
|
import { defineConfig } from "vite";
|
||||||
import { fileURLToPath, URL } from 'node:url'
|
|
||||||
|
|
||||||
// https://vitejs.dev/config/
|
// https://vitejs.dev/config/
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [
|
plugins: [
|
||||||
devtools(),
|
devtools(),
|
||||||
tanstackRouter({
|
tanstackRouter({
|
||||||
target: 'react',
|
target: "react",
|
||||||
autoCodeSplitting: true,
|
autoCodeSplitting: true,
|
||||||
}),
|
}),
|
||||||
viteReact(),
|
viteReact(),
|
||||||
@@ -19,7 +18,7 @@ export default defineConfig({
|
|||||||
],
|
],
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
'@': fileURLToPath(new URL('./src', import.meta.url)),
|
"@": fileURLToPath(new URL("./src", import.meta.url)),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user