diff options
Diffstat (limited to '')
| -rw-r--r-- | examples/websocket/src/main.rs | 27 | 
1 files changed, 13 insertions, 14 deletions
| diff --git a/examples/websocket/src/main.rs b/examples/websocket/src/main.rs index 95a14fd9..d8246436 100644 --- a/examples/websocket/src/main.rs +++ b/examples/websocket/src/main.rs @@ -9,12 +9,10 @@ use once_cell::sync::Lazy;  pub fn main() -> iced::Result {      iced::application("WebSocket - Iced", WebSocket::update, WebSocket::view) -        .load(WebSocket::load)          .subscription(WebSocket::subscription) -        .run() +        .run_with(WebSocket::new)  } -#[derive(Default)]  struct WebSocket {      messages: Vec<echo::Message>,      new_message: String, @@ -30,11 +28,18 @@ enum Message {  }  impl WebSocket { -    fn load() -> Task<Message> { -        Task::batch([ -            Task::perform(echo::server::run(), |_| Message::Server), -            widget::focus_next(), -        ]) +    fn new() -> (Self, Task<Message>) { +        ( +            Self { +                messages: Vec::new(), +                new_message: String::new(), +                state: State::Disconnected, +            }, +            Task::batch([ +                Task::perform(echo::server::run(), |_| Message::Server), +                widget::focus_next(), +            ]), +        )      }      fn update(&mut self, message: Message) -> Task<Message> { @@ -140,10 +145,4 @@ enum State {      Connected(echo::Connection),  } -impl Default for State { -    fn default() -> Self { -        Self::Disconnected -    } -} -  static MESSAGE_LOG: Lazy<scrollable::Id> = Lazy::new(scrollable::Id::unique); | 
