2026-08-01 13:04:18 +03:00
|
|
|
use iced::border::Radius;
|
2026-08-01 17:23:43 +03:00
|
|
|
use iced::Element;
|
2026-08-01 13:04:18 +03:00
|
|
|
use iced::widget::button::{primary, Status};
|
2026-08-01 17:23:43 +03:00
|
|
|
use iced::widget::{button, container};
|
2026-08-01 13:04:18 +03:00
|
|
|
use crate::repetitions::Style;
|
2026-08-01 17:16:58 +03:00
|
|
|
use iced_core::{Border, Theme};
|
2026-08-01 17:23:43 +03:00
|
|
|
use iced_core::alignment::Horizontal::Left;
|
|
|
|
|
use iced_core::Length::Fill;
|
2026-08-01 13:04:18 +03:00
|
|
|
|
|
|
|
|
pub const DEFAULT_SPACING: f32 = 16.0;
|
|
|
|
|
pub const ACCENT_FONT_SIZE: f32 = 22.0;
|
|
|
|
|
const BUTTON_RADIUS: f32 = 8.0;
|
|
|
|
|
|
|
|
|
|
pub fn jl_button(theme: &Theme, status: Status) -> Style {
|
|
|
|
|
let mut style = primary(theme, status);
|
|
|
|
|
style.border = Border
|
|
|
|
|
{
|
|
|
|
|
color: Default::default(),
|
|
|
|
|
width: 0.0,
|
|
|
|
|
radius: Radius::new(BUTTON_RADIUS),
|
|
|
|
|
};
|
|
|
|
|
style
|
2026-08-01 17:16:58 +03:00
|
|
|
}
|
|
|
|
|
|
2026-08-01 17:23:43 +03:00
|
|
|
pub fn back_overlay<'a, T: Clone + 'a>(content: Element<'a, T>, back_message: T) -> Element<'a, T> {
|
|
|
|
|
container(
|
|
|
|
|
iced::widget::column![
|
|
|
|
|
button("Назад")
|
|
|
|
|
.style(jl_button)
|
|
|
|
|
.on_press(back_message),
|
|
|
|
|
content
|
|
|
|
|
]
|
|
|
|
|
.align_x(Left)
|
|
|
|
|
.width(Fill),
|
|
|
|
|
)
|
|
|
|
|
.center_x(Fill)
|
|
|
|
|
.padding(10)
|
|
|
|
|
.into()
|
|
|
|
|
}
|