Compare commits
12
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
390630886e | ||
|
|
0ee20e2833 | ||
|
|
b7f8df624c | ||
|
|
8a9c9efbcc | ||
|
|
c31375573f | ||
|
|
b2daed8e99 | ||
|
|
076bd6c545 | ||
|
|
a42897de9f | ||
|
|
3154e3de44 | ||
|
|
bf0197adae | ||
|
|
c6a4a24fb6 | ||
|
|
52387f7333 |
+2
-1
@@ -20,9 +20,10 @@ frontend/node_modules/
|
|||||||
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
||||||
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
||||||
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
||||||
#.idea/
|
.idea/
|
||||||
|
|
||||||
|
|
||||||
# Added by cargo
|
# Added by cargo
|
||||||
|
|
||||||
/target
|
/target
|
||||||
|
.antigravitycli/
|
||||||
|
|||||||
@@ -4,6 +4,8 @@
|
|||||||
<head>
|
<head>
|
||||||
<link data-trunk rel="rust" data-bin="bin" />
|
<link data-trunk rel="rust" data-bin="bin" />
|
||||||
<link data-trunk rel="scss" href="src/styles/main.scss" />
|
<link data-trunk rel="scss" href="src/styles/main.scss" />
|
||||||
|
<link data-trunk rel="icon" href="src/assets/favicon.ico" type="image/x-icon" />
|
||||||
|
<link data-trunk rel="copy-dir" href="src/assets" />
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<title>Yew App</title>
|
<title>Yew App</title>
|
||||||
</head>
|
</head>
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
@@ -269,6 +269,7 @@ fn switch(route: Route) -> Html {
|
|||||||
pub fn app() -> Html {
|
pub fn app() -> Html {
|
||||||
html! {
|
html! {
|
||||||
<BrowserRouter>
|
<BrowserRouter>
|
||||||
|
<basic_pages::Icon/>
|
||||||
<Switch<Route> render={switch} />
|
<Switch<Route> render={switch} />
|
||||||
</BrowserRouter>
|
</BrowserRouter>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -109,3 +109,10 @@ pub fn denied_component() -> Html {
|
|||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[component(Icon)]
|
||||||
|
pub fn icon_component() -> Html {
|
||||||
|
html! {
|
||||||
|
<img src="assets/csg.png" class="csg-icon" />
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -169,6 +169,16 @@ pub fn submit_ticket_component() -> Html {
|
|||||||
|
|
||||||
let valid_rooms: HashSet<i16> = VALID_ROOMS.iter().copied().collect();
|
let valid_rooms: HashSet<i16> = VALID_ROOMS.iter().copied().collect();
|
||||||
|
|
||||||
|
{
|
||||||
|
let message = "Bevor sie zum Support weitergeleitet werden prüfen sie ob: \r\n - Ob das Problem durch Neustarten gelößt wird \r\n - Ob sie die richtigen Anmeldedaten genutzt habem \r\n - Alle notwendigen Kabel eingesteckt sind".to_string();
|
||||||
|
use_effect(move || {
|
||||||
|
if let Some(win) = web_sys::window() {
|
||||||
|
let _ = win.alert_with_message(&message);
|
||||||
|
}
|
||||||
|
|| ()
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
let onsubmit = {
|
let onsubmit = {
|
||||||
let category = category.clone();
|
let category = category.clone();
|
||||||
let betreff = betreff.clone();
|
let betreff = betreff.clone();
|
||||||
|
|||||||
@@ -328,14 +328,16 @@ pub fn login_component() -> Html {
|
|||||||
};
|
};
|
||||||
|
|
||||||
html! {
|
html! {
|
||||||
<form {onsubmit}>
|
<div>
|
||||||
|
<h1 class="headline">{ "Anmeldung" }</h1>
|
||||||
|
<form {onsubmit} class="rundbg">
|
||||||
<input
|
<input
|
||||||
placeholder="username"
|
placeholder="username"
|
||||||
value={(*username).clone()}
|
value={(*username).clone()}
|
||||||
oninput={Callback::from(move |e: InputEvent| {
|
oninput={Callback::from(move |e: InputEvent| {
|
||||||
let input: web_sys::HtmlInputElement = e.target_unchecked_into();
|
let input: web_sys::HtmlInputElement = e.target_unchecked_into();
|
||||||
username.set(input.value());
|
username.set(input.value());
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
<input
|
<input
|
||||||
type="password"
|
type="password"
|
||||||
@@ -349,6 +351,7 @@ pub fn login_component() -> Html {
|
|||||||
<button type="submit" disabled={*loading}>{ if *loading { "Logging in..." } else { "Login" } }</button>
|
<button type="submit" disabled={*loading}>{ if *loading { "Logging in..." } else { "Login" } }</button>
|
||||||
if !error.is_empty() { <p style="color:red">{(*error).clone()}</p> }
|
if !error.is_empty() { <p style="color:red">{(*error).clone()}</p> }
|
||||||
</form>
|
</form>
|
||||||
|
</div>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
.headline {
|
||||||
|
font-size: 40px;
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: center;
|
||||||
|
color: #570000;
|
||||||
|
margin-top: 150px;
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
.csg-icon {
|
||||||
|
position: fixed;
|
||||||
|
top: 1rem;
|
||||||
|
right: 1rem;
|
||||||
|
z-index: 9999;
|
||||||
|
width: auto;
|
||||||
|
height: auto;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: auto;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,6 +4,8 @@
|
|||||||
@use "components/sidebar";
|
@use "components/sidebar";
|
||||||
@use "components/tickets";
|
@use "components/tickets";
|
||||||
@use "components/diagnostics";
|
@use "components/diagnostics";
|
||||||
|
@use "components/frontpage";
|
||||||
|
@use "components/icon";
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background: variables.$color-bg;
|
background: variables.$color-bg;
|
||||||
@@ -36,3 +38,35 @@ body {
|
|||||||
.content { margin-left: 0; }
|
.content { margin-left: 0; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.rundbg {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: column;
|
||||||
|
max-width: 40%;
|
||||||
|
margin:0 auto;
|
||||||
|
margin-top: 96px;
|
||||||
|
background-color:#a0a0a0;
|
||||||
|
padding-bottom: 96px;
|
||||||
|
padding-left: 32px;
|
||||||
|
padding-right: 32px;
|
||||||
|
padding-top: 96px;
|
||||||
|
border-radius: 20px;
|
||||||
|
gap: 8px;
|
||||||
|
border-color: #000000;
|
||||||
|
border-style: double;
|
||||||
|
box-shadow: 20px 20px 10px;
|
||||||
|
box-shadow: rgb(43, 43, 43);
|
||||||
|
|
||||||
|
input, button {
|
||||||
|
padding: 16px;
|
||||||
|
font-size: 1.8rem;
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
box-shadow: #6d6d6d;
|
||||||
|
box-shadow: 6px 6px 8px
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user