Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d8d008b5e8 | |||
| 51f45a806e | |||
| 5b8698cf81 | |||
| 69a3836f13 |
@@ -113,22 +113,28 @@ export function EventConfigEditor({ serverId, config }: EventConfigEditorProps)
|
|||||||
>
|
>
|
||||||
<option value="barcelona">Barcelona</option>
|
<option value="barcelona">Barcelona</option>
|
||||||
<option value="brands_hatch">Brands Hatch</option>
|
<option value="brands_hatch">Brands Hatch</option>
|
||||||
|
<option value="donington">Donington</option>
|
||||||
<option value="hungaroring">Hungaroring</option>
|
<option value="hungaroring">Hungaroring</option>
|
||||||
<option value="imola">Imola</option>
|
<option value="imola">Imola</option>
|
||||||
|
<option value="indianapolis">Indianapolis</option>
|
||||||
<option value="kyalami">Kyalami</option>
|
<option value="kyalami">Kyalami</option>
|
||||||
<option value="laguna_seca">Laguna Seca</option>
|
<option value="laguna_seca">Laguna Seca</option>
|
||||||
<option value="misano">Misano</option>
|
<option value="misano">Misano</option>
|
||||||
<option value="monza">Monza</option>
|
<option value="monza">Monza</option>
|
||||||
<option value="mount_panorama">Mount Panorama</option>
|
<option value="mount_panorama">Mount Panorama</option>
|
||||||
<option value="nurburgring">Nurburgring</option>
|
<option value="nurburgring">Nurburgring</option>
|
||||||
|
<option value="nurburgring_24h">Nurburgring 24h</option>
|
||||||
<option value="oulton_park">Oulton Park</option>
|
<option value="oulton_park">Oulton Park</option>
|
||||||
<option value="paul_ricard">Paul Ricard</option>
|
<option value="paul_ricard">Paul Ricard</option>
|
||||||
|
<option value="red_bull_ring">Red Bull Ring</option>
|
||||||
<option value="silverstone">Silverstone</option>
|
<option value="silverstone">Silverstone</option>
|
||||||
<option value="snetterton">Snetterton</option>
|
<option value="snetterton">Snetterton</option>
|
||||||
<option value="spa">Spa-Francorchamps</option>
|
<option value="spa">Spa-Francorchamps</option>
|
||||||
<option value="suzuka">Suzuka</option>
|
<option value="suzuka">Suzuka</option>
|
||||||
|
<option value="valencia">Valencia</option>
|
||||||
<option value="zandvoort">Zandvoort</option>
|
<option value="zandvoort">Zandvoort</option>
|
||||||
<option value="zolder">Zolder</option>
|
<option value="zolder">Zolder</option>
|
||||||
|
<option value="watkins_glen">Watkins Glen</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
interface RecentSession {
|
interface RecentSession {
|
||||||
id: number;
|
id: string;
|
||||||
date: string;
|
date: string;
|
||||||
type: string;
|
type: string;
|
||||||
track: string;
|
track: string;
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import type {
|
|||||||
EventRules,
|
EventRules,
|
||||||
ServerSettings
|
ServerSettings
|
||||||
} from '@/lib/schemas/config';
|
} from '@/lib/schemas/config';
|
||||||
|
import { boolToInt } from '@/lib/utils';
|
||||||
|
|
||||||
export async function updateConfigurationAction(serverId: string, formData: FormData) {
|
export async function updateConfigurationAction(serverId: string, formData: FormData) {
|
||||||
try {
|
try {
|
||||||
@@ -198,14 +199,14 @@ export async function updateEventRulesAction(serverId: string, formData: FormDat
|
|||||||
driverStintTimeSec: parseInt(formData.get('driverStintTimeSec') as string),
|
driverStintTimeSec: parseInt(formData.get('driverStintTimeSec') as string),
|
||||||
mandatoryPitstopCount: parseInt(formData.get('mandatoryPitstopCount') as string),
|
mandatoryPitstopCount: parseInt(formData.get('mandatoryPitstopCount') as string),
|
||||||
maxTotalDrivingTime: parseInt(formData.get('maxTotalDrivingTime') as string),
|
maxTotalDrivingTime: parseInt(formData.get('maxTotalDrivingTime') as string),
|
||||||
isRefuellingAllowedInRace: formData.get('isRefuellingAllowedInRace') === 'true',
|
isRefuellingAllowedInRace: boolToInt(formData.get('isRefuellingAllowedInRace') === 'true'),
|
||||||
isRefuellingTimeFixed: formData.get('isRefuellingTimeFixed') === 'true',
|
isRefuellingTimeFixed: boolToInt(formData.get('isRefuellingTimeFixed') === 'true'),
|
||||||
isMandatoryPitstopRefuellingRequired:
|
isMandatoryPitstopRefuellingRequired:
|
||||||
formData.get('isMandatoryPitstopRefuellingRequired') === 'true',
|
boolToInt(formData.get('isMandatoryPitstopRefuellingRequired') === 'true'),
|
||||||
isMandatoryPitstopTyreChangeRequired:
|
isMandatoryPitstopTyreChangeRequired:
|
||||||
formData.get('isMandatoryPitstopTyreChangeRequired') === 'true',
|
boolToInt(formData.get('isMandatoryPitstopTyreChangeRequired') === 'true'),
|
||||||
isMandatoryPitstopSwapDriverRequired:
|
isMandatoryPitstopSwapDriverRequired:
|
||||||
formData.get('isMandatoryPitstopSwapDriverRequired') === 'true',
|
boolToInt(formData.get('isMandatoryPitstopSwapDriverRequired') === 'true'),
|
||||||
tyreSetCount: parseInt(formData.get('tyreSetCount') as string)
|
tyreSetCount: parseInt(formData.get('tyreSetCount') as string)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ export const serverSchema = z.object({
|
|||||||
id: z.uuid(),
|
id: z.uuid(),
|
||||||
name: z.string().min(1),
|
name: z.string().min(1),
|
||||||
status: z.enum(ServiceStatus),
|
status: z.enum(ServiceStatus),
|
||||||
state: stateSchema.optional()
|
state: stateSchema.optional().nullable()
|
||||||
});
|
});
|
||||||
|
|
||||||
export type Server = z.infer<typeof serverSchema>;
|
export type Server = z.infer<typeof serverSchema>;
|
||||||
|
|||||||
@@ -4,3 +4,11 @@ import { twMerge } from 'tailwind-merge';
|
|||||||
export function cn(...inputs: ClassValue[]) {
|
export function cn(...inputs: ClassValue[]) {
|
||||||
return twMerge(clsx(inputs));
|
return twMerge(clsx(inputs));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function boolToInt(val: boolean) {
|
||||||
|
return val ? 1 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function intToBool(val: number) {
|
||||||
|
return !!val
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user