From dc106d6f902a6e943e5bdfbb7d00a7e9c1d85295 Mon Sep 17 00:00:00 2001 From: shadow cat Date: Fri, 14 Nov 2025 15:41:11 -0500 Subject: [PATCH] idk wrk middletnserioan --- src/client/mod.rs | 45 ++++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/src/client/mod.rs b/src/client/mod.rs index f06a844..0f2c2a1 100644 --- a/src/client/mod.rs +++ b/src/client/mod.rs @@ -28,6 +28,29 @@ impl DefaultEvent for Submit { type Data = (); } +pub fn msg_widget(content: String) -> impl WidgetLike { + let content = text(content) + .editable() + .size(20) + .text_align(Align::Left) + .wrap(true) + .id_on(CursorSense::click(), |id, client: &mut Client, ctx| { + client.ui.text(id).select(ctx.cursor, ctx.size); + client.focus = Some(id.clone()); + }); + let header = text("some user").size(20); + ( + image(include_bytes!("./assets/sungals.png")) + .sized((70, 70)) + .align(Align::TopLeft), + (header.align(Align::TopLeft), content.align(Align::TopLeft)) + .span(Dir::DOWN) + .gap(10), + ) + .span(Dir::RIGHT) + .gap(10) +} + impl Client { pub fn new(window: Arc) -> Self { let renderer = Renderer::new(window); @@ -59,27 +82,7 @@ impl Client { .clone() .id_on(Submit, move |id, client: &mut Client, _| { let content = client.ui.text(id).take(); - let content = text(content) - .editable() - .size(20) - .text_align(Align::Left) - .wrap(true) - .id_on(CursorSense::click(), |id, client: &mut Client, ctx| { - client.ui.text(id).select(ctx.cursor, ctx.size); - client.focus = Some(id.clone()); - }) - .label("debug"); - let header = text("some user").size(20); - let msg = ( - image(include_bytes!("./assets/sungals.png")) - .sized((70, 70)) - .align(Align::TopLeft), - (header.align(Align::TopLeft), content.align(Align::TopLeft)) - .span(Dir::DOWN) - .gap(10), - ) - .span(Dir::RIGHT) - .add(&mut client.ui); + let msg = msg_widget(content).add(&mut client.ui); client.ui[&msg_area].children.push(msg.any()); }) .pad(15)