Add page for displaying error
This commit is contained in:
parent
88e2a229a4
commit
f1e177c7b0
@ -1,2 +1,3 @@
|
|||||||
pub mod login;
|
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 'search.scss';
|
||||||
@import 'personal.scss';
|
@import 'personal.scss';
|
||||||
@import 'upload.scss';
|
@import 'upload.scss';
|
||||||
|
@import 'error.scss';
|
||||||
|
|
||||||
body {
|
body {
|
||||||
font-family: sans-serif;
|
font-family: sans-serif;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user