The Last Push for Mobile Fixes (Maybe) - #233
Conversation
Lmk if they're too big.
Maybe it'll fix itself with the spacer eventually.
It looks good imo
This is the last hopefully
📝 WalkthroughWalkthroughReplaces the Topbar hamburger lines with a single navbar image and updates multiple CSS files to increase the topbar height to 80px and add/adjust responsive rules for mobile sidebar behavior, navigation spacing, view headers, user table layout, and a new course-composer modal overlay. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Review rate limit: 0/1 reviews remaining, refill in 60 minutes.Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
rocky-interface/src/lib/components/Topbar.svelte (1)
15-17: ⚡ Quick winUse consistent icon classing across both render branches.
Line 15 and Line 17 render alternative icons but only one has
hamburger-icon. Keep both branches consistent to avoid styling drift.Proposed patch
{`#if` isHamburgerDay} <img src="/hamburger.svg" alt="Menu" class="hamburger-icon"/> {:else} - <img src="/navbar.svg" alt="Menu"/> + <img src="/navbar.svg" alt="Menu" class="hamburger-icon"/> {/if}🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@rocky-interface/src/lib/components/Topbar.svelte` around lines 15 - 17, In Topbar.svelte ensure both conditional branches render the icon with the same class so styling is consistent: update the else-branch's <img> (the alternative navbar icon) to include the same class attribute used on the hamburger icon (hamburger-icon) so both rendered <img> elements share identical classing and avoid style drift.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@rocky-interface/src/lib/components/Topbar.svelte`:
- Around line 15-17: In Topbar.svelte ensure both conditional branches render
the icon with the same class so styling is consistent: update the else-branch's
<img> (the alternative navbar icon) to include the same class attribute used on
the hamburger icon (hamburger-icon) so both rendered <img> elements share
identical classing and avoid style drift.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: cabc7094-897e-4764-8f53-97c0e8494f66
⛔ Files ignored due to path filters (1)
rocky-interface/static/navbar.svgis excluded by!**/*.svg
📒 Files selected for processing (4)
rocky-interface/src/lib/components/Topbar.svelterocky-interface/src/lib/styles/components/components.cssrocky-interface/src/lib/styles/layout/modules/view-structure.cssrocky-interface/src/lib/styles/routes/modules/users-view.css
There was a problem hiding this comment.
🧹 Nitpick comments (3)
rocky-interface/src/lib/styles/components/components.css (3)
44-50: ⚡ Quick winDesktop
.ksu-logopositioning is fragile withposition: absolute+left: 83%.At medium desktop widths this can overlap/truncate adjacent branding. Let flex layout do the alignment (
margin-left: auto) instead.Suggested patch
.ksu-logo { - height: 40px; - width: auto; - position: absolute; - left: 83%; - transform: translateX(-0%); + height: 40px; + width: auto; + margin-left: auto; }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@rocky-interface/src/lib/styles/components/components.css` around lines 44 - 50, The .ksu-logo rule uses fragile absolute positioning (position: absolute; left: 83%; transform: translateX(-0%)) which causes overlap at medium desktop widths; update the .ksu-logo selector to remove position, left and transform and let the flex container handle alignment by using margin-left: auto so the logo is pushed to the right without overlapping adjacent branding (adjust the parent to display: flex if not already).
145-148: ⚡ Quick winUse
--size-topbar-heightinstead of hardcoded80pxin mobile sidebar offsets.This avoids drift if topbar height changes again.
Suggested patch
`@media` (max-width: 768px) { .sidebar { position: fixed; - top: 80px; + top: var(--size-topbar-height); left: 0; - height: calc(100% - 80px); + height: calc(100% - var(--size-topbar-height)); transform: translateX(-100%); transition: transform 0.25s ease; z-index: 200; @@ `@media` (max-width: 768px) { .sidebar-backdrop { display: block; position: fixed; - inset: 80px 0 0 0; + inset: var(--size-topbar-height) 0 0 0; background: rgba(0, 0, 0, 0.4); z-index: 199; } }Also applies to: 168-168
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@rocky-interface/src/lib/styles/components/components.css` around lines 145 - 148, Replace the hardcoded 80px offsets used for the mobile sidebar (the top: 80px; and height: calc(100% - 80px); occurrences) with the CSS variable --size-topbar-height (e.g., top: var(--size-topbar-height); height: calc(100% - var(--size-topbar-height));) so the sidebar moves automatically if the topbar height changes; update both occurrences mentioned in the diff.
102-115: 🏗️ Heavy lift
nav-linkstyling is split across two stylesheets with divergent values.
rocky-interface/src/lib/styles/components/components.cssandrocky-interface/src/lib/styles/components/modules/sidebar.cssboth define.nav-linkdifferently, which makes final rendering import-order dependent. Consider consolidating ownership to one file to prevent regressions.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@rocky-interface/src/lib/styles/components/components.css` around lines 102 - 115, Two different stylesheets both define the .nav-link rule with conflicting values, causing order-dependent rendering; pick a single source-of-truth stylesheet to own .nav-link, move the canonical rule there (keep the intended properties like padding, font-size, font-weight, transition, border-left), remove the duplicate .nav-link rule from the other stylesheet, and if any differences are intentional extract the varying parts into a clearly named modifier class (e.g., .nav-link--alt) or CSS custom properties so overrides are explicit and stable.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@rocky-interface/src/lib/styles/components/components.css`:
- Around line 44-50: The .ksu-logo rule uses fragile absolute positioning
(position: absolute; left: 83%; transform: translateX(-0%)) which causes overlap
at medium desktop widths; update the .ksu-logo selector to remove position, left
and transform and let the flex container handle alignment by using margin-left:
auto so the logo is pushed to the right without overlapping adjacent branding
(adjust the parent to display: flex if not already).
- Around line 145-148: Replace the hardcoded 80px offsets used for the mobile
sidebar (the top: 80px; and height: calc(100% - 80px); occurrences) with the CSS
variable --size-topbar-height (e.g., top: var(--size-topbar-height); height:
calc(100% - var(--size-topbar-height));) so the sidebar moves automatically if
the topbar height changes; update both occurrences mentioned in the diff.
- Around line 102-115: Two different stylesheets both define the .nav-link rule
with conflicting values, causing order-dependent rendering; pick a single
source-of-truth stylesheet to own .nav-link, move the canonical rule there (keep
the intended properties like padding, font-size, font-weight, transition,
border-left), remove the duplicate .nav-link rule from the other stylesheet, and
if any differences are intentional extract the varying parts into a clearly
named modifier class (e.g., .nav-link--alt) or CSS custom properties so
overrides are explicit and stable.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 79b011c1-e9f0-4dd9-b8fe-a1358360a325
📒 Files selected for processing (4)
rocky-interface/src/lib/styles/components/components.cssrocky-interface/src/lib/styles/components/modules/sidebar.cssrocky-interface/src/lib/styles/foundation/tokens.cssrocky-interface/src/lib/styles/routes/modules/users-view.css
✅ Files skipped from review due to trivial changes (1)
- rocky-interface/src/lib/styles/foundation/tokens.css
🚧 Files skipped from review as they are similar to previous changes (1)
- rocky-interface/src/lib/styles/routes/modules/users-view.css
Summary by CodeRabbit
New Features
Style