import React from "react"; import { useQuery } from "@tanstack/react-query"; import topicApi from "@/shared/services/topic"; import { cn } from "@/shared/utils/utils"; import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectTrigger, SelectValue, } from "@/shared/components/ui/select"; import { useFormContext, Controller } from "react-hook-form"; interface FormTopicSelectProps { name: string; placeholder?: string; defaultValue?: number; className?: string; disabled?: boolean; } export const FormTopicSelect: React.FC = ({ name, placeholder = "Select a topic", className, disabled = false, }) => { const { control } = useFormContext(); const { data, isLoading, error } = useQuery({ queryKey: ["topics"], queryFn: topicApi.getTopics, refetchOnWindowFocus: false, select: (data) => data.data, }); if (error) { return (
Failed to load topics. Please try again.
); } return ( ( <> {error && (

{error.message}

)} )} /> ); }; export default FormTopicSelect;