feat: scaffold MUI theme, providers, color mode and i18n
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
export type Role = 'admin' | 'staff' | 'user' | 'guest';
|
||||
|
||||
export type ToolCategory =
|
||||
| 'power'
|
||||
| 'measurement'
|
||||
| 'hand'
|
||||
| 'electronics'
|
||||
| 'workshop'
|
||||
| 'garden'
|
||||
| 'sewing'
|
||||
| 'bike';
|
||||
|
||||
export interface User {
|
||||
id: string;
|
||||
username: string;
|
||||
role: Role;
|
||||
trainings: string[];
|
||||
email?: string;
|
||||
}
|
||||
|
||||
export interface Tool {
|
||||
id: string;
|
||||
name: string;
|
||||
description: string;
|
||||
location: string;
|
||||
category: ToolCategory;
|
||||
trainingRequired: boolean;
|
||||
requiredTrainingId?: string;
|
||||
homeAllowed: boolean;
|
||||
maxRentalDays: number;
|
||||
emoji: string;
|
||||
}
|
||||
|
||||
export interface Reservation {
|
||||
id: string;
|
||||
userId: string;
|
||||
toolId: string;
|
||||
startDate: string;
|
||||
endDate: string;
|
||||
status: 'requested' | 'approved' | 'active' | 'completed' | 'overdue';
|
||||
note?: string;
|
||||
}
|
||||
|
||||
export interface Manual {
|
||||
toolId: string;
|
||||
title?: string;
|
||||
content: string;
|
||||
}
|
||||
|
||||
export const CATEGORY_LABEL: Record<ToolCategory, string> = {
|
||||
power: 'Elektrowerkzeuge',
|
||||
measurement: 'Messen',
|
||||
hand: 'Handwerkzeug',
|
||||
electronics: 'Elektronik',
|
||||
workshop: 'Werkstatt',
|
||||
garden: 'Garten',
|
||||
sewing: 'Nähen',
|
||||
bike: 'Fahrrad',
|
||||
};
|
||||
Reference in New Issue
Block a user