refactor: changed "stanza" to "gara"
This commit is contained in:
@@ -3,6 +3,19 @@
|
|||||||
A simple website that displays the leaderboard of the GGWP match. The leaderboard can be updated by
|
A simple website that displays the leaderboard of the GGWP match. The leaderboard can be updated by
|
||||||
the admin using a nice control panel.
|
the admin using a nice control panel.
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
- Made using [Astro](https://astro.build/) with the NodeJS adapter for the endpoints
|
||||||
|
|
||||||
|
- Admins can create various matches and update the leaderboard using the control panel
|
||||||
|
|
||||||
|
- The leaderboard is displayed in a nice table with the player's name, score
|
||||||
|
|
||||||
|
- The leaderboard is updated in real-time using simple server-sent events
|
||||||
|
|
||||||
|
- The database is SQLite with a rooms table that has a `data` column that stores the public JSON
|
||||||
|
data of the match.
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
Install the dependencies:
|
Install the dependencies:
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ export const AdminLogin = ({}) => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div class="card tint-blue stack-v center">
|
<div class="card tint-blue stack-v center">
|
||||||
<h3>Accedi al pannello di controllo di una stanza</h3>
|
<h3>Accedi al pannello di controllo di una gara</h3>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
class="fill-w"
|
class="fill-w"
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ const handleCreateRoom = async (id: string, teams: string[], questions: Question
|
|||||||
const { password } = value
|
const { password } = value
|
||||||
|
|
||||||
if (status === 'ok') {
|
if (status === 'ok') {
|
||||||
alert(`Stanza creata con successo!\n\nPassword Admin: ${password}\n(non la perdere)`)
|
alert(`Gara creata con successo!\n\nPassword Admin: ${password}\n(non la perdere)`)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -37,11 +37,11 @@ export const NewRoom = ({}) => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div class="card tint-red stack-v center">
|
<div class="card tint-red stack-v center">
|
||||||
<h3>Crea una nuova stanza</h3>
|
<h3>Crea una nuova gara</h3>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
class="fill-w"
|
class="fill-w"
|
||||||
placeholder="Nome stanza, e.g. ggwp-2024..."
|
placeholder="Nome gara, e.g. ggwp-2024..."
|
||||||
value={roomName}
|
value={roomName}
|
||||||
onInput={e => setRoomName(e.currentTarget.value)}
|
onInput={e => setRoomName(e.currentTarget.value)}
|
||||||
/>
|
/>
|
||||||
@@ -189,7 +189,7 @@ export const NewRoom = ({}) => {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
Crea Stanza
|
Crea Gara
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { AdminPage } from '@/components/AdminPage'
|
|||||||
|
|
||||||
const { room } = Astro.params
|
const { room } = Astro.params
|
||||||
if (!room) {
|
if (!room) {
|
||||||
return Astro.redirect('/error?msg=' + encodeURIComponent(`Devi specificare una stanza`))
|
return Astro.redirect('/error?msg=' + encodeURIComponent(`Devi specificare una gara`))
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Astro.cookies.has('sid')) {
|
if (Astro.cookies.has('sid')) {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { LiveLeaderboard } from '@/components/LiveLeaderboard'
|
|||||||
|
|
||||||
const { room } = Astro.params
|
const { room } = Astro.params
|
||||||
if (!room) {
|
if (!room) {
|
||||||
return Astro.redirect('/error?msg=' + encodeURIComponent(`Devi specificare una stanza`))
|
return Astro.redirect('/error?msg=' + encodeURIComponent(`Devi specificare una gara`))
|
||||||
}
|
}
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user