From ef69c32d5975e42aa77b1a569d5153e1e0b42eae Mon Sep 17 00:00:00 2001 From: Remi <73385395+itsrubberduck@users.noreply.github.com> Date: Thu, 18 Sep 2025 13:05:17 +0200 Subject: [PATCH] Add premium API roadmap item and sort roadmap by votes --- server/api/service/roadmap.get.ts | 11 +++++++++++ server/data/roadmapItems.ts | 8 ++++++++ 2 files changed, 19 insertions(+) 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',