All checks were successful
continuous-integration/drone/push Build is passing
26 lines
715 B
TypeScript
26 lines
715 B
TypeScript
import { ServerApi } from "../../api/ServerApi";
|
|
import { TextInput } from "./TextInput";
|
|
|
|
export function DiskSizeInput(p: {
|
|
editable: boolean;
|
|
label?: string;
|
|
value: number;
|
|
onChange?: (size: number) => void;
|
|
}): React.ReactElement {
|
|
return (
|
|
<TextInput
|
|
editable={p.editable}
|
|
label={p.label ?? "Disk size (GB)"}
|
|
size={{
|
|
min: ServerApi.Config.constraints.disk_size.min / (1000 * 1000 * 1000),
|
|
max: ServerApi.Config.constraints.disk_size.max / (1000 * 1000 * 1000),
|
|
}}
|
|
value={(p.value / (1000 * 1000 * 1000)).toString()}
|
|
onValueChange={(v) => {
|
|
p.onChange?.(Number(v ?? "0") * 1000 * 1000 * 1000);
|
|
}}
|
|
type="number"
|
|
/>
|
|
);
|
|
}
|