Compare commits

...

14 Commits

Author SHA1 Message Date
7a83ba855b email error msg 2025-06-20 19:09:57 +02:00
08eb28aae4 mix message 2025-06-20 19:05:07 +02:00
27b17f0ec3 email error 2025-06-20 19:03:52 +02:00
c9dabe2c09 verify email exists 2025-06-20 18:24:08 +02:00
b8b5d3c26c format 2025-06-20 18:09:26 +02:00
6ee0bc6f24 remove symlink 2025-06-20 18:08:57 +02:00
82e47f3a47 doc: update 2025-06-20 18:07:58 +02:00
59f8a6fdf9 exec script 2025-06-20 17:55:27 +02:00
04db25ec5a update script 2025-06-20 17:55:08 +02:00
7cdbb872b4 logout color 2025-06-20 17:51:35 +02:00
1e9740bf51 ignore temp xlsx 2025-06-20 17:49:01 +02:00
baba1b7ade color, text 2025-06-20 17:48:32 +02:00
55b9b80a4e add nvm 2025-06-20 17:31:24 +02:00
5c969eb51a oier test user 2025-06-20 17:29:06 +02:00
9 changed files with 44 additions and 33 deletions

1
.gitignore vendored
View File

@@ -23,3 +23,4 @@ pnpm-debug.log*
# jetbrains setting folder
.idea/
data/
example-data/.~lock.saldos.xlsx#

1
.nvmrc Normal file
View File

@@ -0,0 +1 @@
22

1
data
View File

@@ -1 +0,0 @@
example-data

Binary file not shown.

14
scp.md Normal file
View File

@@ -0,0 +1,14 @@
# SCP karkarcar.oier.ovh
## `~/.ssh/config`
```
Host karkarcar
Hostname 149.202.89.131
User ubuntu
IdentityFile ~/.ssh/id_rsa
```
- `scp RUTA.XLSX karkarcar:~/pmc/karkarcar-astro/data/saldos.xlsx`
- `ssh -t karkarcar 'cd ~/pmc/karkarcar-astro/; ./update.sh'`

View File

@@ -37,7 +37,7 @@ export async function getUser(req: Request, options = authConfig): Promise<KarKa
export interface UserAmount {
amount?: String | null;
amount?: number | null;
}
async function getUserAmount(email: String | null | undefined): Promise<UserAmount | null> {
@@ -56,25 +56,8 @@ async function getUserAmount(email: String | null | undefined): Promise<UserAmou
})
}
let userData = data.filter(data => data.Email == email)
if(userData[0] == undefined)
return{amount:0}
return {amount:userData[0]['Saldo Actual']};
}
function getUserData(){
const file = readFile(env.XLSX_AMOUNT_SOURCE);
let data = []
const sheets = file.SheetNames
for(let i = 0; i < sheets.length; i++)
{
const temp = utils.sheet_to_json(
file.Sheets[file.SheetNames[i]])
temp.forEach((res) => {
data.push(res)
})
}
let userData = data.filter(data => data.Email == email)
return {amount:userData[0]['Saldo Actual']};
return {amount:userData[0]['Saldo Actual'] ? userData[0]['Saldo Actual'] : 0};
}

View File

@@ -8,15 +8,17 @@ interface Props {
const { session } = Astro.props;
---
<div class="p-4 rounded-lg bg-gray-100 my-4">
{session ? (
{session && session.userData && session.userData.amount? (
<div class="text-gray-700">
<h2 class="m-0 mb-4 text-slate-800">{session.user?.name} | {session.user?.email}</h2>
<h2 class="m-0 mb-4 text-slate-800">{session.user?.email}</h2>
<div class="bg-white p-4 rounded shadow-sm">
<p>Zure saldoa: {session.userData.amount}</p>
<p>Saldo: <strong>{session.userData.amount}€</strong></p>
</div>
</div>
) : (
<p class="text-gray-600 italic">Sartu zure kontua</p>
<div>
{session && session.userData &&<p>E-Mail okerra. E-Mail incorrecto</p>}
{session && session.userData && <em>{session.user?.email}</em>}
{session && session.userData && <p><strong>Bidali e-mail bat/Envia un correo a: <a href="mailto:j0s3b4@protomakers.club">j0s3b4@protomakers.club</a></strong></p>}
</div>
)}
</div>

View File

@@ -18,14 +18,15 @@ const session = await getUser(Astro.request, config);
<div class="flex justify-center">
<Image src={logo} alt="KarKarCar" class="max-w-xs" />
</div>
<UserInfo session={session} />
<KarKarCarAuth>
{(session: KarKarCarSession) => (
<>
{session ?
<SignOut class="px-8 py-4 bg-red-600 text-white rounded-lg hover:bg-red-700 transition-colors duration-200 font-medium text-xl">Logout</SignOut>
<SignOut class="px-8 py-4 text-white rounded-lg hover:bg-red-700 transition-colors duration-200 font-medium text-xl" style="background-color: #dc3545;">Irten/Salir</SignOut>
:
<SignIn provider="keycloak" class="px-8 py-4 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors duration-200 font-medium text-xl">Login</SignIn>
<SignIn provider="keycloak" class="px-8 py-4 text-white rounded-lg hover:bg-blue-700 transition-colors duration-200 font-medium text-xl" style="background-color: #005f7d;">Sartu/Entrar</SignIn>
}
</>
)}

10
update.sh Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
# Update the project
git pull
# Build the project
docker compose build
# Restart the project
docker compose up -d