Skip to content

Commit efba487

Browse files
committed
feat: add dedicated desktop presentation layer
1 parent d2a2a56 commit efba487

1 file changed

Lines changed: 90 additions & 0 deletions

File tree

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
/* Desktop presentation layer: layout only. No scheduling/state behavior lives here. */
2+
@media (min-width: 1280px) {
3+
.app-layout {
4+
width: min(100%, 1480px);
5+
margin-inline: auto;
6+
padding-inline: clamp(24px, 3vw, 48px);
7+
}
8+
9+
.workspace-grid {
10+
grid-template-columns: minmax(320px, 360px) minmax(0, 1fr);
11+
align-items: start;
12+
gap: clamp(18px, 2vw, 28px);
13+
}
14+
15+
.sidebar-panel {
16+
position: sticky;
17+
top: 88px;
18+
max-height: calc(100dvh - 104px);
19+
overflow-y: auto;
20+
overscroll-behavior: contain;
21+
scrollbar-width: thin;
22+
}
23+
24+
.results-content,
25+
.schedule-view-wrapper {
26+
min-width: 0;
27+
}
28+
29+
.calendar-card {
30+
min-width: 0;
31+
}
32+
}
33+
34+
@media (min-width: 1024px) and (max-width: 1279px) {
35+
.app-layout {
36+
width: 100%;
37+
max-width: none;
38+
padding-inline: clamp(18px, 2.5vw, 32px);
39+
}
40+
41+
.workspace-grid {
42+
grid-template-columns: minmax(290px, 330px) minmax(0, 1fr);
43+
gap: 16px;
44+
}
45+
46+
.sidebar-panel {
47+
position: sticky;
48+
top: 82px;
49+
max-height: calc(100dvh - 98px);
50+
overflow-y: auto;
51+
overscroll-behavior: contain;
52+
scrollbar-width: thin;
53+
}
54+
55+
.banner-content {
56+
align-items: flex-start;
57+
}
58+
59+
.banner-actions {
60+
flex-shrink: 0;
61+
}
62+
63+
.results-toolbar {
64+
min-width: 0;
65+
}
66+
67+
.calendar-card {
68+
min-width: 0;
69+
overflow-x: auto;
70+
-webkit-overflow-scrolling: touch;
71+
overscroll-behavior-x: contain;
72+
}
73+
}
74+
75+
@media (min-width: 1024px) {
76+
/* Keep desktop controls visually stable instead of allowing text wrapping to
77+
change the workspace height when Arabic/English is switched. */
78+
.header-container,
79+
.banner-content,
80+
.results-toolbar {
81+
min-width: 0;
82+
}
83+
84+
.header-actions,
85+
.banner-actions,
86+
.schedule-pagination,
87+
.export-actions {
88+
flex-shrink: 0;
89+
}
90+
}

0 commit comments

Comments
 (0)