web: create implement_email! macro

This commit is contained in:
Bill Thiede 2023-11-27 17:16:57 -08:00
parent 48466808d3
commit e0fbb0253e

View File

@ -998,7 +998,9 @@ impl<T: Email> Email for &'_ T {
} }
} }
impl Email for ShowThreadQueryThreadMessagesCc { macro_rules! implement_email {
( $t:ty ) => {
impl Email for $t {
fn name(&self) -> Option<&str> { fn name(&self) -> Option<&str> {
self.name.as_deref() self.name.as_deref()
} }
@ -1006,22 +1008,11 @@ impl Email for ShowThreadQueryThreadMessagesCc {
self.addr.as_deref() self.addr.as_deref()
} }
} }
impl Email for ShowThreadQueryThreadMessagesFrom { };
fn name(&self) -> Option<&str> {
self.name.as_deref()
}
fn addr(&self) -> Option<&str> {
self.addr.as_deref()
}
}
impl Email for ShowThreadQueryThreadMessagesTo {
fn name(&self) -> Option<&str> {
self.name.as_deref()
}
fn addr(&self) -> Option<&str> {
self.addr.as_deref()
}
} }
implement_email!(ShowThreadQueryThreadMessagesTo);
implement_email!(ShowThreadQueryThreadMessagesCc);
implement_email!(ShowThreadQueryThreadMessagesFrom);
fn view_address(email: impl Email) -> Node<Msg> { fn view_address(email: impl Email) -> Node<Msg> {
span![ span![