29 lines
1.5 KiB
JavaScript
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 })
|