diff options
| author | metamuffin <metamuffin@disroot.org> | 2026-02-23 17:29:14 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2026-02-23 17:29:14 +0100 |
| commit | 71b221e3e4df1190aa87331091a89243358e98c6 (patch) | |
| tree | e82899855ef079274fa2794e142107483cd551c9 /ui/src/old | |
| parent | 064a7906f6c6e18ad4ce5fb5a19e5e3d02144358 (diff) | |
| download | jellything-71b221e3e4df1190aa87331091a89243358e98c6.tar jellything-71b221e3e4df1190aa87331091a89243358e98c6.tar.bz2 jellything-71b221e3e4df1190aa87331091a89243358e98c6.tar.zst | |
move logout link to settings page
Diffstat (limited to 'ui/src/old')
| -rw-r--r-- | ui/src/old/account/settings.rs | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/ui/src/old/account/settings.rs b/ui/src/old/account/settings.rs deleted file mode 100644 index 83f72b0..0000000 --- a/ui/src/old/account/settings.rs +++ /dev/null @@ -1,84 +0,0 @@ -/* - This file is part of jellything (https://codeberg.org/metamuffin/jellything) - which is licensed under the GNU Affero General Public License (version 3); see /COPYING. - Copyright (C) 2026 metamuffin <metamuffin.org> -*/ -use crate::{ - FlashM, Page, - locale::tr, - scaffold::{FlashDisplay, RenderInfo, SessionInfo}, -}; -use jellycommon::routes::{u_account_login, u_account_settings}; -use markup::RenderAttributeValue; - -impl Page for SettingsPage<'_> { - fn title(&self) -> String { - "Settings".to_string() - } - fn to_render(&self) -> markup::DynRender<'_> { - markup::new!(@self) - } -} - -markup::define! { - SettingsPage<'a>(ri: &'a RenderInfo<'a>, session: &'a SessionInfo, flash: &'a FlashM) { - h1 { "Settings" } - @FlashDisplay {flash} - h2 { @tr(ri.lang, "account") } - a.switch_account[href=u_account_login()] { "Switch Account" } - form[method="POST", action=u_account_settings()] { - label[for="username"] { @tr(ri.lang, "account.username") } - input[type="text", id="username", disabled, value=&session.user.name]; - input[type="submit", disabled, value=tr(ri.lang, "settings.immutable")]; - } - form[method="POST", action=u_account_settings()] { - label[for="display_name"] { @tr(ri.lang, "account.display_name") } - input[type="text", id="display_name", name="display_name", value=&session.user.display_name]; - input[type="submit", value=tr(ri.lang, "settings.update")]; - } - form[method="POST", action=u_account_settings()] { - label[for="password"] { @tr(ri.lang, "account.password") } - input[type="password", id="password", name="password"]; - input[type="submit", value=tr(ri.lang, "settings.update")]; - } - h2 { @tr(ri.lang, "settings.appearance") } - form[method="POST", action=u_account_settings()] { - fieldset { - legend { @tr(ri.lang, "settings.appearance.theme") } - @for theme in Theme::ALL { - label { input[type="radio", name="theme", value=A(*theme), checked=session.user.theme==*theme]; @tr(ri.lang, &format!("theme.{theme}")) } br; - } - } - input[type="submit", value=tr(ri.lang, "settings.apply")]; - } - form[method="POST", action=u_account_settings()] { - fieldset { - legend { @tr(ri.lang, "settings.player_preference") } - @for kind in PlayerKind::ALL { - label { input[type="radio", name="player_preference", value=A(*kind), checked=session.user.player_preference==*kind]; @tr(ri.lang, &format!("player_kind.{kind}")) } br; - } - } - input[type="submit", value=tr(ri.lang, "settings.apply")]; - } - form[method="POST", action=u_account_settings()] { - label[for="native_secret"] { "Native Secret" } - input[type="password", id="native_secret", name="native_secret"]; - input[type="submit", value=tr(ri.lang, "settings.update")]; - p { "The secret can be found in " code{"$XDG_CONFIG_HOME/jellynative_secret"} " or by clicking " a.button[href="jellynative://show-secret-v1"] { "Show Secret" } "." } - } - } -} - -struct A<T>(pub T); -impl markup::Render for A<Theme> { - fn render(&self, writer: &mut impl std::fmt::Write) -> std::fmt::Result { - writer.write_str(self.0.to_str()) - } -} -impl markup::Render for A<PlayerKind> { - fn render(&self, writer: &mut impl std::fmt::Write) -> std::fmt::Result { - writer.write_str(self.0.to_str()) - } -} -impl RenderAttributeValue for A<Theme> {} -impl RenderAttributeValue for A<PlayerKind> {} |