From f73aa32549743b2967160d38c1622199c41524a4 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Tue, 29 Apr 2025 15:19:36 +0200 Subject: aaaaaaa --- ui/src/admin/user.rs | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) (limited to 'ui/src/admin/user.rs') diff --git a/ui/src/admin/user.rs b/ui/src/admin/user.rs index 9878803..613fc08 100644 --- a/ui/src/admin/user.rs +++ b/ui/src/admin/user.rs @@ -4,13 +4,40 @@ Copyright (C) 2025 metamuffin */ -use crate::{locale::Language, scaffold::FlashDisplay}; +use crate::{Page, locale::Language, scaffold::FlashDisplay}; use jellycommon::{ - routes::{u_admin_user_permission, u_admin_user_remove, u_admin_users}, + routes::{u_admin_user, u_admin_user_permission, u_admin_user_remove, u_admin_users}, user::{PermissionSet, User, UserPermission}, }; +impl Page for AdminUserPage<'_> { + fn title(&self) -> String { + "User Management".to_string() + } + fn to_render(&self) -> markup::DynRender { + markup::new!(@self) + } +} +impl Page for AdminUsersPage<'_> { + fn title(&self) -> String { + "User Management".to_string() + } + fn to_render(&self) -> markup::DynRender { + markup::new!(@self) + } +} + markup::define! { + AdminUsersPage<'a>(lang: &'a Language, users: &'a [User], flash: Option>) { + h1 { "User Management" } + @FlashDisplay { flash: flash.clone() } + h2 { "All Users" } + ul { @for u in *users { + li { + a[href=u_admin_user(&u.name)] { @format!("{:?}", u.display_name) " (" @u.name ")" } + } + }} + } AdminUserPage<'a>(lang: &'a Language, user: &'a User, flash: Option>) { h1 { @format!("{:?}", user.display_name) " (" @user.name ")" } a[href=u_admin_users()] "Back to the User List" -- cgit v1.2.3-70-g09d2