all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Dominik Csapak <d.csapak@proxmox.com>
To: pmg-devel@lists.proxmox.com
Subject: [PATCH pmg-yew-quarantine-gui 3/3] spam list page: add 'about' button to menu
Date: Tue,  2 Jun 2026 13:53:42 +0200	[thread overview]
Message-ID: <20260602115348.2333552-4-d.csapak@proxmox.com> (raw)
In-Reply-To: <20260602115348.2333552-1-d.csapak@proxmox.com>

Which shows a text very similar to the about text in the desktop ui. It
is slightly adapted so it fits better for the mobile view (no mention of
allow/blacklist menu, no mention of keyboard shortcuts).

I opted for an additional menu option here, since we don't have the
space for an action icon in the top bar on smaller devices.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
 src/page_spam_list.rs | 53 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 52 insertions(+), 1 deletion(-)

diff --git a/src/page_spam_list.rs b/src/page_spam_list.rs
index 5a3dacd..d24fec7 100644
--- a/src/page_spam_list.rs
+++ b/src/page_spam_list.rs
@@ -18,10 +18,33 @@ use pwt::widget::menu::{Menu, MenuButton, MenuItem};
 use pwt::widget::{Button, Column, Dialog, Image, LanguageSelector, Row, ThemeModeSelector};
 
 use proxmox_subscription::{SubscriptionInfo, SubscriptionStatus};
-use proxmox_yew_comp::http_get;
+use proxmox_yew_comp::{http_get, Markdown};
 
 use crate::{Route, SpamList};
 
+const ABOUT_TEXT: &str =
+    "This is the end-user email quarantine interface provided by your email provider.
+
+Proxmox Mail Gateway is software that scans email for threats such as spam or viruses.
+
+Typically, emails that contain viruses or are identified as specific spam are blocked by your
+provider.
+Emails that are not classified as specific spam can be quarantined for the recipient to decide
+whether to receive or delete them. In most setups, you will receive a spam report email notifying
+you when mail is quarantined for your address.
+
+You also have the option to block or welcomelist certain addresses:
+
+* Welcomelist results in mails from these addresses to be delivered directly
+  instead of being quarantined.
+* Blocklist results in mails from these addresses to be deleted directly
+  instead of being quarantined.
+
+**Note:** The sending of *Spam Report* emails and this web application is controlled by your email
+provider.
+
+Proxmox Server Solutions GmbH develops the software and does not operate email services for users.";
+
 #[derive(Clone, PartialEq, Properties)]
 pub struct PageSpamList {}
 
@@ -43,6 +66,7 @@ pub enum ViewState {
     ShowDialog,
     ShowSubscriptionNotice,
     ShowLanguageSelect,
+    ShowAbout,
 }
 pub struct PmgPageSpamList {
     state: ViewState,
@@ -61,6 +85,7 @@ pub enum Msg {
     SubscriptionResult(Result<SubscriptionInfo, Error>),
     SwitchToDesktop,
     ShowLanguageSelect,
+    ShowAbout,
     Logout,
 }
 
@@ -200,6 +225,10 @@ impl Component for PmgPageSpamList {
                 self.state = ViewState::ShowLanguageSelect;
                 true
             }
+            Msg::ShowAbout => {
+                self.state = ViewState::ShowAbout;
+                true
+            }
             Msg::Logout => {
                 proxmox_yew_comp::http_clear_auth();
                 true
@@ -249,6 +278,23 @@ impl Component for PmgPageSpamList {
                     )
                     .on_close(link.callback(|_| Msg::CloseDialog)),
             ),
+            ViewState::ShowAbout => Some(
+                Dialog::new(tr!("About"))
+                    .with_child(
+                        Column::new()
+                            .class(FlexFit)
+                            .padding_x(2)
+                            .padding_bottom(2)
+                            .with_child(Markdown::new().class(FlexFit).text(ABOUT_TEXT))
+                            .with_child(
+                                Row::new().class(JustifyContent::FlexEnd).with_child(
+                                    Button::new(tr!("OK"))
+                                        .on_activate(link.callback(|_| Msg::CloseDialog)),
+                                ),
+                            ),
+                    )
+                    .on_close(link.callback(|_| Msg::CloseDialog)),
+            ),
         };
 
         let fab = Fab::new("fa fa-calendar").on_activate(link.callback(|_| Msg::ShowDialog));
@@ -304,6 +350,11 @@ impl Component for PmgPageSpamList {
                                                         link.callback(|_| Msg::SwitchToDesktop),
                                                     ),
                                             )
+                                            .with_item(
+                                                MenuItem::new(tr!("About"))
+                                                    .icon_class("fa fa-question-circle")
+                                                    .on_select(link.callback(|_| Msg::ShowAbout)),
+                                            )
                                             .with_separator()
                                             .with_item(
                                                 MenuItem::new(tr!("Logout"))
-- 
2.47.3





  parent reply	other threads:[~2026-06-02 11:53 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-02 11:53 [PATCH pmg-yew-quarantine-gui/yew-comp 0/3] add about text to pmg mobile quarantine Dominik Csapak
2026-06-02 11:53 ` [PATCH yew-comp 1/3] markdown: correctly set css class Dominik Csapak
2026-06-02 11:53 ` [PATCH pmg-yew-quarantine-gui 2/3] spam list page: factor `link` out Dominik Csapak
2026-06-02 11:53 ` Dominik Csapak [this message]
2026-06-02 20:50 ` applied: [PATCH pmg-yew-quarantine-gui/yew-comp 0/3] add about text to pmg mobile quarantine Thomas Lamprecht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260602115348.2333552-4-d.csapak@proxmox.com \
    --to=d.csapak@proxmox.com \
    --cc=pmg-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal