revert fb8e77bb68
Local Build and Deploy / deploy (push) Successful in 1m11s

revert style: clean up code with prettier and eslint
This commit is contained in:
remco committed 2026-07-12 21:02:03 +02:00
1 parent 27de078f54
commit e85e4d74ea
378 files changed
+20710 -22428

No files matched your search

+24 -24
View File
@@ -1,22 +1,22 @@
import { redirect } from "next/navigation";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
import { prisma } from "@/lib/prisma";
import { siteSettings } from "@/lib/services/site-settings";
import { DEFAULT_SOUNDTRACK_BASE_URL, parseTrackSamples } from "@/lib/services/soundtracks";
import { SoundsClient } from "./sounds-client";
import { redirect } from 'next/navigation'
import { canAccess, getAdminContext, PERMS } from '@/lib/permissions'
import { prisma } from '@/lib/prisma'
import { siteSettings } from '@/lib/services/site-settings'
import { DEFAULT_SOUNDTRACK_BASE_URL, parseTrackSamples } from '@/lib/services/soundtracks'
import { SoundsClient } from './sounds-client'
export default async function SoundsPage() {
const { session, permissions } = await getAdminContext();
const { session, permissions } = await getAdminContext()
if (!canAccess(permissions, PERMS.CATALOG_VIEW, session.user.rank)) {
redirect("/admin");
redirect('/admin')
}
const canEdit = canAccess(permissions, PERMS.CATALOG_EDIT, session.user.rank);
const canEdit = canAccess(permissions, PERMS.CATALOG_EDIT, session.user.rank)
const [rows, usage, baseUrlSetting] = await Promise.all([
prisma.soundtracks.findMany({
orderBy: { id: "asc" },
orderBy: { id: 'asc' },
select: {
id: true,
code: true,
@@ -27,20 +27,20 @@ export default async function SoundsPage() {
},
}),
prisma.catalogItems.groupBy({
by: ["songId"],
by: ['songId'],
where: { songId: { gt: 0 } },
_count: { _all: true },
}),
siteSettings.get("soundtrack_base_url", DEFAULT_SOUNDTRACK_BASE_URL),
]);
siteSettings.get('soundtrack_base_url', DEFAULT_SOUNDTRACK_BASE_URL),
])
const usageMap: Record<number, number> = {};
const usageMap: Record<number, number> = {}
for (const row of usage) {
if (row.songId != null) usageMap[row.songId] = row._count._all;
if (row.songId != null) usageMap[row.songId] = row._count._all
}
const soundtracks = rows.map((r) => {
const samples = parseTrackSamples(r.track);
const samples = parseTrackSamples(r.track)
return {
id: r.id,
code: r.code,
@@ -49,22 +49,22 @@ export default async function SoundsPage() {
length: r.length,
track: r.track,
samples,
kind: (samples.length > 0 ? "composition" : "single") as "composition" | "single",
kind: (samples.length > 0 ? 'composition' : 'single') as 'composition' | 'single',
usedBy: usageMap[r.id] ?? 0,
};
});
}
})
// Normalize: ensure trailing slash so ${base}${code}.mp3 yields a valid URL.
const configuredBaseUrl = baseUrlSetting ?? "/sounds/";
const baseUrl = configuredBaseUrl.endsWith("/") ? configuredBaseUrl : `${configuredBaseUrl}/`;
const configuredBaseUrl = baseUrlSetting ?? '/sounds/'
const baseUrl = configuredBaseUrl.endsWith('/') ? configuredBaseUrl : `${configuredBaseUrl}/`
return (
<div className="space-y-6">
<div>
<h1 className="text-3xl font-bold tracking-tight">Song Disks</h1>
<p className="text-muted-foreground">
Carica e gestisci i file MP3 dei song disk riprodotti dai jukebox in-game. I file sono serviti da{" "}
<code>{baseUrl}</code> (configurabile in{" "}
Carica e gestisci i file MP3 dei song disk riprodotti dai jukebox in-game. I file sono
serviti da <code>{baseUrl}</code> (configurabile in{' '}
<a href="/admin/settings/cms" className="underline">
Impostazioni &gt; CMS
</a>
@@ -73,5 +73,5 @@ export default async function SoundsPage() {
</div>
<SoundsClient soundtracks={soundtracks} canEdit={canEdit} baseUrl={baseUrl} />
</div>
);
)
}