start account ui

This commit is contained in:
2025-12-07 00:32:48 -05:00
parent a1928edb66
commit f9376eb6d4
4 changed files with 47 additions and 16 deletions

2
iris

Submodule iris updated: 62aa02847a...38266debb6

View File

@@ -69,7 +69,7 @@ impl DefaultAppState for Client {
notif,
proxy,
};
connect_screen(&mut s, ui, state).set_ptr(&s.main_ui, ui);
start_screen(&mut s, ui).set_ptr(&s.main_ui, ui);
s
}

View File

@@ -5,16 +5,38 @@ use crate::{net::AppHandle, state::ClientState};
use super::*;
// pub fn start_screen(client: &mut Client) -> WidgetId {
// (wtext("Select Account").text_align(Align::CENTER).size(30),)
// .span(Dir::DOWN)
// .gap(10)
// .pad(15)
// .width(400)
// .align(Align::CENTER)
// .add(&mut client.ui)
// .any()
// }
pub fn start_screen(client: &mut Client, ui: &mut Ui) -> WidgetId {
let mut accounts = Span::empty(Dir::DOWN);
accounts.push(
wtext("no accounts")
.size(20)
.center_text()
.color(Color::GRAY)
.height(60)
.add(ui)
.any(),
);
(
wtext("Select Account").text_align(Align::CENTER).size(30),
accounts,
(
submit_button("connect", |_, _| {}),
submit_button("create", |_, _| {}),
)
.span(Dir::RIGHT)
.gap(10),
)
.span(Dir::DOWN)
.gap(10)
.pad(15)
.background(rect(Color::BLACK.brighter(0.2)).radius(15))
.width(400)
.align(Align::CENTER)
.add(ui)
.any()
}
pub fn connect_screen(client: &mut Client, ui: &mut Ui, state: &UiState) -> WidgetId {
let Client { data, proxy, .. } = client;

View File

@@ -37,14 +37,23 @@ pub fn submit_button(
text: &str,
on_submit: impl Fn(&mut Client, &mut Ui) + 'static,
) -> impl WidgetRet {
let color = Color::GREEN;
let color = Color::rgb(0, 200, 0);
rect(color)
.radius(15)
.on(CursorSense::click(), move |ctx| {
ctx.ui[ctx.id].color = color.darker(0.3);
ctx.ui[ctx.id].color = color.darker(0.2);
on_submit(ctx.state, ctx.ui);
})
.height(40)
.foreground(wtext(text).size(20).text_align(Align::CENTER))
.on(
CursorSense::HoverStart | CursorSense::unclick(),
move |ctx| {
ctx.ui[ctx.id].color = color.brighter(0.1);
},
)
.on(CursorSense::HoverEnd, move |ctx| {
ctx.ui[ctx.id].color = color;
})
.height(60)
.foreground(wtext(text).size(25).text_align(Align::CENTER))
.to_any()
}