mirror of
https://github.com/hanzoai/calendar.git
synced 2026-10-30 14:46:43 +00:00
* refactor: apply biome formatting to apps/web (batch 1) Formats apps/web non-modules directories: - apps/web/app - apps/web/lib - apps/web/pages - apps/web/styles - apps/web/server - apps/web/test - Root-level .ts and .mjs files Co-Authored-By: Claude Opus 4.5 <[email protected]> * refactor: apply biome formatting to apps/web/modules (batch 2) Formats smaller apps/web/modules directories: - onboarding, data-table, users, apps, auth - integration-attribute-sync, shell, availability - feature-flags, team, webhooks, getting-started - feature-opt-in, troubleshooter, schedules, notifications - signup-view.tsx Co-Authored-By: Claude Opus 4.5 <[email protected]> * refactor: apply biome formatting to apps/web/modules (batch 3) Formats medium apps/web/modules directories: - bookings - event-types - insights - embed Co-Authored-By: Claude Opus 4.5 <[email protected]> * refactor: apply biome formatting to apps/web/modules/ee (batch 4) Formats apps/web/modules/ee directory. Co-Authored-By: Claude Opus 4.5 <[email protected]> * refactor: apply biome formatting to apps/web (batch 5) Formats remaining apps/web directories: - apps/web/modules/settings - apps/web/modules/booking-audit - apps/web/playwright Co-Authored-By: Claude Opus 4.5 <[email protected]> * refactor: apply biome formatting to apps/web/components (batch 6) Formats remaining apps/web/components files. Co-Authored-By: Claude Opus 4.5 <[email protected]> * refactor: apply biome formatting to new apps/web files from main Formats newly added/modified files from main merge: - WorkflowStepContainer.tsx (resolved merge conflicts) - Newly moved files (blocklist, form-builder, schedules, etc.) - Other files modified in main Co-Authored-By: Claude Opus 4.5 <[email protected]> * refactor: apply biome formatting to new apps/web files from main Co-Authored-By: Claude Opus 4.5 <[email protected]> --------- Co-authored-by: Claude Opus 4.5 <[email protected]> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
65 lines
2.0 KiB
TypeScript
65 lines
2.0 KiB
TypeScript
"use client";
|
|
|
|
import { useState } from "react";
|
|
|
|
import type { RoutingForm } from "@calcom/app-store/routing-forms/types/types";
|
|
import { useLocale } from "@calcom/lib/hooks/useLocale";
|
|
import { trpc } from "@calcom/trpc/react";
|
|
import { Label } from "@calcom/ui/components/form";
|
|
import { Select } from "@calcom/ui/components/form";
|
|
|
|
import { TestForm } from "../../../components/apps/routing-forms/TestForm";
|
|
import { EmptyScreen } from "@calcom/ui/components/empty-screen";
|
|
|
|
export default function InsightsVirtualQueuesPage() {
|
|
const { t } = useLocale();
|
|
const { data: routingForms, isLoading: isRoutingFormsLoading } =
|
|
trpc.viewer.insights.getUserRelevantTeamRoutingForms.useQuery();
|
|
|
|
const [selectedForm, setSelectedForm] = useState<RoutingForm | undefined>(
|
|
routingForms && routingForms.length > 0 ? routingForms[0] : undefined
|
|
);
|
|
|
|
if (routingForms && !selectedForm && routingForms.length > 0) {
|
|
setSelectedForm(routingForms[0]);
|
|
}
|
|
|
|
if (routingForms && routingForms.length === 0) {
|
|
return (
|
|
<EmptyScreen
|
|
Icon="split"
|
|
headline={t("no_routing_forms")}
|
|
description={t("empty_routing_forms_description")}
|
|
/>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<>
|
|
<Label>{t("routing_form")}</Label>
|
|
<Select
|
|
placeholder="Select project"
|
|
options={routingForms?.map((form) => ({ label: form.name, value: form.id })) ?? []}
|
|
isLoading={isRoutingFormsLoading}
|
|
className="w-60"
|
|
onChange={(e) => {
|
|
if (e && routingForms) {
|
|
const form = routingForms.find((form) => form.id === e.value);
|
|
setSelectedForm(form);
|
|
}
|
|
}}
|
|
value={selectedForm ? { label: selectedForm.name, value: selectedForm.id } : undefined}
|
|
/>
|
|
<div className="mt-10">
|
|
{selectedForm ? (
|
|
<TestForm form={selectedForm} supportsTeamMembersMatchingLogic={true} showRRData={true} />
|
|
) : (
|
|
<></>
|
|
)}
|
|
</div>
|
|
</>
|
|
);
|
|
|
|
return <></>;
|
|
}
|