diff --git a/server/api/service/roadmap.get.ts b/server/api/service/roadmap.get.ts index 0ca4945..1fe7d2a 100644 --- a/server/api/service/roadmap.get.ts +++ b/server/api/service/roadmap.get.ts @@ -41,6 +41,17 @@ export default defineEventHandler(async () => { scorePercent, lastVoteAt: stat?.lastVoteAt ? stat.lastVoteAt.toISOString() : null, } + }).sort((a, b) => { + const voteDelta = (b.votes ?? 0) - (a.votes ?? 0) + if (voteDelta !== 0) { + return voteDelta + } + const avgA = a.averageImportance ?? 0 + const avgB = b.averageImportance ?? 0 + if (avgB !== avgA) { + return avgB - avgA + } + return a.title.localeCompare(b.title) }) const totalVotes = items.reduce((acc, item) => acc + item.votes, 0) diff --git a/server/data/roadmapItems.ts b/server/data/roadmapItems.ts index a72dae2..de442e5 100644 --- a/server/data/roadmapItems.ts +++ b/server/data/roadmapItems.ts @@ -63,6 +63,14 @@ export const ROADMAP_ITEMS: RoadmapItemDefinition[] = [ category: 'Infra', icon: 'mdi-server', }, + { + key: 'premium-api-access', + title: 'Premium-Zugriff auf schnelle APIs', + description: + 'Optionale Monatsabos für performantere Speech- & Sim-APIs mit priorisierten Kontingenten zu niedrigen Beträgen.', + category: 'Business', + icon: 'mdi-credit-card-clock', + }, { key: 'multi-voice', title: 'Mehrere ATC-Stimmen',