Add page for displaying error
This commit is contained in:
parent
88e2a229a4
commit
f1e177c7b0
@ -1,2 +1,3 @@
|
||||
pub mod login;
|
||||
pub mod signup;
|
||||
pub mod signup;
|
||||
pub mod error;
|
||||
|
24
src/pages/error.rs
Normal file
24
src/pages/error.rs
Normal file
@ -0,0 +1,24 @@
|
||||
use leptos::*;
|
||||
use leptos_icons::*;
|
||||
use std::fmt::Display;
|
||||
|
||||
#[component]
|
||||
pub fn ServerError<E: Display + 'static>(
|
||||
#[prop(optional, into, default="An Error Occurred".into())]
|
||||
title: TextProp,
|
||||
#[prop(optional, into)]
|
||||
message: TextProp,
|
||||
#[prop(optional, into)]
|
||||
error: Option<ServerFnError<E>>,
|
||||
) -> impl IntoView {
|
||||
view! {
|
||||
<div class="error-container home-component">
|
||||
<div class="error-header">
|
||||
<Icon icon=icondata::BiErrorSolid />
|
||||
<h1>{title}</h1>
|
||||
</div>
|
||||
<p>{message}</p>
|
||||
<p>{error.map(|error| format!("{}", error))}</p>
|
||||
</div>
|
||||
}
|
||||
}
|
18
style/error.scss
Normal file
18
style/error.scss
Normal file
@ -0,0 +1,18 @@
|
||||
.error-container {
|
||||
.error-header {
|
||||
display: inline-grid;
|
||||
|
||||
svg {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
grid-row-start: 1;
|
||||
align-self: center;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
grid-row-start: 1;
|
||||
align-self: center;
|
||||
}
|
||||
}
|
||||
}
|
@ -9,6 +9,7 @@
|
||||
@import 'search.scss';
|
||||
@import 'personal.scss';
|
||||
@import 'upload.scss';
|
||||
@import 'error.scss';
|
||||
|
||||
body {
|
||||
font-family: sans-serif;
|
||||
|
Loading…
x
Reference in New Issue
Block a user