feat: add auth, mock data and zustand stores
This commit is contained in:
@@ -0,0 +1,225 @@
|
||||
import type { Manual, Tool, User } from '../types';
|
||||
|
||||
export const MOCK_USERS: User[] = [
|
||||
{
|
||||
id: '1',
|
||||
username: 'admin',
|
||||
role: 'admin',
|
||||
trainings: ['drill', '3d-print', 'laser', 'cnc', 'soldering'],
|
||||
email: 'admin@repaircafe.dev',
|
||||
},
|
||||
{
|
||||
id: '2',
|
||||
username: 'guest',
|
||||
role: 'guest',
|
||||
trainings: [],
|
||||
email: 'guest@repaircafe.dev',
|
||||
},
|
||||
{
|
||||
id: '3',
|
||||
username: 'staff',
|
||||
role: 'staff',
|
||||
trainings: ['drill', 'soldering'],
|
||||
email: 'staff@repaircafe.dev',
|
||||
},
|
||||
];
|
||||
|
||||
export const MOCK_TOOLS: Tool[] = [
|
||||
{
|
||||
id: 't1',
|
||||
name: 'Bosch Schlagbohrmaschine',
|
||||
description:
|
||||
'Leistungsstarke Schlagbohrmaschine 850 W für Beton, Stein und Mauerwerk. Inklusive Bohrer-Set bis 13 mm.',
|
||||
location: 'Werkstatt A · Regal 2',
|
||||
category: 'power',
|
||||
trainingRequired: true,
|
||||
requiredTrainingId: 'drill',
|
||||
homeAllowed: true,
|
||||
maxRentalDays: 3,
|
||||
emoji: '🪛',
|
||||
},
|
||||
{
|
||||
id: 't2',
|
||||
name: '3D-Drucker Prusa i3 MK3S',
|
||||
description:
|
||||
'Präziser FDM-Drucker für PLA, PETG und ABS. Druckraum 250×210×210 mm. PLA-Filament ist verfügbar.',
|
||||
location: 'Labor 1 · Schrank B',
|
||||
category: 'electronics',
|
||||
trainingRequired: true,
|
||||
requiredTrainingId: '3d-print',
|
||||
homeAllowed: false,
|
||||
maxRentalDays: 1,
|
||||
emoji: '🖨️',
|
||||
},
|
||||
{
|
||||
id: 't3',
|
||||
name: 'Schlosserhammer 500 g',
|
||||
description:
|
||||
'Klassischer Schlosserhammer mit Hickory-Stiel. Für allgemeine Heimwerker-Arbeiten geeignet.',
|
||||
location: 'Werkstatt A · Werkzeugwand',
|
||||
category: 'hand',
|
||||
trainingRequired: false,
|
||||
homeAllowed: true,
|
||||
maxRentalDays: 7,
|
||||
emoji: '🔨',
|
||||
},
|
||||
{
|
||||
id: 't4',
|
||||
name: 'Lötstation Weller WE 1010',
|
||||
description:
|
||||
'Digitale Lötstation 70 W mit Temperaturregelung 100-450 °C. Inkl. Lötspitzen-Set und Entlötlitze.',
|
||||
location: 'Labor 2 · Tisch 3',
|
||||
category: 'electronics',
|
||||
trainingRequired: true,
|
||||
requiredTrainingId: 'soldering',
|
||||
homeAllowed: false,
|
||||
maxRentalDays: 2,
|
||||
emoji: '🔌',
|
||||
},
|
||||
{
|
||||
id: 't5',
|
||||
name: 'Akku-Schrauber Makita 18V',
|
||||
description:
|
||||
'Kompakter Akku-Schrauber mit 18 V Lithium-Ionen-Akku. Inklusive Bit-Set und Ersatzakku.',
|
||||
location: 'Werkstatt A · Schrank 1',
|
||||
category: 'power',
|
||||
trainingRequired: false,
|
||||
homeAllowed: true,
|
||||
maxRentalDays: 5,
|
||||
emoji: '🔧',
|
||||
},
|
||||
{
|
||||
id: 't6',
|
||||
name: 'Laser-Schneider K40',
|
||||
description:
|
||||
'CO2-Laserschneider 40 W für Holz, Acryl und Pappe. Arbeitsfläche 300×200 mm. Achtung: Materialliste beachten!',
|
||||
location: 'Labor 1 · Standalone',
|
||||
category: 'workshop',
|
||||
trainingRequired: true,
|
||||
requiredTrainingId: 'laser',
|
||||
homeAllowed: false,
|
||||
maxRentalDays: 1,
|
||||
emoji: '⚡',
|
||||
},
|
||||
{
|
||||
id: 't7',
|
||||
name: 'Digital-Multimeter Fluke 117',
|
||||
description:
|
||||
'Profi-Multimeter mit AutoVolt, True-RMS und kontaktloser Spannungsprüfung. Für Elektronik-Diagnose.',
|
||||
location: 'Labor 2 · Werkzeugkoffer',
|
||||
category: 'measurement',
|
||||
trainingRequired: false,
|
||||
homeAllowed: true,
|
||||
maxRentalDays: 3,
|
||||
emoji: '🔋',
|
||||
},
|
||||
{
|
||||
id: 't8',
|
||||
name: 'Nähmaschine Bernina B215',
|
||||
description:
|
||||
'Robuste Nähmaschine für Anfänger und Fortgeschrittene. 18 Nähstiche, automatisches Knopfloch.',
|
||||
location: 'Textil-Ecke · Tisch 1',
|
||||
category: 'sewing',
|
||||
trainingRequired: false,
|
||||
homeAllowed: false,
|
||||
maxRentalDays: 2,
|
||||
emoji: '🧵',
|
||||
},
|
||||
{
|
||||
id: 't9',
|
||||
name: 'Fahrrad-Montageständer Park Tool',
|
||||
description:
|
||||
'Professioneller Werkstatt-Montageständer für alle Fahrrad-Reparaturen. Tragkraft bis 36 kg.',
|
||||
location: 'Fahrrad-Werkstatt · Eingang',
|
||||
category: 'bike',
|
||||
trainingRequired: false,
|
||||
homeAllowed: true,
|
||||
maxRentalDays: 5,
|
||||
emoji: '🚲',
|
||||
},
|
||||
{
|
||||
id: 't10',
|
||||
name: 'Akku-Heckenschere Bosch',
|
||||
description:
|
||||
'Akku-Heckenschere AHS 50-20 LI mit 50 cm Schwertlänge. Für Hecken bis 20 mm Astdurchmesser.',
|
||||
location: 'Garten-Schuppen',
|
||||
category: 'garden',
|
||||
trainingRequired: false,
|
||||
homeAllowed: true,
|
||||
maxRentalDays: 4,
|
||||
emoji: '🌿',
|
||||
},
|
||||
{
|
||||
id: 't11',
|
||||
name: 'Oszilloskop Rigol DS1054Z',
|
||||
description:
|
||||
'4-Kanal-Oszilloskop 50 MHz, 1 GSa/s Abtastrate. Für anspruchsvolle Elektronik-Messungen.',
|
||||
location: 'Labor 2 · Tisch 2',
|
||||
category: 'measurement',
|
||||
trainingRequired: true,
|
||||
requiredTrainingId: 'soldering',
|
||||
homeAllowed: false,
|
||||
maxRentalDays: 2,
|
||||
emoji: '📊',
|
||||
},
|
||||
{
|
||||
id: 't12',
|
||||
name: 'CNC-Fräse Stepcraft D.420',
|
||||
description:
|
||||
'Tisch-CNC-Fräse mit Arbeitsbereich 420×300×140 mm. Für Holz, Aluminium und Kunststoff.',
|
||||
location: 'Labor 1 · CNC-Bereich',
|
||||
category: 'workshop',
|
||||
trainingRequired: true,
|
||||
requiredTrainingId: 'cnc',
|
||||
homeAllowed: false,
|
||||
maxRentalDays: 1,
|
||||
emoji: '⚙️',
|
||||
},
|
||||
];
|
||||
|
||||
export const MOCK_MANUALS: Manual[] = [
|
||||
{
|
||||
toolId: 't1',
|
||||
title: 'Bohrmaschine richtig nutzen',
|
||||
content:
|
||||
'Spannfutter gegen den Uhrzeigersinn lösen, passenden Bohrer einsetzen, fest zudrehen. Bei Beton den Schlag-Modus aktivieren. Augenschutz tragen!',
|
||||
},
|
||||
{
|
||||
toolId: 't2',
|
||||
title: 'Prusa i3 vorbereiten',
|
||||
content:
|
||||
'Druckbett mit Isopropanol reinigen, Filament laden, Erstschicht-Kalibrierung durchführen. Erste 10 Minuten am Drucker bleiben.',
|
||||
},
|
||||
{
|
||||
toolId: 't4',
|
||||
title: 'Löten — Grundlagen',
|
||||
content:
|
||||
'Lötkolben auf 320-360 °C aufheizen. Erst Pad und Bauteil erhitzen, dann Lötzinn zuführen. Niemals direkt auf den Lötkolben löten — nur indirekt über Pad/Pin.',
|
||||
},
|
||||
{
|
||||
toolId: 't6',
|
||||
title: 'Laser-Cutter Sicherheit',
|
||||
content:
|
||||
'NIEMALS verbotene Materialien (PVC, Vinyl, Polycarbonat) schneiden — Chlorgas! Absaugung VOR Start prüfen. Während des Schnitts nie unbeaufsichtigt lassen.',
|
||||
},
|
||||
{
|
||||
toolId: 't8',
|
||||
title: 'Nähmaschine einfädeln',
|
||||
content:
|
||||
'Oberfaden vom Garnrollenhalter durch alle markierten Führungen. Spule unten einsetzen — Faden gegen den Uhrzeigersinn. Probelauf an Stoffrest.',
|
||||
},
|
||||
{
|
||||
toolId: 't11',
|
||||
title: 'Oszilloskop-Trigger',
|
||||
content:
|
||||
'Trigger immer auf das stabilste Signal setzen. AutoSetup gibt einen guten Startpunkt. Pegel manuell anpassen, bis das Bild "steht".',
|
||||
},
|
||||
];
|
||||
|
||||
export const MOCK_TRAININGS = [
|
||||
{ id: 'drill', name: 'Bohrmaschinen-Einweisung', duration: '30 min' },
|
||||
{ id: '3d-print', name: '3D-Druck Grundlagen', duration: '90 min' },
|
||||
{ id: 'laser', name: 'Laser-Cutter Sicherheit', duration: '60 min' },
|
||||
{ id: 'cnc', name: 'CNC-Fräse Einführung', duration: '120 min' },
|
||||
{ id: 'soldering', name: 'Löten für Anfänger', duration: '45 min' },
|
||||
];
|
||||
Reference in New Issue
Block a user