Skip to content

Commit e6c41ff

Browse files
refactor code
made functions for generating themes instead of typing themes manually on every widget that require styling.
1 parent ba4f9e4 commit e6c41ff

File tree

8 files changed

+32
-44
lines changed

8 files changed

+32
-44
lines changed

src/gui/styles/container_styles.rs

+19
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,27 @@
11
use super::theme::TroxideTheme;
2+
use iced::theme::Container;
23
use iced::widget::container::{Appearance, StyleSheet};
34
use iced::Background;
45
use iced::{color, Color};
56

7+
/// A custom theme for container respecting Light and Dark TroxideTheme
8+
pub fn first_class_container_theme() -> Container {
9+
Container::Custom(Box::new(ContainerThemeFirst) as Box<dyn StyleSheet<Style = iced::Theme>>)
10+
}
11+
12+
/// A custom theme for container respecting Light and Dark TroxideTheme
13+
pub fn second_class_container_theme() -> Container {
14+
Container::Custom(Box::new(ContainerThemeSecond) as Box<dyn StyleSheet<Style = iced::Theme>>)
15+
}
16+
17+
/// A custom theme for container respecting Light and Dark TroxideTheme
18+
/// designed specifically for the release time container in my_shows page
19+
pub fn release_time_container_theme() -> Container {
20+
Container::Custom(
21+
Box::new(ContainerThemeReleaseTime) as Box<dyn StyleSheet<Style = iced::Theme>>
22+
)
23+
}
24+
625
pub struct ContainerThemeFirst;
726

827
impl StyleSheet for ContainerThemeFirst {

src/gui/troxide_widget.rs

+4-16
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,7 @@ pub mod series_poster {
125125

126126
let content = container(content)
127127
.padding(5)
128-
.style(theme::Container::Custom(Box::new(
129-
styles::container_styles::ContainerThemeSecond,
130-
)
131-
as Box<dyn container::StyleSheet<Style = iced::Theme>>));
128+
.style(styles::container_styles::second_class_container_theme());
132129

133130
mouse_area(content)
134131
.on_press(Message::SeriesPosterPressed(Box::new(series_info.clone())))
@@ -194,10 +191,7 @@ pub mod series_poster {
194191

195192
let content = container(content)
196193
.padding(5)
197-
.style(theme::Container::Custom(Box::new(
198-
styles::container_styles::ContainerThemeFirst,
199-
)
200-
as Box<dyn container::StyleSheet<Style = iced::Theme>>))
194+
.style(styles::container_styles::first_class_container_theme())
201195
.width(1000);
202196

203197
mouse_area(content)
@@ -261,10 +255,7 @@ pub mod series_poster {
261255
.padding(5)
262256
.center_x()
263257
.center_y()
264-
.style(theme::Container::Custom(Box::new(
265-
styles::container_styles::ContainerThemeReleaseTime,
266-
)
267-
as Box<dyn container::StyleSheet<Style = iced::Theme>>)),
258+
.style(styles::container_styles::release_time_container_theme()),
268259
)
269260
.center_x()
270261
.center_y()
@@ -274,10 +265,7 @@ pub mod series_poster {
274265

275266
let content = container(content)
276267
.padding(5)
277-
.style(theme::Container::Custom(Box::new(
278-
styles::container_styles::ContainerThemeFirst,
279-
)
280-
as Box<dyn container::StyleSheet<Style = iced::Theme>>))
268+
.style(styles::container_styles::first_class_container_theme())
281269
.width(1000);
282270

283271
mouse_area(content)

src/gui/view/discover_view.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -391,10 +391,8 @@ mod searching {
391391
LoadState::NotLoaded => container("").into(),
392392
};
393393

394-
let menu_widgets = container(menu_widgets).style(theme::Container::Custom(Box::new(
395-
styles::container_styles::ContainerThemeFirst,
396-
)
397-
as Box<dyn container::StyleSheet<Style = iced::Theme>>));
394+
let menu_widgets = container(menu_widgets)
395+
.style(styles::container_styles::first_class_container_theme());
398396

399397
(search_bar.into(), scrollable(menu_widgets).into())
400398
}

src/gui/view/series_view.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -309,10 +309,7 @@ impl Series {
309309
.align_items(Alignment::Center),
310310
)
311311
.padding(10)
312-
.style(theme::Container::Custom(Box::new(
313-
styles::container_styles::ContainerThemeFirst,
314-
)
315-
as Box<dyn container::StyleSheet<Style = iced::Theme>>)),
312+
.style(styles::container_styles::first_class_container_theme()),
316313
)
317314
.width(Length::Fill)
318315
.center_x()

src/gui/view/series_view/cast_widget.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -152,10 +152,7 @@ mod cast_poster {
152152
let content = content.push(name);
153153

154154
container(content)
155-
.style(theme::Container::Custom(Box::new(
156-
styles::container_styles::ContainerThemeSecond,
157-
)
158-
as Box<dyn container::StyleSheet<Style = iced::Theme>>))
155+
.style(styles::container_styles::second_class_container_theme())
159156
.padding(7)
160157
.into()
161158
}

src/gui/view/series_view/season_widget.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -371,10 +371,7 @@ mod episode_widget {
371371
let content = content.push(info);
372372

373373
container(content)
374-
.style(theme::Container::Custom(Box::new(
375-
styles::container_styles::ContainerThemeSecond,
376-
)
377-
as Box<dyn container::StyleSheet<Style = iced::Theme>>))
374+
.style(styles::container_styles::second_class_container_theme())
378375
.into()
379376
}
380377
}

src/gui/view/statistics_view.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,8 @@ impl StatisticsTab {
7070
.collect(),
7171
);
7272

73-
let series_list = container(series_list).style(theme::Container::Custom(Box::new(
74-
styles::container_styles::ContainerThemeFirst,
75-
)
76-
as Box<dyn container::StyleSheet<Style = iced::Theme>>));
73+
let series_list =
74+
container(series_list).style(styles::container_styles::first_class_container_theme());
7775

7876
let content = column![
7977
watch_count(),

src/gui/view/statistics_view/mini_widgets.rs

+2-8
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,7 @@ pub fn watch_count() -> Element<'static, Message, Renderer> {
4444
.padding(10)
4545
.center_x()
4646
.center_y()
47-
.style(theme::Container::Custom(
48-
Box::new(styles::container_styles::ContainerThemeFirst)
49-
as Box<dyn container::StyleSheet<Style = iced::Theme>>,
50-
))
47+
.style(styles::container_styles::first_class_container_theme())
5148
.into()
5249
}
5350

@@ -93,10 +90,7 @@ pub fn time_count(
9390
.padding(10)
9491
.center_x()
9592
.center_y()
96-
.style(theme::Container::Custom(
97-
Box::new(styles::container_styles::ContainerThemeFirst)
98-
as Box<dyn container::StyleSheet<Style = iced::Theme>>,
99-
))
93+
.style(styles::container_styles::first_class_container_theme())
10094
.into()
10195
}
10296

0 commit comments

Comments
 (0)