ldc-groupe/resources/ts/back/Components/Inputs/StaticRouteSelect.tsx

45 lines
1.2 KiB
TypeScript
Raw Permalink Normal View History

2026-02-12 15:42:22 +01:00
// * Packages
import { usePage } from "@inertiajs/react";
2026-02-12 15:42:22 +01:00
// * Other
import EnumSelect from "@/back/Components/Inputs/EnumSelect";
import { LaravelEnum } from "@/back/types/global";
import str from "@/hooks/use-string";
import useTrans from "@/hooks/use-translations";
interface Props {
name: string;
selected: number;
required: boolean;
label: string;
2026-02-12 15:42:22 +01:00
// eslint-disable-next-line no-unused-vars
setData: (name: string, value: number | null) => void;
}
2026-02-12 15:42:22 +01:00
export default function StaticRouteSelect(props: Props) {
const { name, selected, required, label, setData } = props;
2026-02-10 15:43:47 +01:00
const enumStaticRoutes = usePage().props
.enumStaticRoutes as LaravelEnum | null;
const transSelectValue = str(useTrans("back.static_route.select_value"))
.ucFirst()
.value();
2026-02-12 15:42:22 +01:00
const transNoRoutes = str(useTrans("back.static_route.no_route_defined"))
.ucFirst()
.value();
if (!enumStaticRoutes) return transNoRoutes;
return (
<EnumSelect
name={name}
label={label}
2026-02-10 15:43:47 +01:00
placeholder={transSelectValue}
selected={selected}
2026-02-10 15:43:47 +01:00
options={enumStaticRoutes}
setData={setData}
required={required}
/>
2026-02-10 15:43:47 +01:00
);
2026-02-10 15:52:48 +01:00
}