feat: channel permissions UI, DM Sans font, private channel filtering, migration fix
- Rewrite ChannelSettingsModal with full tri-state permission override UI for roles and members (allow/neutral/deny per permission bit) - Switch font from Inter to self-hosted DM Sans (woff2 variable fonts) - Add client-side VIEW_CHANNEL filtering in ChannelSidebar for private channels - Broadcast isPrivate flag on channel override changes - Fix voice permission bit migration: gate behind persistent flag to prevent repeated re-runs that stripped STREAM from @everyone roles - Add speakingUserIds set to voice store for efficient user-level lookups - Clear current channel view when a channel is deleted - Move .glass-strip to @layer utilities for proper CSS specificity - Simplify avatar initials font size to proportional formula
This commit is contained in:
@@ -138,7 +138,7 @@
|
||||
/* ── Glass Material Tiers ──
|
||||
* .glass — Popovers, context menus, autocomplete (small, no backdrop)
|
||||
* .glass-modal — Center-screen dialogs (large, with backdrop, higher opacity for legibility)
|
||||
* .glass-strip — Space sidebar edge (no border-radius, directional shadow)
|
||||
* .glass-strip — Space sidebar edge (moved to @layer utilities to win over bg-surface-* utilities)
|
||||
* .glass-bubble — Persistent floating controls (voice bar, input pill)
|
||||
* .glass-pill — Inline decorations (reactions, tags, lighter blur)
|
||||
*
|
||||
@@ -159,17 +159,6 @@
|
||||
transition: border-color 0.2s ease, box-shadow 0.2s ease;
|
||||
}
|
||||
|
||||
/* Space strip glass — no border-radius, rightward shadow */
|
||||
.glass-strip {
|
||||
backdrop-filter: blur(20px) saturate(120%);
|
||||
-webkit-backdrop-filter: blur(20px) saturate(120%);
|
||||
background: var(--glass-bg);
|
||||
border-right: 1px solid rgba(255, 255, 255, 0.05);
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.03),
|
||||
2px 0 12px rgba(0, 0, 0, 0.20);
|
||||
}
|
||||
|
||||
/* Floating bubble glass — bottom bar, input pill */
|
||||
.glass-bubble {
|
||||
backdrop-filter: blur(20px) saturate(120%);
|
||||
@@ -247,6 +236,17 @@
|
||||
}
|
||||
|
||||
@layer utilities {
|
||||
/* Space strip glass — in utilities layer so md:glass-strip wins over bg-surface-* */
|
||||
.glass-strip {
|
||||
backdrop-filter: blur(20px) saturate(120%);
|
||||
-webkit-backdrop-filter: blur(20px) saturate(120%);
|
||||
background: var(--glass-bg);
|
||||
border-right: 1px solid rgba(255, 255, 255, 0.05);
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.03),
|
||||
2px 0 12px rgba(0, 0, 0, 0.20);
|
||||
}
|
||||
|
||||
.rounded-inherit {
|
||||
border-radius: inherit;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user