bisschen sidebar schön. problem gefunden: es reicht wenn man benutzernamen eingibt. man logt sich auch ohne passwort ein

This commit is contained in:
2026-06-04 21:48:47 +02:00
parent b2daed8e99
commit 2e6bd2a781
9 changed files with 23 additions and 15 deletions
+2 -2
View File
@@ -275,7 +275,7 @@ pub async fn get_current_user(
/// - `404 Not Found` if user doesn't exist /// - `404 Not Found` if user doesn't exist
/// - `500 Internal Server Error` if database error occurs /// - `500 Internal Server Error` if database error occurs
pub async fn delete_user( pub async fn delete_user(
Path(id): Path<i32>, Path(id): Path<i16>,
State(data): State<Arc<AppState>>, State(data): State<Arc<AppState>>,
) -> Result<impl IntoResponse, (StatusCode, Json<serde_json::Value>)> { ) -> Result<impl IntoResponse, (StatusCode, Json<serde_json::Value>)> {
let query = sqlx::query(r#"DELETE FROM users WHERE id = $1"#) let query = sqlx::query(r#"DELETE FROM users WHERE id = $1"#)
@@ -414,7 +414,7 @@ pub async fn get_user_by_id(
/// - Passwords are hashed using Argon2 before storage. /// - Passwords are hashed using Argon2 before storage.
/// - This endpoint typically requires admin privileges (enforced by middleware). /// - This endpoint typically requires admin privileges (enforced by middleware).
pub async fn update_user( pub async fn update_user(
Path(id): Path<i32>, Path(id): Path<i16>,
State(data): State<Arc<AppState>>, State(data): State<Arc<AppState>>,
Json(body): Json<UserUpdateScheme>, Json(body): Json<UserUpdateScheme>,
) -> Result<impl IntoResponse, (StatusCode, Json<serde_json::Value>)> { ) -> Result<impl IntoResponse, (StatusCode, Json<serde_json::Value>)> {
+1 -1
View File
@@ -56,7 +56,7 @@ pub fn home_component() -> Html {
} }
html! { html! {
<div> <div class="rundbg">
<crate::utilities::TicketCount/> <crate::utilities::TicketCount/>
<p>{ "You are logged in as: " }</p> <p>{ "You are logged in as: " }</p>
+1 -1
View File
@@ -297,7 +297,7 @@ pub fn submit_ticket_component() -> Html {
let room_valid = (*room).is_some(); let room_valid = (*room).is_some();
html! { html! {
<form {onsubmit}> <form class="rundbg" {onsubmit}>
<label>{ "Betreff:" } <label>{ "Betreff:" }
<input type="text" value={(*betreff).clone()} oninput={betreff_change}/> <input type="text" value={(*betreff).clone()} oninput={betreff_change}/>
</label> </label>
+2 -2
View File
@@ -1,8 +1,8 @@
$color-bg: #ffffff; $color-bg: #ffffff;
$color-sidebar: #0f172a; $color-sidebar: #570000;
$color-accent: #2563eb; $color-accent: #2563eb;
$color-muted: #6b7280; $color-muted: #6b7280;
$spacing-sm: 8px; $spacing-sm: 8px;
$spacing-md: 16px; $spacing-md: 16px;
$border-radius: 6px; $border-radius: 6px;
$rundbgbackgroundcolor: #a0a0a0;
@@ -130,7 +130,7 @@
.room-bar { .room-bar {
height: 100%; height: 100%;
background-color: #f97316; background-color: #570000;
transition: width 0.3s ease; transition: width 0.3s ease;
} }
} }
+9 -7
View File
@@ -4,24 +4,26 @@
.sidebar { .sidebar {
width: 260px; width: 260px;
background: $color-sidebar; background: $color-sidebar;
color: #fff; color: #fffefe;
min-height: 100%; min-height: 100%;
padding: $spacing-md; padding: $spacing-md;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: $spacing-sm; flex: 1; } ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: $spacing-sm; flex: 1; }
a, .menu-toggle { a, .menu-toggle {
color: #fff; color: #ffffff;
text-decoration: none; text-decoration: none;
display: block; display: block;
padding: 8px 12px; padding: 8px 12px;
border-radius: 4px; border-radius: 4px;
&:hover { background: rgba(255,255,255,0.04); } &:hover { background: rgba(158, 45, 1, 0.842); }
} }
.menu-toggle { background: transparent; border: none; text-align: left; width: 100%; cursor: pointer; } .menu-toggle { background: #ff5a316c; border: none; text-align: left; width: 100%; cursor: pointer; }
.submenu { .submenu {
margin-left: 8px; margin-left: 8px;
@@ -38,9 +40,9 @@
} }
.logout-button { .logout-button {
background: rgba(255,255,255,0.1); background: rgba(255, 93, 43, 0.527);
color: #fff; color: #ffffff;
border: 1px solid rgba(255,255,255,0.2); border: 1px solid rgba(255, 255, 255, 0.801);
padding: 8px 12px; padding: 8px 12px;
border-radius: 4px; border-radius: 4px;
width: 100%; width: 100%;
@@ -7,6 +7,7 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: $spacing-sm; gap: $spacing-sm;
.meta { color: $color-muted; font-size: 0.9rem; } .meta { color: $color-muted; font-size: 0.9rem; }
.title { font-weight: 600; } .title { font-weight: 600; }
} }
+6 -1
View File
@@ -5,6 +5,7 @@
@use "components/tickets"; @use "components/tickets";
@use "components/diagnostics"; @use "components/diagnostics";
@use "components/frontpage"; @use "components/frontpage";
@use "components/home";
body { body {
background: variables.$color-bg; background: variables.$color-bg;
@@ -46,7 +47,7 @@ body {
max-width: 40%; max-width: 40%;
margin:0 auto; margin:0 auto;
margin-top: 96px; margin-top: 96px;
background-color:#a0a0a0; background-color: variables.$rundbgbackgroundcolor;
padding-bottom: 96px; padding-bottom: 96px;
padding-left: 32px; padding-left: 32px;
padding-right: 32px; padding-right: 32px;
@@ -58,6 +59,7 @@ body {
box-shadow: 20px 20px 10px; box-shadow: 20px 20px 10px;
box-shadow: rgb(43, 43, 43); box-shadow: rgb(43, 43, 43);
input, button { input, button {
padding: 16px; padding: 16px;
font-size: 1.8rem; font-size: 1.8rem;
@@ -68,4 +70,7 @@ body {
} }
button {
margin: 16px 0;
}
} }