Skip to content

Commit

Permalink
cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
adityachoudhari26 committed Sep 29, 2024
1 parent aaa2b93 commit f54557d
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 87 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,19 @@ import { Textarea } from "@ctrlplane/ui/textarea";
export const ConfigTypeSelector: React.FC<{
value: string | undefined;
onChange: (type: string) => void;
}> = ({ value, onChange }) => {
return (
<Select value={value} onValueChange={onChange}>
<SelectTrigger>
<SelectValue placeholder="Select type" />
</SelectTrigger>
<SelectContent>
<SelectItem value="string">String</SelectItem>
<SelectItem value="number">Number</SelectItem>
<SelectItem value="boolean">Boolean</SelectItem>
<SelectItem value="choice">Choice</SelectItem>
</SelectContent>
</Select>
);
};
}> = ({ value, onChange }) => (
<Select value={value} onValueChange={onChange}>
<SelectTrigger>
<SelectValue placeholder="Select type" />
</SelectTrigger>
<SelectContent>
<SelectItem value="string">String</SelectItem>
<SelectItem value="number">Number</SelectItem>
<SelectItem value="boolean">Boolean</SelectItem>
<SelectItem value="choice">Choice</SelectItem>
</SelectContent>
</Select>
);

type ConfigFieldsFC<T extends VariableConfigType> = React.FC<{
config: T;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,82 +25,63 @@ export const VariableStringInput: React.FC<
minLength,
maxLength,
default: defaultValue,
}) => {
return (
<div>
{inputType === "text" && (
<Input
type="text"
value={value}
placeholder={defaultValue}
onChange={(e) => onChange(e.target.value)}
minLength={minLength}
maxLength={maxLength}
/>
)}
{inputType === "text-area" && (
<Textarea
value={value}
onChange={(e) => onChange(e.target.value)}
minLength={minLength}
maxLength={maxLength}
/>
)}
</div>
);
};
}) => (
<div>
{inputType === "text" && (
<Input
type="text"
value={value}
placeholder={defaultValue}
onChange={(e) => onChange(e.target.value)}
minLength={minLength}
maxLength={maxLength}
/>
)}
{inputType === "text-area" && (
<Textarea
value={value}
onChange={(e) => onChange(e.target.value)}
minLength={minLength}
maxLength={maxLength}
/>
)}
</div>
);

export const VariableChoiceSelect: React.FC<
ChoiceVariableConfigType & {
value: string;
onSelect: (v: string) => void;
}
> = ({ value, onSelect, options }) => {
return (
<Select value={value} onValueChange={onSelect}>
<SelectTrigger>
<SelectValue />
</SelectTrigger>
<SelectContent>
{options.map((o) => (
<SelectItem key={o} value={o}>
{o}
</SelectItem>
))}
</SelectContent>
</Select>
);
};
> = ({ value, onSelect, options }) => (
<Select value={value} onValueChange={onSelect}>
<SelectTrigger>
<SelectValue />
</SelectTrigger>
<SelectContent>
{options.map((o) => (
<SelectItem key={o} value={o}>
{o}
</SelectItem>
))}
</SelectContent>
</Select>
);

export const VariableBooleanInput: React.FC<{
value: boolean | null;
onChange: (v: boolean) => void;
}> = ({ value, onChange }) => {
return (
<Select
value={value ? value.toString() : undefined}
onValueChange={(v) => onChange(v === "true")}
>
<SelectTrigger>
<SelectValue />
</SelectTrigger>
<SelectContent>
<SelectItem value="true">True</SelectItem>
<SelectItem value="false">False</SelectItem>
</SelectContent>
</Select>
);
};

export const VariableNumberInput: React.FC<{
value: number;
onChange: (v: number) => void;
}> = ({ value, onChange }) => {
return (
<Input
type="number"
value={value}
onChange={(e) => onChange(e.target.valueAsNumber)}
/>
);
};
}> = ({ value, onChange }) => (
<Select
value={value ? value.toString() : undefined}
onValueChange={(v) => onChange(v === "true")}
>
<SelectTrigger>
<SelectValue />
</SelectTrigger>
<SelectContent>
<SelectItem value="true">True</SelectItem>
<SelectItem value="false">False</SelectItem>
</SelectContent>
</Select>
);
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import {
FormMessage,
useForm,
} from "@ctrlplane/ui/form";
import { Input } from "@ctrlplane/ui/input";
import { Switch } from "@ctrlplane/ui/switch";
import {
Tooltip,
Expand All @@ -34,7 +35,6 @@ import {
import {
VariableBooleanInput,
VariableChoiceSelect,
VariableNumberInput,
VariableStringInput,
} from "~/app/[workspaceSlug]/systems/[systemSlug]/_components/variables/VariableInputs";
import { api } from "~/trpc/react";
Expand Down Expand Up @@ -103,9 +103,10 @@ export const AddVariableValueDialog: React.FC<{
/>
)}
{variable.config?.type === "number" && (
<VariableNumberInput
<Input
type="number"
value={Number(value)}
onChange={onChange}
onChange={(e) => onChange(e.target.valueAsNumber)}
/>
)}
</>
Expand Down

0 comments on commit f54557d

Please sign in to comment.