new features

This commit is contained in:
Matthias Hochmeister
2026-03-23 18:43:30 +01:00
parent 202a658b8d
commit 1b13e4f89e
31 changed files with 1022 additions and 517 deletions

View File

@@ -1,8 +1,8 @@
// Shop (Internal Ordering) types
// Ausrüstungsanfrage (Equipment Request) types
// ── Catalog Items ──
export interface ShopArtikel {
export interface AusruestungArtikel {
id: number;
bezeichnung: string;
beschreibung?: string;
@@ -15,7 +15,7 @@ export interface ShopArtikel {
aktualisiert_am: string;
}
export interface ShopArtikelFormData {
export interface AusruestungArtikelFormData {
bezeichnung: string;
beschreibung?: string;
kategorie?: string;
@@ -25,9 +25,9 @@ export interface ShopArtikelFormData {
// ── Requests ──
export type ShopAnfrageStatus = 'offen' | 'genehmigt' | 'abgelehnt' | 'bestellt' | 'erledigt';
export type AusruestungAnfrageStatus = 'offen' | 'genehmigt' | 'abgelehnt' | 'bestellt' | 'erledigt';
export const SHOP_STATUS_LABELS: Record<ShopAnfrageStatus, string> = {
export const AUSRUESTUNG_STATUS_LABELS: Record<AusruestungAnfrageStatus, string> = {
offen: 'Offen',
genehmigt: 'Genehmigt',
abgelehnt: 'Abgelehnt',
@@ -35,7 +35,7 @@ export const SHOP_STATUS_LABELS: Record<ShopAnfrageStatus, string> = {
erledigt: 'Erledigt',
};
export const SHOP_STATUS_COLORS: Record<ShopAnfrageStatus, 'default' | 'info' | 'error' | 'primary' | 'success'> = {
export const AUSRUESTUNG_STATUS_COLORS: Record<AusruestungAnfrageStatus, 'default' | 'info' | 'error' | 'primary' | 'success'> = {
offen: 'default',
genehmigt: 'info',
abgelehnt: 'error',
@@ -43,11 +43,11 @@ export const SHOP_STATUS_COLORS: Record<ShopAnfrageStatus, 'default' | 'info' |
erledigt: 'success',
};
export interface ShopAnfrage {
export interface AusruestungAnfrage {
id: number;
anfrager_id: string;
anfrager_name?: string;
status: ShopAnfrageStatus;
status: AusruestungAnfrageStatus;
notizen?: string;
admin_notizen?: string;
bearbeitet_von?: string;
@@ -60,7 +60,7 @@ export interface ShopAnfrage {
items_count?: number;
}
export interface ShopAnfragePosition {
export interface AusruestungAnfragePosition {
id: number;
anfrage_id: number;
artikel_id?: number;
@@ -70,7 +70,7 @@ export interface ShopAnfragePosition {
erstellt_am: string;
}
export interface ShopAnfrageFormItem {
export interface AusruestungAnfrageFormItem {
artikel_id?: number;
bezeichnung: string;
menge: number;
@@ -79,22 +79,22 @@ export interface ShopAnfrageFormItem {
// ── API Response Types ──
export interface ShopAnfrageDetailResponse {
anfrage: ShopAnfrage;
positionen: ShopAnfragePosition[];
export interface AusruestungAnfrageDetailResponse {
anfrage: AusruestungAnfrage;
positionen: AusruestungAnfragePosition[];
linked_bestellungen?: { id: number; bezeichnung: string; status: string }[];
}
// ── Overview ──
export interface ShopOverviewItem {
export interface AusruestungOverviewItem {
bezeichnung: string;
total_menge: number;
anfrage_count: number;
}
export interface ShopOverview {
items: ShopOverviewItem[];
export interface AusruestungOverview {
items: AusruestungOverviewItem[];
pending_count: number;
approved_count: number;
total_items: number;