Skip to content

Commit 48508fc

Browse files
committed
feat: preserve mobile view state using React Activity boundary
1 parent 6601cc1 commit 48508fc

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

  • apps/web/src/app/dashboard/register

apps/web/src/app/dashboard/register/page.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import { api } from "@albert-plus/server/convex/_generated/api";
44
import { useConvexAuth, usePaginatedQuery, useQuery } from "convex/react";
55
import { CalendarIcon, ListIcon } from "lucide-react";
6-
import { useEffect, useRef, useState } from "react";
6+
import { Activity, useEffect, useRef, useState } from "react";
77
import { useNextTerm, useNextYear } from "@/components/AppConfigProvider";
88
import { Label } from "@/components/ui/label";
99
import { Switch } from "@/components/ui/switch";
@@ -172,7 +172,7 @@ const RegisterPage = () => {
172172

173173
{/* Mobile view */}
174174
<div className="md:hidden flex-1 min-h-0">
175-
{mobileView === "selector" ? (
175+
<Activity mode={mobileView === "selector" ? "visible" : "hidden"}>
176176
<CourseSelector
177177
courseOfferingsWithCourses={displayedResults}
178178
onHover={setHoveredCourse}
@@ -185,9 +185,10 @@ const RegisterPage = () => {
185185
onCourseSelect={handleCourseSelect}
186186
selectedClassNumbers={selectedClassNumbers}
187187
/>
188-
) : (
188+
</Activity>
189+
<Activity mode={mobileView === "calendar" ? "visible" : "hidden"}>
189190
<div className="h-full flex flex-col space-y-2">
190-
<div className="md:hidden relative flex w-full items-start gap-2 rounded-md border border-input p-4 shadow-xs outline-none has-data-[state=checked]:border-primary/50">
191+
<div className="relative flex w-full items-start gap-2 rounded-md border border-input p-4 shadow-xs outline-none has-data-[state=checked]:border-primary/50">
191192
<AltToggle />
192193
</div>
193194
<ScheduleCalendar
@@ -197,7 +198,7 @@ const RegisterPage = () => {
197198
onCourseSelect={handleCourseSelect}
198199
/>
199200
</div>
200-
)}
201+
</Activity>
201202
</div>
202203

203204
{/* Desktop view */}

0 commit comments

Comments
 (0)