Merge branch 'dev' into prod

This commit is contained in:
2026-06-28 23:34:32 +08:00
+11 -3
View File
@@ -28,6 +28,10 @@ interface Shot {
caption: string caption: string
// filename the user should save the capture as (in /public/plugin/) // filename the user should save the capture as (in /public/plugin/)
file: string file: string
// true = present as a device photo (rounded, shadow) instead of a flat
// screenshot. Use for in-game shots where the QAM overlay can't be
// captured by Steam's screenshot shortcut, so a phone photo is used.
photo?: boolean
} }
const SCREENSHOTS: Shot[] = [ const SCREENSHOTS: Shot[] = [
@@ -58,6 +62,7 @@ const SCREENSHOTS: Shot[] = [
caption: caption:
"Once in-game, open the panel and hit Start Recording. A live timer tracks your session. Stop when you're done benchmarking.", "Once in-game, open the panel and hit Start Recording. A live timer tracks your session. Stop when you're done benchmarking.",
file: "recording.png", file: "recording.png",
photo: true,
}, },
{ {
id: "session-form", id: "session-form",
@@ -65,6 +70,7 @@ const SCREENSHOTS: Shot[] = [
caption: caption:
"After stopping, review the captured FPS, 1% lows, and power draw. Add notes, then upload straight to DeckyVault — or export to a file.", "After stopping, review the captured FPS, 1% lows, and power draw. Add notes, then upload straight to DeckyVault — or export to a file.",
file: "session-form.png", file: "session-form.png",
photo: true,
}, },
{ {
id: "entry-live", id: "entry-live",
@@ -379,13 +385,15 @@ export function PluginPageClient() {
transition={{ delay: i * 0.05 }} transition={{ delay: i * 0.05 }}
className="rounded-xl border border-border bg-text/2 overflow-hidden flex flex-col" className="rounded-xl border border-border bg-text/2 overflow-hidden flex flex-col"
> >
<div className="relative aspect-[16/10] bg-gradient-to-br from-text/5 to-text/10 flex items-center justify-center"> <div className="relative aspect-[16/10] bg-gradient-to-br from-text/5 to-text/10 flex items-center justify-center p-3">
{HAS_SCREENSHOT[shot.id] ? ( {HAS_SCREENSHOT[shot.id] ? (
// eslint-disable-next-line @next/next/no-img-element // eslint-disable-next-line @next/next/no-img-element
<img <img
src={`/plugin/${shot.file}`} src={`/plugin/${shot.file}`}
alt={shot.title} alt={shot.title}
className="w-full h-full object-contain" className={shot.photo
? "max-w-full max-h-full object-contain rounded-lg shadow-2xl shadow-black/40 ring-1 ring-black/20"
: "w-full h-full object-contain"}
/> />
) : ( ) : (
<div className="flex flex-col items-center gap-2 text-text/30 p-6 text-center"> <div className="flex flex-col items-center gap-2 text-text/30 p-6 text-center">
@@ -394,7 +402,7 @@ export function PluginPageClient() {
/plugin/{shot.file} /plugin/{shot.file}
</span> </span>
<span className="text-xs"> <span className="text-xs">
screenshot coming soon {shot.photo ? "device photo" : "screenshot"} coming soon
</span> </span>
</div> </div>
)} )}