diff options
| author | 2025-06-12 01:55:24 +0100 | |
|---|---|---|
| committer | 2025-06-12 01:55:24 +0100 | |
| commit | d2ef3a71834b367f8f7da5cbc4be4ce43f7ba684 (patch) | |
| tree | cb2d502cc867cf8c490a98c5a19c93092558da23 /src/components | |
| parent | 5d0b9742f7ed1cfadd0fcec6b4c1471a341f7d5c (diff) | |
| download | macaw-web-d2ef3a71834b367f8f7da5cbc4be4ce43f7ba684.tar.gz macaw-web-d2ef3a71834b367f8f7da5cbc4be4ce43f7ba684.tar.bz2 macaw-web-d2ef3a71834b367f8f7da5cbc4be4ce43f7ba684.zip  | |
feat: better contact management menu styling
Diffstat (limited to '')
| -rw-r--r-- | src/components/roster_list/contact_request_manager.rs | 35 | 
1 files changed, 28 insertions, 7 deletions
diff --git a/src/components/roster_list/contact_request_manager.rs b/src/components/roster_list/contact_request_manager.rs index cfb5f28..12a3611 100644 --- a/src/components/roster_list/contact_request_manager.rs +++ b/src/components/roster_list/contact_request_manager.rs @@ -51,6 +51,7 @@ pub fn AddContact() -> impl IntoView {      let client2 = client.clone();      let client3 = client.clone();      let client4 = client.clone(); +    let client5 = client.clone();      let add_contact = Action::new_local(move |_| {          let client = client.clone(); @@ -124,7 +125,18 @@ pub fn AddContact() -> impl IntoView {          let jid = jid.clone();          async move {              // TODO: error -            client.accept_buddy_request(jid).await; +            client.accept_buddy_request(jid.clone()).await; +            set_requests.write().remove(&jid); +        } +    }); + +    let accept_subscription_request = Action::new_local(move |jid: &BareJID| { +        let client = client5.clone(); +        let jid = jid.clone(); +        async move { +            // TODO: error +            client.accept_subscription_request(jid.clone()).await; +            set_requests.write().remove(&jid);          }      }); @@ -186,26 +198,35 @@ pub fn AddContact() -> impl IntoView {                                  {                                      let request2 = request.clone();                                      let request3 = request.clone(); +                                    let request4 = request.clone();                                      let jid_string = move || request.to_string();                                      view! { -                                        <div class="jid-with-button"> +                                        <div class="jid-with-buttons">                                              <div class="jid">{jid_string}</div> -                                            <div> +                                            <div class="buttons">                                                  <div                                                      class="button"                                                      on:click=move |_| { -                                                        accept_friend_request.dispatch(request2.clone()); +                                                        reject_friend_request.dispatch(request3.clone());                                                      }                                                  > -                                                    Accept +                                                    Reject                                                  </div>                                                  <div                                                      class="button"                                                      on:click=move |_| { -                                                        reject_friend_request.dispatch(request3.clone()); +                                                        accept_subscription_request.dispatch(request4.clone());                                                      }                                                  > -                                                    Reject +                                                    Sub-only +                                                </div> +                                                <div +                                                    class="button" +                                                    on:click=move |_| { +                                                        accept_friend_request.dispatch(request2.clone()); +                                                    } +                                                > +                                                    Accept Buddy                                                  </div>                                              </div>                                          </div>  | 
