♻️ Use of the SCSS variables to compute the width of the inner panels
This commit is contained in:
@@ -3,15 +3,18 @@ use std::rc::Rc;
|
||||
use dioxus::prelude::*;
|
||||
use futures::join;
|
||||
|
||||
use crate::ui::components::{
|
||||
chat_panel::ChatPanel, conversations::Conversations as ConversationsComponent,
|
||||
wallpaper::Wallpaper,
|
||||
};
|
||||
|
||||
turf::style_sheet!("src/ui/layouts/conversations.scss");
|
||||
|
||||
use crate::ui::components::chat_panel::ChatPanel;
|
||||
use crate::ui::components::conversations::Conversations as ConversationsComponent;
|
||||
use crate::ui::components::wallpaper::Wallpaper;
|
||||
include!(concat!(env!("OUT_DIR"), "/style_component_panel.rs"));
|
||||
include!(concat!(env!("OUT_DIR"), "/style_layout_conversations.rs"));
|
||||
|
||||
// TODO: Get from SCSS
|
||||
const WIDGET_HEIGHT_RATIO: f64 = 0.95;
|
||||
const ASPECT_RATIO: f64 = 1.0 / 1.618;
|
||||
use conversations::INNER_PANEL_HEIGHT_RATIO;
|
||||
use panel::ASPECT_RATIO;
|
||||
|
||||
async fn on_carousel_scroll(
|
||||
parent_div: &Rc<MountedData>,
|
||||
@@ -229,14 +232,13 @@ pub fn Conversations() -> Element {
|
||||
if let Ok(size) = data.get_border_box_size() {
|
||||
if let Some(size) = size.first() {
|
||||
// Use LayoutBig if the layout can contain 2 panels side by side
|
||||
let component_width = size.height * WIDGET_HEIGHT_RATIO * ASPECT_RATIO;
|
||||
let component_width = size.height * INNER_PANEL_HEIGHT_RATIO * ASPECT_RATIO;
|
||||
let breakpoint_width = component_width * 2_f64;
|
||||
use_big_layout = size.width > breakpoint_width;
|
||||
}
|
||||
}
|
||||
|
||||
layout.set(rsx! { if use_big_layout { LayoutBig {} } else { LayoutSmall {} }});
|
||||
|
||||
},
|
||||
|
||||
{layout}
|
||||
|
Reference in New Issue
Block a user