1use leptos::prelude::*;
7use std::sync::Arc;
8
9use crate::models::user::PublicUser;
10
11#[derive(Clone, Copy)]
13pub struct UserContext {
14 pub user: RwSignal<Option<Arc<PublicUser>>>,
16 pub checked: RwSignal<bool>,
18}
19
20impl UserContext {
21 pub fn new() -> Self {
23 Self {
24 user: RwSignal::new(None),
25 checked: RwSignal::new(false),
26 }
27 }
28}
29
30impl Default for UserContext {
31 fn default() -> Self {
32 Self::new()
33 }
34}
35
36#[derive(Clone, Default, PartialEq)]
38pub struct ShowcaseFilters {
39 pub category: String,
40 pub search: String,
41 pub selected: Option<String>,
43 pub return_to: Option<String>,
44}