From 62da0c40dbf6787c9e8517be02a014abfc9d4a07 Mon Sep 17 00:00:00 2001 From: Oier Bravo Urtasun Date: Mon, 9 Jun 2025 23:38:35 +0200 Subject: [PATCH] adds tailwind & images --- README.md | 20 +- astro.config.mjs | 8 + package-lock.json | 718 ++++++++++++++++++- package.json | 4 + src/images/logo-txuria.png | Bin 0 -> 3378 bytes src/images/logo-urdina.png | Bin 0 -> 7301 bytes src/images/logo.jpg | Bin 0 -> 6792 bytes src/layouts/{Base.astro => BaseLayout.astro} | 7 + src/pages/index.astro | 44 +- src/styles/global.css | 1 + 10 files changed, 777 insertions(+), 25 deletions(-) create mode 100644 src/images/logo-txuria.png create mode 100644 src/images/logo-urdina.png create mode 100644 src/images/logo.jpg rename src/layouts/{Base.astro => BaseLayout.astro} (64%) create mode 100644 src/styles/global.css diff --git a/README.md b/README.md index fa19bc1..c6b0076 100644 --- a/README.md +++ b/README.md @@ -41,5 +41,21 @@ KEYCLOAK_ISSUER=http://localhost:8180/realms/master # ToDo: -- Service: saldo from mail | read csv,xlsx -- I+D: host astro server \ No newline at end of file +- I+D: host astro server +- Internazionalization +- Theme + - Logo + - Colors + - Active BG: #095885 + --e-global-color-primary: #6EC1E4; + --e-global-color-secondary: #54595F; + --e-global-color-text: #7A7A7A; + --e-global-color-accent: #61CE70; + --e-global-typography-primary-font-family: "Roboto"; + --e-global-typography-primary-font-weight: 600; + --e-global-typography-secondary-font-family: "Roboto Slab"; + --e-global-typography-secondary-font-weight: 400; + --e-global-typography-text-font-family: "Roboto"; + --e-global-typography-text-font-weight: 400; + --e-global-typography-accent-font-family: "Roboto"; + --e-global-typography-accent-font-weight: 500; \ No newline at end of file diff --git a/astro.config.mjs b/astro.config.mjs index bace05c..da24795 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -3,11 +3,19 @@ import { defineConfig } from 'astro/config'; import auth from 'auth-astro'; import node from '@astrojs/node'; +import tailwindcss from '@tailwindcss/vite'; + // https://astro.build/config export default defineConfig({ integrations: [auth()], + adapter: node({ mode: 'standalone', }), + output: 'server', + + vite: { + plugins: [tailwindcss()], + }, }); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 020011c..341b36e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,25 @@ "@auth/core": "^0.37.3", "astro": "^5.9.2", "auth-astro": "^4.2.0", + "tailwindcss": "^4.1.8", "xlsx": "^0.18.5" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.1.8" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/@astrojs/compiler": { @@ -951,12 +969,71 @@ "url": "https://opencollective.com/libvips" } }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "license": "MIT" }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/@oslojs/encoding": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", @@ -1329,6 +1406,282 @@ "tslib": "^2.8.0" } }, + "node_modules/@tailwindcss/node": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.8.tgz", + "integrity": "sha512-OWwBsbC9BFAJelmnNcrKuf+bka2ZxCE2A4Ft53Tkg4uoiE67r/PMEYwCsourC26E+kmxfwE0hVzMdxqeW+xu7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "enhanced-resolve": "^5.18.1", + "jiti": "^2.4.2", + "lightningcss": "1.30.1", + "magic-string": "^0.30.17", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.8" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.8.tgz", + "integrity": "sha512-d7qvv9PsM5N3VNKhwVUhpK6r4h9wtLkJ6lz9ZY9aeZgrUWk1Z8VPyqyDT9MZlem7GTGseRQHkeB1j3tC7W1P+A==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.4", + "tar": "^7.4.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.8", + "@tailwindcss/oxide-darwin-arm64": "4.1.8", + "@tailwindcss/oxide-darwin-x64": "4.1.8", + "@tailwindcss/oxide-freebsd-x64": "4.1.8", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.8", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.8", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.8", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.8", + "@tailwindcss/oxide-linux-x64-musl": "4.1.8", + "@tailwindcss/oxide-wasm32-wasi": "4.1.8", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.8", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.8" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.8.tgz", + "integrity": "sha512-Fbz7qni62uKYceWYvUjRqhGfZKwhZDQhlrJKGtnZfuNtHFqa8wmr+Wn74CTWERiW2hn3mN5gTpOoxWKk0jRxjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.8.tgz", + "integrity": "sha512-RdRvedGsT0vwVVDztvyXhKpsU2ark/BjgG0huo4+2BluxdXo8NDgzl77qh0T1nUxmM11eXwR8jA39ibvSTbi7A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.8.tgz", + "integrity": "sha512-t6PgxjEMLp5Ovf7uMb2OFmb3kqzVTPPakWpBIFzppk4JE4ix0yEtbtSjPbU8+PZETpaYMtXvss2Sdkx8Vs4XRw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.8.tgz", + "integrity": "sha512-g8C8eGEyhHTqwPStSwZNSrOlyx0bhK/V/+zX0Y+n7DoRUzyS8eMbVshVOLJTDDC+Qn9IJnilYbIKzpB9n4aBsg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.8.tgz", + "integrity": "sha512-Jmzr3FA4S2tHhaC6yCjac3rGf7hG9R6Gf2z9i9JFcuyy0u79HfQsh/thifbYTF2ic82KJovKKkIB6Z9TdNhCXQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.8.tgz", + "integrity": "sha512-qq7jXtO1+UEtCmCeBBIRDrPFIVI4ilEQ97qgBGdwXAARrUqSn/L9fUrkb1XP/mvVtoVeR2bt/0L77xx53bPZ/Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.8.tgz", + "integrity": "sha512-O6b8QesPbJCRshsNApsOIpzKt3ztG35gfX9tEf4arD7mwNinsoCKxkj8TgEE0YRjmjtO3r9FlJnT/ENd9EVefQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.8.tgz", + "integrity": "sha512-32iEXX/pXwikshNOGnERAFwFSfiltmijMIAbUhnNyjFr3tmWmMJWQKU2vNcFX0DACSXJ3ZWcSkzNbaKTdngH6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.8.tgz", + "integrity": "sha512-s+VSSD+TfZeMEsCaFaHTaY5YNj3Dri8rST09gMvYQKwPphacRG7wbuQ5ZJMIJXN/puxPcg/nU+ucvWguPpvBDg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.8.tgz", + "integrity": "sha512-CXBPVFkpDjM67sS1psWohZ6g/2/cd+cq56vPxK4JeawelxwK4YECgl9Y9TjkE2qfF+9/s1tHHJqrC4SS6cVvSg==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@emnapi/wasi-threads": "^1.0.2", + "@napi-rs/wasm-runtime": "^0.2.10", + "@tybys/wasm-util": "^0.9.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.8.tgz", + "integrity": "sha512-7GmYk1n28teDHUjPlIx4Z6Z4hHEgvP5ZW2QS9ygnDAdI/myh3HTHjDqtSqgu1BpRoI4OiLx+fThAyA1JePoENA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.8.tgz", + "integrity": "sha512-fou+U20j+Jl0EHwK92spoWISON2OBnCazIc038Xj2TdweYV33ZRkS9nwqiUi2d/Wba5xg5UoHfvynnb/UB49cQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.8.tgz", + "integrity": "sha512-CQ+I8yxNV5/6uGaJjiuymgw0kEQiNKRinYbZXPdx1fk5WgiyReG0VaUx/Xq6aVNSUNJFzxm6o8FNKS5aMaim5A==", + "dev": true, + "dependencies": { + "@tailwindcss/node": "4.1.8", + "@tailwindcss/oxide": "4.1.8", + "tailwindcss": "4.1.8" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6" + } + }, "node_modules/@types/debug": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", @@ -1831,6 +2184,16 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, "node_modules/ci-info": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.2.0.tgz", @@ -2075,8 +2438,8 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "devOptional": true, "license": "Apache-2.0", - "optional": true, "engines": { "node": ">=8" } @@ -2159,6 +2522,20 @@ "node": ">= 0.8" } }, + "node_modules/enhanced-resolve": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", + "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/entities": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", @@ -2365,6 +2742,13 @@ "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, "node_modules/h3": { "version": "1.15.3", "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.3.tgz", @@ -2697,6 +3081,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "devOptional": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, "node_modules/jose": { "version": "5.10.0", "resolved": "https://registry.npmjs.org/jose/-/jose-5.10.0.tgz", @@ -2725,6 +3119,245 @@ "node": ">=6" } }, + "node_modules/lightningcss": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", + "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", + "devOptional": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.30.1", + "lightningcss-darwin-x64": "1.30.1", + "lightningcss-freebsd-x64": "1.30.1", + "lightningcss-linux-arm-gnueabihf": "1.30.1", + "lightningcss-linux-arm64-gnu": "1.30.1", + "lightningcss-linux-arm64-musl": "1.30.1", + "lightningcss-linux-x64-gnu": "1.30.1", + "lightningcss-linux-x64-musl": "1.30.1", + "lightningcss-win32-arm64-msvc": "1.30.1", + "lightningcss-win32-x64-msvc": "1.30.1" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", + "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", + "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", + "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", + "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", + "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", + "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", + "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", + "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", + "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", + "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/longest-streak": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", @@ -3547,6 +4180,45 @@ "node": ">= 0.6" } }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/mrmime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", @@ -4384,6 +5056,40 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/tailwindcss": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.8.tgz", + "integrity": "sha512-kjeW8gjdxasbmFKpVGrGd5T4i40mV5J2Rasw48QARfYeQ8YS9x02ON9SFWax3Qf616rt4Cp3nVNIj6Hd1mP3og==", + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", + "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/tiny-inflate": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", @@ -5023,6 +5729,16 @@ "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", "license": "MIT" }, + "node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, "node_modules/yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", diff --git a/package.json b/package.json index 092a3a0..b064ba6 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,10 @@ "@auth/core": "^0.37.3", "astro": "^5.9.2", "auth-astro": "^4.2.0", + "tailwindcss": "^4.1.8", "xlsx": "^0.18.5" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.1.8" } } diff --git a/src/images/logo-txuria.png b/src/images/logo-txuria.png new file mode 100644 index 0000000000000000000000000000000000000000..0b1a7cdec67cd1e07a202d4de89255b97548a1b1 GIT binary patch literal 3378 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 literal 0 HcmV?d00001 diff --git a/src/images/logo.jpg b/src/images/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..507a7bf100fb86e9968c0f2f81c1cf91fb5a8ab8 GIT binary patch literal 6792 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 EU#`OUzyJUM literal 0 HcmV?d00001 diff --git a/src/layouts/Base.astro b/src/layouts/BaseLayout.astro similarity index 64% rename from src/layouts/Base.astro rename to src/layouts/BaseLayout.astro index de1eb03..7f837b7 100644 --- a/src/layouts/Base.astro +++ b/src/layouts/BaseLayout.astro @@ -4,6 +4,12 @@ interface Props { } const { title = "KarkarCar" } = Astro.props; + +import { Image } from 'astro:assets'; +import logo from './src/images/logo-urdina.png'; + + +import './src/styles/global.css' --- @@ -14,6 +20,7 @@ const { title = "KarkarCar" } = Astro.props; {title} + KarKarCar \ No newline at end of file diff --git a/src/pages/index.astro b/src/pages/index.astro index 4176bef..8fa41b6 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,9 +1,7 @@ --- -import Layout from '../layouts/Base.astro'; -import type { Session } from '@auth/core/types'; +import Layout from '../layouts/BaseLayout.astro'; -import { getSession } from 'auth-astro/server'; -import { Auth, SignIn, SignOut } from 'auth-astro/components'; +import { SignIn, SignOut } from 'auth-astro/components'; import KarKarCarAuth from "../components/KarKarCarAuth.astro" // 1. Import any dependencies (Full support for JavaScript/TypeScript) @@ -13,21 +11,23 @@ import type { KarKarCarSession } from "../api/index.ts" --- - - {(session: KarKarCarSession) => ( - - <> - {session ? - Logout - : - Login - } -

- - {session ? `Logged in as ${session.user?.name}` : 'Not logged in'} - {session ? `Amount ${session.userData.amount}` : 'Not logged in'} - -

- - )} -
\ No newline at end of file + + + {(session: KarKarCarSession) => ( + + <> + {session ? + Logout + : + Login + } +

+ + {session ? `Logged in as ${session.user?.name}` : 'Not logged in'} + {session ? `Amount ${session.userData.amount}` : ''} + +

+ + )} +
+
\ No newline at end of file diff --git a/src/styles/global.css b/src/styles/global.css new file mode 100644 index 0000000..a461c50 --- /dev/null +++ b/src/styles/global.css @@ -0,0 +1 @@ +@import "tailwindcss"; \ No newline at end of file