Skip to content

Commit 6a1f240

Browse files
committed
fix liana-ui
1 parent 0305551 commit 6a1f240

File tree

3 files changed

+76
-67
lines changed

3 files changed

+76
-67
lines changed

liana-ui/src/component/hw.rs

+47-39
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
use crate::{color, component::text, icon, image, theme, widget::*};
22
use iced::{
3-
widget::{column, container, row, text::IntoFragment, tooltip},
3+
widget::{column, container, row, tooltip},
44
Alignment, Length,
55
};
6+
use std::borrow::Cow;
67
use std::fmt::Display;
78

89
pub fn locked_hardware_wallet<'a, T: 'a, K: Display>(
910
kind: K,
10-
pairing_code: Option<impl IntoFragment<'a>>,
11+
pairing_code: Option<impl Into<Cow<'a, str>> + Display>,
1112
) -> Container<'a, T> {
1213
Container::new(
1314
column(vec![
@@ -37,7 +38,7 @@ pub fn supported_hardware_wallet<'a, T: 'a, K: Display, V: Display, F: Display>(
3738
kind: K,
3839
version: Option<V>,
3940
fingerprint: F,
40-
alias: Option<impl IntoFragment<'a>>,
41+
alias: Option<impl Into<Cow<'a, str>> + Display>,
4142
) -> Container<'a, T> {
4243
Container::new(
4344
column(vec![
@@ -61,8 +62,8 @@ pub fn warning_hardware_wallet<'a, T: 'static, K: Display, V: Display, F: Displa
6162
kind: K,
6263
version: Option<V>,
6364
fingerprint: F,
64-
alias: Option<impl IntoFragment<'a>>,
65-
warning: &'static str,
65+
alias: Option<impl Into<Cow<'a, str>> + Display>,
66+
warning: &'a str,
6667
) -> Container<'a, T> {
6768
container(
6869
row(vec![
@@ -82,7 +83,7 @@ pub fn warning_hardware_wallet<'a, T: 'static, K: Display, V: Display, F: Displa
8283
.into(),
8384
column(vec![tooltip::Tooltip::new(
8485
icon::warning_icon(),
85-
warning,
86+
iced::widget::text!("{}", warning),
8687
tooltip::Position::Bottom,
8788
)
8889
.style(theme::card::simple)
@@ -155,7 +156,7 @@ pub fn processing_hardware_wallet<'a, T: 'a, K: Display, V: Display, F: Display>
155156
kind: K,
156157
version: Option<V>,
157158
fingerprint: F,
158-
alias: Option<impl IntoFragment<'a>>,
159+
alias: Option<impl Into<Cow<'a, str>> + Display>,
159160
) -> Container<'a, T> {
160161
container(
161162
row(vec![
@@ -184,36 +185,43 @@ pub fn processing_hardware_wallet<'a, T: 'a, K: Display, V: Display, F: Display>
184185
.padding(10)
185186
}
186187

187-
pub fn selected_hardware_wallet<T: 'static, K: Display, V: Display, F: Display>(
188+
pub fn selected_hardware_wallet<'a, T: 'a, K: Display, V: Display, F: Display>(
188189
kind: K,
189190
version: Option<V>,
190191
fingerprint: F,
191-
alias: Option<impl IntoFragment<'static>>,
192-
warning: Option<&'static str>,
193-
) -> Container<'static, T> {
192+
alias: Option<impl Into<Cow<'a, str>> + Display>,
193+
warning: Option<impl Into<Cow<'a, str>> + Display>,
194+
) -> Container<'a, T> {
194195
container(
195-
Row::new()
196-
.push(
197-
column(vec![
198-
Row::new()
199-
.spacing(5)
200-
.push_maybe(alias.map(|a| text::p1_bold(a)))
201-
.push(text::p1_regular(format!("#{}", fingerprint)))
202-
.into(),
203-
Row::new()
204-
.spacing(5)
205-
.push(text::caption(kind.to_string()))
206-
.push_maybe(version.map(|v| text::caption(v.to_string())))
207-
.into(),
208-
])
209-
.width(Length::Fill),
210-
)
211-
.push_maybe(warning.map(|w| {
212-
tooltip::Tooltip::new(icon::warning_icon(), w, tooltip::Position::Bottom)
213-
.style(theme::card::simple)
214-
}))
215-
.push(image::success_mark_icon().width(Length::Fixed(50.0)))
216-
.align_y(Alignment::Center),
196+
row(vec![
197+
column(vec![
198+
Row::new()
199+
.spacing(5)
200+
.push_maybe(alias.map(text::p1_bold))
201+
.push(text::p1_regular(format!("#{}", fingerprint)))
202+
.into(),
203+
Row::new()
204+
.spacing(5)
205+
.push(text::caption(kind.to_string()))
206+
.push_maybe(version.map(|v| text::caption(v)))
207+
.into(),
208+
])
209+
.width(Length::Fill)
210+
.into(),
211+
// if let Some(w) = warning {
212+
// tooltip::Tooltip::new(
213+
// icon::warning_icon(),
214+
// iced::widget::text!("{}", w),
215+
// tooltip::Position::Bottom,
216+
// )
217+
// .style(theme::card::simple)
218+
// .into()
219+
// } else {
220+
// Row::new().into()
221+
// },
222+
image::success_mark_icon().width(Length::Fixed(50.0)).into(),
223+
])
224+
.align_y(Alignment::Center),
217225
)
218226
.padding(10)
219227
}
@@ -222,7 +230,7 @@ pub fn sign_success_hardware_wallet<'a, T: 'a, K: Display, V: Display, F: Displa
222230
kind: K,
223231
version: Option<V>,
224232
fingerprint: F,
225-
alias: Option<impl IntoFragment<'a>>,
233+
alias: Option<impl Into<Cow<'a, str>> + Display>,
226234
) -> Container<'a, T> {
227235
container(
228236
row(vec![
@@ -257,7 +265,7 @@ pub fn registration_success_hardware_wallet<'a, T: 'a, K: Display, V: Display, F
257265
kind: K,
258266
version: Option<V>,
259267
fingerprint: F,
260-
alias: Option<impl IntoFragment<'a>>,
268+
alias: Option<impl Into<Cow<'a, str>> + Display>,
261269
) -> Container<'a, T> {
262270
container(
263271
row(vec![
@@ -385,7 +393,7 @@ pub fn unsupported_version_hardware_wallet<'a, T: 'static, K: Display, V: Displa
385393

386394
pub fn sign_success_hot_signer<'a, T: 'a, F: Display>(
387395
fingerprint: F,
388-
alias: Option<impl IntoFragment<'a>>,
396+
alias: Option<impl Into<Cow<'a, str>> + Display>,
389397
) -> Container<'a, T> {
390398
container(
391399
row(vec![
@@ -417,7 +425,7 @@ pub fn sign_success_hot_signer<'a, T: 'a, F: Display>(
417425

418426
pub fn selected_hot_signer<'a, T: 'a, F: Display>(
419427
fingerprint: F,
420-
alias: Option<impl IntoFragment<'a>>,
428+
alias: Option<impl Into<Cow<'a, str>> + Display>,
421429
) -> Container<'a, T> {
422430
container(
423431
row(vec![
@@ -446,7 +454,7 @@ pub fn selected_hot_signer<'a, T: 'a, F: Display>(
446454

447455
pub fn unselected_hot_signer<'a, T: 'a, F: Display>(
448456
fingerprint: F,
449-
alias: Option<impl IntoFragment<'a>>,
457+
alias: Option<impl Into<Cow<'a, str>> + Display>,
450458
) -> Container<'a, T> {
451459
Container::new(
452460
column(vec![
@@ -470,7 +478,7 @@ pub fn unselected_hot_signer<'a, T: 'a, F: Display>(
470478

471479
pub fn hot_signer<'a, T: 'a, F: Display>(
472480
fingerprint: F,
473-
alias: Option<impl IntoFragment<'a>>,
481+
alias: Option<impl Into<Cow<'a, str>> + Display>,
474482
) -> Container<'a, T> {
475483
Container::new(
476484
column(vec![

liana-ui/src/component/notification.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ pub fn processing_hardware_wallet<'a, T: 'a, K: Display, V: Display, F: Display>
6161
kind: K,
6262
version: Option<V>,
6363
fingerprint: F,
64-
alias: Option<impl IntoFragment<'a>>,
64+
alias: Option<&'a str>,
6565
) -> Container<'a, T> {
6666
container(
6767
row(vec![

liana-ui/src/component/text.rs

+28-27
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use crate::{font, theme::Theme};
22
use iced::advanced::text::{IntoFragment, Shaping};
3+
use std::fmt::Display;
34

45
pub const H1_SIZE: u16 = 40;
56
pub const H2_SIZE: u16 = 29;
@@ -10,98 +11,98 @@ pub const P1_SIZE: u16 = 16;
1011
pub const P2_SIZE: u16 = 14;
1112
pub const CAPTION_SIZE: u16 = 12;
1213

13-
pub fn h1<'a>(content: impl IntoFragment<'a>) -> iced::widget::Text<'a, Theme> {
14-
iced::widget::Text::new(content)
14+
pub fn h1<'a>(content: impl Display) -> iced::widget::Text<'a, Theme> {
15+
iced::widget::text!("{}", content)
1516
.shaping(Shaping::Advanced)
1617
.font(font::BOLD)
1718
.size(H1_SIZE)
1819
}
1920

20-
pub fn h2<'a>(content: impl IntoFragment<'a>) -> iced::widget::Text<'a, Theme> {
21-
iced::widget::Text::new(content)
21+
pub fn h2<'a>(content: impl Display) -> iced::widget::Text<'a, Theme> {
22+
iced::widget::text!("{}", content)
2223
.shaping(Shaping::Advanced)
2324
.font(font::BOLD)
2425
.size(H2_SIZE)
2526
}
2627

27-
pub fn h3<'a>(content: impl IntoFragment<'a>) -> iced::widget::Text<'a, Theme> {
28-
iced::widget::Text::new(content)
28+
pub fn h3<'a>(content: impl Display) -> iced::widget::Text<'a, Theme> {
29+
iced::widget::text!("{}", content)
2930
.shaping(Shaping::Advanced)
3031
.font(font::BOLD)
3132
.size(H3_SIZE)
3233
}
3334

34-
pub fn h4_bold<'a>(content: impl IntoFragment<'a>) -> iced::widget::Text<'a, Theme> {
35-
iced::widget::Text::new(content)
35+
pub fn h4_bold<'a>(content: impl Display) -> iced::widget::Text<'a, Theme> {
36+
iced::widget::text!("{}", content)
3637
.shaping(Shaping::Advanced)
3738
.font(font::BOLD)
3839
.size(H4_SIZE)
3940
}
4041

41-
pub fn h4_regular<'a>(content: impl IntoFragment<'a>) -> iced::widget::Text<'a, Theme> {
42-
iced::widget::Text::new(content)
42+
pub fn h4_regular<'a>(content: impl Display) -> iced::widget::Text<'a, Theme> {
43+
iced::widget::text!("{}", content)
4344
.shaping(Shaping::Advanced)
4445
.font(font::REGULAR)
4546
.size(H4_SIZE)
4647
}
4748

48-
pub fn h5_medium<'a>(content: impl IntoFragment<'a>) -> iced::widget::Text<'a, Theme> {
49-
iced::widget::Text::new(content)
49+
pub fn h5_medium<'a>(content: impl Display) -> iced::widget::Text<'a, Theme> {
50+
iced::widget::text!("{}", content)
5051
.shaping(Shaping::Advanced)
5152
.font(font::MEDIUM)
5253
.size(H5_SIZE)
5354
}
5455

55-
pub fn h5_regular<'a>(content: impl IntoFragment<'a>) -> iced::widget::Text<'a, Theme> {
56-
iced::widget::Text::new(content)
56+
pub fn h5_regular<'a>(content: impl Display) -> iced::widget::Text<'a, Theme> {
57+
iced::widget::text!("{}", content)
5758
.shaping(Shaping::Advanced)
5859
.font(font::REGULAR)
5960
.size(H5_SIZE)
6061
}
6162

62-
pub fn p1_bold<'a>(content: impl IntoFragment<'a>) -> iced::widget::Text<'a, Theme> {
63-
iced::widget::Text::new(content)
63+
pub fn p1_bold<'a>(content: impl Display) -> iced::widget::Text<'a, Theme> {
64+
iced::widget::text!("{}", content)
6465
.shaping(Shaping::Advanced)
6566
.font(font::BOLD)
6667
.size(P1_SIZE)
6768
}
6869

69-
pub fn p1_medium<'a>(content: impl IntoFragment<'a>) -> iced::widget::Text<'a, Theme> {
70-
iced::widget::Text::new(content)
70+
pub fn p1_medium<'a>(content: impl Display) -> iced::widget::Text<'a, Theme> {
71+
iced::widget::text!("{}", content)
7172
.shaping(Shaping::Advanced)
7273
.font(font::MEDIUM)
7374
.size(P1_SIZE)
7475
}
7576

76-
pub fn p1_regular<'a>(content: impl IntoFragment<'a>) -> iced::widget::Text<'a, Theme> {
77-
iced::widget::Text::new(content)
77+
pub fn p1_regular<'a>(content: impl Display) -> iced::widget::Text<'a, Theme> {
78+
iced::widget::text!("{}", content)
7879
.shaping(Shaping::Advanced)
7980
.font(font::REGULAR)
8081
.size(P1_SIZE)
8182
}
8283

83-
pub fn p2_medium<'a>(content: impl IntoFragment<'a>) -> iced::widget::Text<'a, Theme> {
84-
iced::widget::Text::new(content)
84+
pub fn p2_medium<'a>(content: impl Display) -> iced::widget::Text<'a, Theme> {
85+
iced::widget::text!("{}", content)
8586
.shaping(Shaping::Advanced)
8687
.font(font::MEDIUM)
8788
.size(P2_SIZE)
8889
}
8990

90-
pub fn p2_regular<'a>(content: impl IntoFragment<'a>) -> iced::widget::Text<'a, Theme> {
91-
iced::widget::Text::new(content)
91+
pub fn p2_regular<'a>(content: impl Display) -> iced::widget::Text<'a, Theme> {
92+
iced::widget::text!("{}", content)
9293
.shaping(Shaping::Advanced)
9394
.font(font::REGULAR)
9495
.size(P2_SIZE)
9596
}
9697

97-
pub fn caption<'a>(content: impl IntoFragment<'a>) -> iced::widget::Text<'a, Theme> {
98-
iced::widget::Text::new(content)
98+
pub fn caption<'a>(content: impl Display) -> iced::widget::Text<'a, Theme> {
99+
iced::widget::text!("{}", content)
99100
.shaping(Shaping::Advanced)
100101
.font(font::REGULAR)
101102
.size(CAPTION_SIZE)
102103
}
103104

104-
pub fn text<'a>(content: impl IntoFragment<'a>) -> iced::widget::Text<'a, Theme> {
105+
pub fn text<'a>(content: impl Display) -> iced::widget::Text<'a, Theme> {
105106
p1_regular(content)
106107
}
107108

0 commit comments

Comments
 (0)