Files
2026-09-30 18:25:27 +00:00

29 lines
1.5 KiB
JavaScript

// Katalog der Projektarten und ihrer Zusatzfunktionen.
// preview: 'yes' = Vorschau immer, 'possible' = möglich, 'no' = keine.
export const FEATURES = {
analyse: { label: 'Website-Analyse', status: 'in_development' },
}
export const KINDS = [
{ key: 'website', label: 'Website', preview: 'yes', features: ['analyse'], ticketType: 'Webpage',
description: 'Internetauftritt inkl. Landingpage oder Shop' },
{ key: 'webapp', label: 'Web-App', preview: 'possible', features: [], ticketType: 'Webpage',
description: 'Individuelle Anwendung im Browser, z. B. Portal oder Buchungssystem' },
{ key: 'app', label: 'App', preview: 'no', features: [], ticketType: 'Webpage',
description: 'Mobile App für iOS und Android' },
{ key: 'migration', label: 'Migration/Umzug', preview: 'no', features: [], ticketType: 'Migration',
description: 'Umzug bestehender Seiten, Server oder Systeme' },
{ key: 'automation', label: 'Automation/Skript', preview: 'no', features: [], ticketType: 'Webpage',
description: 'Automatisierte Abläufe, Schnittstellen und Skripte' },
{ key: 'other', label: 'Sonstiges', preview: 'no', features: [], ticketType: 'Webpage',
description: 'Alles, was in keine andere Art passt' },
]
const find = (key) => KINDS.find(k => k.key === key)
export const isKind = (key) => !!find(key)
export const kindLabel = (key) => find(key)?.label || ''
export const ticketTypeFor = (key) => (find(key)?.ticketType === 'Migration' ? 'Migration' : 'Webpage')
export const servicesCatalog = () => ({ kinds: KINDS, features: FEATURES })