export type ReleaseChangeType = 'major' | 'feature' | 'fix'

export interface ReleaseNoteItem {
  type: ReleaseChangeType
  title: string
  description: string
}

export interface VersionRule {
  pattern: string
  label: string
  description: string
}

export const semanticVersion = '0.1.0'
export const buildVersion = import.meta.env.VITE_BUILD_VERSION?.trim() || semanticVersion
export const buildDateLabel = import.meta.env.VITE_BUILD_DATE?.trim() || '26.06.2026'

export const versionRules: VersionRule[] = [
  {
    pattern: 'x.0.0',
    label: 'Major Changes',
    description: 'Grosse Umbauten, Breaking Changes oder Releases, die sich wie ein neues Kapitel anfuehlen.',
  },
  {
    pattern: '0.x.0',
    label: 'Neue Features',
    description: 'Neue Funktionen, groessere UI-Flows oder sichtbare Produktverbesserungen.',
  },
  {
    pattern: '0.0.x',
    label: 'Minor & Bugfixes',
    description: 'Kleine Verbesserungen, Bugfixes, Copy-Polish und unkritische Feinschliffe.',
  },
]

export const releaseNotes: ReleaseNoteItem[] = [
  {
    type: 'feature',
    title: 'Twitch Login ist live',
    description: 'Login und Account-Verknuepfung laufen jetzt ueber den offiziellen Twitch OAuth Flow.',
  },
  {
    type: 'feature',
    title: 'Team-Accounts koennen Twitch verbinden',
    description: 'Teammitglieder koennen ihren Account mit Twitch verknuepfen, wieder loesen und danach sauber ueber Twitch einsteigen.',
  },
  {
    type: 'feature',
    title: 'Team-Status aktualisiert sich automatisch',
    description: 'In der Teamverwaltung siehst du regelmaessig, wer online ist. Die Ansicht aktualisiert sich alle 30 Sekunden.',
  },
  {
    type: 'feature',
    title: 'Moderation ist schneller bedienbar',
    description: 'Reviewed Nominierungen und Risiko-Queues lassen sich angenehmer mit Pfeiltasten und Tastatur bedienen.',
  },
  {
    type: 'feature',
    title: 'Admin-Bereiche wurden aufgeraeumt',
    description: 'Jahre, Landingpage, Risiko, Team und Analytics sind kompakter, klarer gruppiert und weniger erschlagend.',
  },
  {
    type: 'feature',
    title: 'User-Profil wurde repariert und ueberarbeitet',
    description: 'Das Profil ist wieder ein echter Teil des Flows, inklusive Twitch-Verknuepfung und sauberem Account-Status.',
  },
  {
    type: 'feature',
    title: 'Besseres Feedback beim Bearbeiten',
    description: 'Buttons haben Animationen, Speichern/Bearbeiten gibt sichtbarere Rueckmeldung und Modals fuehlen sich stabiler an.',
  },
  {
    type: 'fix',
    title: 'Dropdowns sehen wieder korrekt aus',
    description: 'Das Dropdown-Design wurde stabilisiert und passt nun besser zum restlichen Admin-UI.',
  },
  {
    type: 'fix',
    title: 'Backend, Auth und Sicherheit wurden gehaertet',
    description: 'Sessions, Team-Rechte, Audit-Logs, Public Writes, Vote-Eindeutigkeit und Runtime-Settings wurden robuster gemacht.',
  },
  {
    type: 'fix',
    title: 'Datenbank- und Deploy-Sicherheit verbessert',
    description: 'Healthchecks, Migrationen, Seed-Verhalten und produktionsnahe Konfiguration sind klarer sichtbar und weniger fehleranfaellig.',
  },
]
