31 lines
791 B
TypeScript
31 lines
791 B
TypeScript
"use client";
|
|
|
|
import { Plan } from "@prisma/client";
|
|
import { getResolutionsForPlan } from "@/lib/plans";
|
|
|
|
type Props = {
|
|
value: string;
|
|
onChange: (value: string) => void;
|
|
disabled?: boolean;
|
|
plan?: Plan;
|
|
};
|
|
|
|
export function ResolutionSelect({ value, onChange, disabled, plan = "FREE" }: Props) {
|
|
const resolutions = getResolutionsForPlan(plan);
|
|
|
|
return (
|
|
<select
|
|
value={value}
|
|
onChange={(e) => onChange(e.target.value)}
|
|
disabled={disabled}
|
|
className="w-full rounded border border-gray-600 bg-surface-light px-3 py-2 text-sm text-white focus:border-accent focus:outline-none disabled:opacity-50"
|
|
>
|
|
{resolutions.map((r) => (
|
|
<option key={r.value} value={r.value}>
|
|
{r.label}
|
|
</option>
|
|
))}
|
|
</select>
|
|
);
|
|
}
|