Login technically works
This commit is contained in:
+84
-16
@@ -10,9 +10,11 @@
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div class="nav-cell left"></div>
|
||||
<div class="nav-cell left">
|
||||
<div class="nav-item" id="clock">14:23</div>
|
||||
</div>
|
||||
<div class="nav-cell center">
|
||||
<div class="nav-item">Prenota Posti DM</div>
|
||||
<div class="nav-item">Posti DM</div>
|
||||
</div>
|
||||
<div class="nav-cell right">
|
||||
<div class="nav-item">Login</div>
|
||||
@@ -21,53 +23,119 @@
|
||||
<main>
|
||||
<div class="room-name">AulaStud</div>
|
||||
<div class="room-main">
|
||||
<div class="room-diagram">
|
||||
<img src="./diargamma-posti.jpg" alt="diargamma-posti" />
|
||||
<div class="panel room-diagram">
|
||||
<div
|
||||
class="posto libero"
|
||||
data-index="1"
|
||||
style="grid-column: 3 / span 4; grid-row: 1 / span 2"
|
||||
></div>
|
||||
<div
|
||||
class="posto libero"
|
||||
data-index="2"
|
||||
style="grid-column: 7 / span 4; grid-row: 1 / span 2"
|
||||
></div>
|
||||
<div
|
||||
class="posto libero"
|
||||
data-index="3"
|
||||
style="grid-column: 1 / span 2; grid-row: 3 / span 4"
|
||||
></div>
|
||||
<div
|
||||
class="posto libero"
|
||||
data-index="4"
|
||||
style="grid-column: 1 / span 2; grid-row: 7 / span 4"
|
||||
></div>
|
||||
<div
|
||||
class="posto libero"
|
||||
data-index="5"
|
||||
style="grid-column: 3 / span 4; grid-row: 11 / span 2"
|
||||
></div>
|
||||
<div
|
||||
class="posto occupato"
|
||||
data-index="6"
|
||||
style="grid-column: 7 / span 4; grid-row: 11 / span 2"
|
||||
></div>
|
||||
<div
|
||||
class="posto occupato"
|
||||
data-index="7"
|
||||
style="grid-column: 8 / span 2; grid-row: 5 / span 4"
|
||||
></div>
|
||||
<div
|
||||
class="posto occupato"
|
||||
data-index="8"
|
||||
style="grid-column: 14 / span 2; grid-row: 1 / span 4"
|
||||
></div>
|
||||
<div
|
||||
class="posto occupato"
|
||||
data-index="9"
|
||||
style="grid-column: 14 / span 2; grid-row: 5 / span 4"
|
||||
></div>
|
||||
<div
|
||||
class="posto occupato"
|
||||
data-index="10"
|
||||
style="grid-column: 14 / span 2; grid-row: 9 / span 4"
|
||||
></div>
|
||||
<div
|
||||
class="posto occupato"
|
||||
data-index="11"
|
||||
style="grid-column: 14 / span 2; grid-row: 13 / span 4"
|
||||
></div>
|
||||
</div>
|
||||
<div class="room-bookings">
|
||||
<div class="panel room-bookings">
|
||||
<div class="seat-list">
|
||||
<div class="seat">
|
||||
<div class="name">Posto 1</div>
|
||||
<button disabled>Prenotato</button>
|
||||
<button>Occupa</button>
|
||||
</div>
|
||||
<div class="seat">
|
||||
<div class="name">Posto 2</div>
|
||||
<button disabled>Prenotato</button>
|
||||
<button>Occupa</button>
|
||||
</div>
|
||||
<div class="seat">
|
||||
<div class="name">Posto 3</div>
|
||||
<button>Prenota</button>
|
||||
<button>Occupa</button>
|
||||
</div>
|
||||
<div class="seat">
|
||||
<div class="name">Posto 4</div>
|
||||
<button>Prenota</button>
|
||||
<button>Occupa</button>
|
||||
</div>
|
||||
<div class="seat">
|
||||
<div class="seat selected">
|
||||
<div class="name">Posto 5</div>
|
||||
<button disabled>Prenotato</button>
|
||||
<button>Occupa</button>
|
||||
</div>
|
||||
<div class="seat">
|
||||
<div class="name">Posto 6</div>
|
||||
<button disabled>Prenotato</button>
|
||||
<button disabled>Occupato</button>
|
||||
</div>
|
||||
<div class="seat">
|
||||
<div class="name">Posto 7</div>
|
||||
<button>Prenota</button>
|
||||
<button disabled>Occupato</button>
|
||||
</div>
|
||||
<div class="seat">
|
||||
<div class="name">Posto 8</div>
|
||||
<button>Prenota</button>
|
||||
<button disabled>Occupato</button>
|
||||
</div>
|
||||
<div class="seat">
|
||||
<div class="name">Posto 9</div>
|
||||
<button disabled>Prenotato</button>
|
||||
<button disabled>Occupato</button>
|
||||
</div>
|
||||
<div class="seat">
|
||||
<div class="name">Posto 10</div>
|
||||
<button>Prenota</button>
|
||||
<button disabled>Occupato</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel room-timeline">
|
||||
<button disabled>8:30 — 10:00</button>
|
||||
<button disabled>10:00 — 11:00</button>
|
||||
<button disabled>11:00 — 12:00</button>
|
||||
<button disabled>12:00 — 13:00</button>
|
||||
<button disabled>13:00 — 14:00</button>
|
||||
<button>14:00 — 15:00</button>
|
||||
<button>15:00 — 16:00</button>
|
||||
<button>16:00 — 17:00</button>
|
||||
<button disabled>17:00 — 18:00</button>
|
||||
<button disabled>18:00 — 19:30</button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
+142
-16
@@ -55,6 +55,11 @@ header {
|
||||
}
|
||||
}
|
||||
|
||||
.panel {
|
||||
border: 1px solid #ddd;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@@ -74,47 +79,168 @@ main {
|
||||
}
|
||||
|
||||
.room-main {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 1rem;
|
||||
display: grid;
|
||||
|
||||
@media screen and (max-width: 1000px) {
|
||||
flex-direction: column;
|
||||
}
|
||||
grid-template-columns: auto 1fr;
|
||||
grid-template-rows: auto auto;
|
||||
grid-template-areas:
|
||||
'diagram bookings'
|
||||
'timeline timeline';
|
||||
|
||||
max-width: 800px;
|
||||
|
||||
.room-diagram {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border: 1px solid #ddd;
|
||||
grid-area: diagram;
|
||||
}
|
||||
.room-bookings {
|
||||
grid-area: bookings;
|
||||
}
|
||||
.room-timeline {
|
||||
grid-area: timeline;
|
||||
}
|
||||
|
||||
background: #fff;
|
||||
gap: 1rem;
|
||||
|
||||
.room-diagram {
|
||||
padding: 1rem;
|
||||
|
||||
// --posto-libero-bg: #ddf;
|
||||
// --posto-libero-bg-1: #88f;
|
||||
// --posto-libero-bg-2: #66d;
|
||||
--posto-libero-bg: #8d8;
|
||||
--posto-occupato-bg: #d88;
|
||||
|
||||
display: grid;
|
||||
grid-template-columns: repeat(15, 1fr);
|
||||
grid-template-rows: repeat(16, 1fr);
|
||||
|
||||
gap: 0.25rem;
|
||||
|
||||
aspect-ratio: 15 / 16;
|
||||
|
||||
width: calc(15 * 2rem);
|
||||
max-width: 500px;
|
||||
|
||||
.posto {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
|
||||
&.libero {
|
||||
background: var(--posto-libero-bg);
|
||||
}
|
||||
&.occupato {
|
||||
background: var(--posto-occupato-bg);
|
||||
}
|
||||
|
||||
border: 2px solid #0004;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
border-color: #0006;
|
||||
border-width: 4px;
|
||||
}
|
||||
|
||||
line-height: 1;
|
||||
|
||||
&::before {
|
||||
font-size: 12px;
|
||||
content: 'Posto';
|
||||
}
|
||||
&::after {
|
||||
font-size: 12px;
|
||||
content: attr(data-index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.room-bookings {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border: 1px solid #ddd;
|
||||
|
||||
background: #fff;
|
||||
|
||||
min-width: 15rem;
|
||||
width: 100%;
|
||||
|
||||
padding: 0.5rem;
|
||||
padding: 0.75rem 0;
|
||||
|
||||
.seat-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
gap: 0.5rem;
|
||||
|
||||
.seat {
|
||||
padding: 0.25rem 1rem;
|
||||
|
||||
display: grid;
|
||||
grid-template-columns: 1fr auto;
|
||||
|
||||
height: 2.5rem;
|
||||
|
||||
&:hover {
|
||||
background: #0001;
|
||||
}
|
||||
|
||||
.name {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
&.selected {
|
||||
background: #0002;
|
||||
|
||||
.name {
|
||||
font-style: italic;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.room-timeline {
|
||||
padding: 1rem;
|
||||
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 0.5rem;
|
||||
|
||||
align-items: center;
|
||||
|
||||
overflow-x: auto;
|
||||
|
||||
button {
|
||||
min-width: 8rem;
|
||||
height: 3rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1000px) {
|
||||
header {
|
||||
height: unset;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.nav-cell {
|
||||
position: relative;
|
||||
padding: 0 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
main {
|
||||
.room-main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.room-diagram {
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.room-timeline {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
import { defineConfig } from 'vite'
|
||||
|
||||
export default defineConfig({
|
||||
server: {
|
||||
proxy: {
|
||||
'/api': {
|
||||
target: 'http://localhost:4000/api',
|
||||
changeOrigin: true,
|
||||
rewrite: path => path.replace(/^\/api/, ''),
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user