chore: fix lint/type issues from seven-feature integration

This commit is contained in:
2026-05-09 23:35:21 +08:00
parent 085ebb54d4
commit 5ed60ef3cc
6 changed files with 18 additions and 31 deletions
-12
View File
@@ -276,9 +276,6 @@ function HeroInfo({
stats,
session,
counts,
coverImage,
imgError,
handleImgError,
platformSupport,
protonDbUrl,
steamDbUrl,
@@ -290,9 +287,6 @@ function HeroInfo({
stats: StatsResponse | null
session: { user?: { id?: string } } | null
counts: Counts
coverImage: string | null
imgError: boolean
handleImgError: () => void
platformSupport: PlatformSupport[]
protonDbUrl: string | null
steamDbUrl: string | null
@@ -776,9 +770,6 @@ export function GamePageClient({
stats={stats}
session={session}
counts={counts}
coverImage={coverImage}
imgError={imgError}
handleImgError={handleImgError}
platformSupport={platformSupport}
protonDbUrl={protonDbUrl}
steamDbUrl={steamDbUrl}
@@ -817,9 +808,6 @@ export function GamePageClient({
stats={stats}
session={session}
counts={counts}
coverImage={coverImage}
imgError={imgError}
handleImgError={handleImgError}
platformSupport={platformSupport}
protonDbUrl={protonDbUrl}
steamDbUrl={steamDbUrl}
+6 -6
View File
@@ -284,9 +284,9 @@ export default async function GamePage({
estimatedBatteryMin: p.estimatedBatteryMin ?? null,
tdpWatts: p.tdpWatts ?? null,
youtubeVideoId: p.youtubeVideoId ?? null,
screenshots: null,
hardwareWattHours: null,
hardwareDeviceType: null,
screenshots: null as Array<{ id: string; url: string; width: number; height: number; orderIndex: number }> | null,
hardwareWattHours: null as number | null,
hardwareDeviceType: null as string | null,
customSystem: p.customSystem ?? false,
userNotes: p.userNotes,
userId: p.userId,
@@ -319,7 +319,7 @@ export default async function GamePage({
width: ss.width,
height: ss.height,
orderIndex: ss.orderIndex,
})) as any
}))
const [hw] = await db
.select({
@@ -330,8 +330,8 @@ export default async function GamePage({
.where(eq(hardware.slug, preset.hardwareSlug))
.limit(1)
preset.hardwareWattHours = hw?.wattHours ? Number(hw.wattHours) : null as any
preset.hardwareDeviceType = (hw?.deviceType ?? null) as any
preset.hardwareWattHours = hw?.wattHours ? Number(hw.wattHours) : null
preset.hardwareDeviceType = hw?.deviceType ?? null
}
return (
+3 -5
View File
@@ -269,8 +269,7 @@ export function GamesPageClient({
)
}
function FilterPanelContent() {
return (
const filterPanelContent = (
<>
{/* Device filter */}
<div>
@@ -492,7 +491,6 @@ export function GamesPageClient({
</>
)
}
return (
<section ref={pageRef} className={`w-full flex flex-col gap-8 py-8 ${isGamepadActive ? "gamepad-focus" : ""}`}>
@@ -608,7 +606,7 @@ export function GamesPageClient({
{/* Mobile drawer */}
<FilterDrawer isOpen={showFilters} onClose={() => setShowFilters(false)}>
<div className="flex flex-col gap-3">
<FilterPanelContent />
{filterPanelContent}
</div>
</FilterDrawer>
@@ -620,7 +618,7 @@ export function GamesPageClient({
exit={{ opacity: 0, height: 0 }}
className="hidden lg:flex flex-col gap-3 pt-1"
>
<FilterPanelContent />
{filterPanelContent}
</motion.div>
)}
</div>
+5 -4
View File
@@ -32,7 +32,7 @@ export function BatteryLifeChart({ data, deviceNames }: BatteryLifeChartProps) {
}
// Build trend lines: for each device, compute wattHours / tdp = hours for a range of TDPs
const series: any[] = []
const series: Array<Record<string, unknown>> = []
let seriesIdx = 0
for (const [slug, points] of deviceGroups.entries()) {
@@ -70,9 +70,10 @@ export function BatteryLifeChart({ data, deviceNames }: BatteryLifeChartProps) {
const option = {
tooltip: {
trigger: "item" as const,
formatter: (params: any) => {
if (params.seriesName.includes("(est.)")) return ""
return `${params.seriesName}<br/>TDP: ${params.value[0]}W<br/>Battery: ~${params.value[1]}h`
formatter: (params: unknown) => {
const p = params as { seriesName?: string; value?: [number, number] }
if (!p.seriesName || p.seriesName.includes("(est.)")) return ""
return `${p.seriesName}<br/>TDP: ${p.value?.[0]}W<br/>Battery: ~${p.value?.[1]}h`
},
},
legend: {
+1 -1
View File
@@ -1,6 +1,6 @@
import { db } from "@/lib/db/index"
import { performanceEntries } from "@/lib/db/schema"
import { eq, and } from "drizzle-orm"
import { eq } from "drizzle-orm"
/**
* Auto-pin check: an entry is eligible for auto-pinning when:
+1 -1
View File
@@ -167,7 +167,7 @@ export const screenshotRoutes = new Elysia({ prefix: "/performance" })
// ── List screenshots ────────────────────────────────────────────
.get(
"/:id/screenshots",
async ({ params, set }) => {
async ({ params }) => {
const screenshots = await db
.select({
id: entryScreenshots.id,