chore: fix lint/type issues from seven-feature integration
This commit is contained in:
@@ -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}
|
||||
|
||||
@@ -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 (
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
@@ -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:
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user