From b99069a7d42d68d7b52bbcd881f3a93c90955cb6 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Fri, 13 Jun 2025 11:57:49 +0100 Subject: [PATCH] Working on remote assessment modal ui --- src/app/components/portfolio/Toolbar.tsx | 5 +- .../migrations/0100_wakeful_doctor_doom.sql | 1 + src/app/db/migrations/meta/0100_snapshot.json | 2988 +++++++++++++++++ src/app/db/migrations/meta/_journal.json | 7 + src/app/db/schema/recommendations.ts | 2 +- .../portfolio/[slug]/(portfolio)/layout.tsx | 6 +- .../components/RemoteAssessmentModal.tsx | 513 +-- .../components/SelectScenarioDropdown.tsx | 80 + src/app/portfolio/[slug]/utils.ts | 12 + 9 files changed, 3384 insertions(+), 230 deletions(-) create mode 100644 src/app/db/migrations/0100_wakeful_doctor_doom.sql create mode 100644 src/app/db/migrations/meta/0100_snapshot.json create mode 100644 src/app/portfolio/[slug]/components/SelectScenarioDropdown.tsx diff --git a/src/app/components/portfolio/Toolbar.tsx b/src/app/components/portfolio/Toolbar.tsx index 35d7718e..1ba07b6a 100644 --- a/src/app/components/portfolio/Toolbar.tsx +++ b/src/app/components/portfolio/Toolbar.tsx @@ -17,16 +17,18 @@ import UploadCsvModal from "@/app/portfolio/[slug]/components/UploadCsvModal"; import RemoteAssessmentModal from "@/app/portfolio/[slug]/components/RemoteAssessmentModal"; import { useState } from "react"; import { useRouter } from "next/navigation"; +import { ScenarioSelect } from "@/app/db/schema/recommendations"; interface ToolbarProps { portfolioId: string; + scenarios: ScenarioSelect[]; } const navigationMenuTriggerStyle = cva( "bg-gray-50 cursor-pointer group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-gray-200 hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-gray-200 " ); -export function Toolbar({ portfolioId }: ToolbarProps) { +export function Toolbar({ portfolioId, scenarios }: ToolbarProps) { const router = useRouter(); function handleClickSettings() { @@ -94,6 +96,7 @@ export function Toolbar({ portfolioId }: ToolbarProps) { isOpen={isRemoteAssessmentOpen} setIsOpen={setIsRemoteAssessmentOpen} portfolioId={portfolioId} + scenarios={scenarios} /> @@ -21,7 +23,7 @@ export default async function PortfolioLayout({
- +
diff --git a/src/app/portfolio/[slug]/components/RemoteAssessmentModal.tsx b/src/app/portfolio/[slug]/components/RemoteAssessmentModal.tsx index 8b119d9d..01586f42 100644 --- a/src/app/portfolio/[slug]/components/RemoteAssessmentModal.tsx +++ b/src/app/portfolio/[slug]/components/RemoteAssessmentModal.tsx @@ -20,6 +20,9 @@ import { FormDescription, } from "@/app/shadcn_components/ui/form"; import { useToast } from "@/app/hooks/use-toast"; +import { ScenarioSelect } from "@/app/db/schema/recommendations"; +import { useState } from "react"; +import { SelectScenarioDropdown } from "./SelectScenarioDropdown"; type Option = { label: string; @@ -175,7 +178,7 @@ export function SelectDropdown({ - {selectedOption || "Select an option"} + {selectedOption || "Select option"}