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"
 | 
						|
    />
 | 
						|
  );
 | 
						|
}
 |