fix: use fresh product-bezel captures everywhere
This commit is contained in:
@@ -159,16 +159,16 @@ export function CvsPrintSummary() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="mx-auto w-[186px] rounded-[28px] border-[6px] border-slate-950 bg-slate-950 p-1 shadow-[0_18px_45px_rgba(15,23,42,0.18)]">
|
||||
<div className="overflow-hidden rounded-[19px] bg-white">
|
||||
<div className="mx-auto w-[202px]">
|
||||
<div>
|
||||
<Image
|
||||
src="/screenshots/product-glass-2026-08-20/medications-light.png"
|
||||
src="/screenshots/product-bezel-2026-08-20/medications-black.webp"
|
||||
alt="Medscribe medications screen"
|
||||
width={1206}
|
||||
height={2622}
|
||||
width={1350}
|
||||
height={2760}
|
||||
priority
|
||||
unoptimized
|
||||
className="block h-auto w-full"
|
||||
className="block h-auto w-full drop-shadow-[0_18px_30px_rgba(15,23,42,0.18)]"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -26,8 +26,8 @@ const features = [
|
||||
"The person reviews generated information",
|
||||
"Structured visit-to-record change review is still roadmap",
|
||||
],
|
||||
image: "/screenshots/product-glass-2026-08-20/visits-light.png",
|
||||
darkImage: "/screenshots/product-glass-2026-08-20/visits-dark.png",
|
||||
image: "/screenshots/product-bezel-2026-08-20/visits-natural.webp",
|
||||
darkImage: "/screenshots/product-bezel-2026-08-20/visits-natural-dark.webp",
|
||||
alt: "Synthetic Medscribe beta visit detail showing a visit summary and follow-up information",
|
||||
},
|
||||
{
|
||||
@@ -42,9 +42,10 @@ const features = [
|
||||
"Bundled facts and known pairs use named reference datasets",
|
||||
"Coverage is intentionally bounded, not a complete interaction check",
|
||||
],
|
||||
image: "/screenshots/product-glass-2026-08-20/medication-detail-light.png",
|
||||
image:
|
||||
"/screenshots/product-bezel-2026-08-20/medication-detail-natural.webp",
|
||||
darkImage:
|
||||
"/screenshots/product-glass-2026-08-20/medication-detail-dark.png",
|
||||
"/screenshots/product-bezel-2026-08-20/medication-detail-natural-dark.webp",
|
||||
alt: "Synthetic Medscribe beta medication detail with schedule and medication information",
|
||||
},
|
||||
{
|
||||
@@ -59,8 +60,8 @@ const features = [
|
||||
"The local model helps with conversational phrasing",
|
||||
"High-risk or unsupported questions defer to a professional",
|
||||
],
|
||||
image: "/screenshots/product-glass-2026-08-20/ask-light.png",
|
||||
darkImage: "/screenshots/product-glass-2026-08-20/ask-dark.png",
|
||||
image: "/screenshots/product-bezel-2026-08-20/ask-black.webp",
|
||||
darkImage: "/screenshots/product-bezel-2026-08-20/ask-black-dark.webp",
|
||||
alt: "Synthetic Medscribe beta answer with medication context and a safety boundary",
|
||||
},
|
||||
{
|
||||
@@ -75,8 +76,9 @@ const features = [
|
||||
"The person can show or share the snapshot they reviewed",
|
||||
"It complements—not replaces—clinical verification",
|
||||
],
|
||||
image: "/screenshots/product-glass-2026-08-20/know-me-light.png",
|
||||
darkImage: "/screenshots/product-glass-2026-08-20/know-me-dark.png",
|
||||
image: "/screenshots/product-bezel-2026-08-20/know-me-natural.webp",
|
||||
darkImage:
|
||||
"/screenshots/product-bezel-2026-08-20/know-me-natural-dark.webp",
|
||||
alt: "Synthetic Medscribe beta Know Me handoff with active medications and review state",
|
||||
},
|
||||
] as const;
|
||||
|
||||
@@ -124,16 +124,16 @@ export function NorthwellPrintSummary() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="mx-auto w-[194px] rounded-[28px] border-[6px] border-slate-950 bg-slate-950 p-1 shadow-[0_18px_45px_rgba(15,23,42,0.18)]">
|
||||
<div className="overflow-hidden rounded-[19px] bg-white">
|
||||
<div className="mx-auto w-[210px]">
|
||||
<div>
|
||||
<Image
|
||||
src="/screenshots/product-glass-2026-08-20/home-light.png"
|
||||
src="/screenshots/product-bezel-2026-08-20/home-black.webp"
|
||||
alt="Medscribe home screen"
|
||||
width={1206}
|
||||
height={2622}
|
||||
width={1350}
|
||||
height={2760}
|
||||
priority
|
||||
unoptimized
|
||||
className="block h-auto w-full"
|
||||
className="block h-auto w-full drop-shadow-[0_18px_30px_rgba(15,23,42,0.18)]"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { getImageProps } from "next/image";
|
||||
|
||||
import { ProductDevice } from "~/components/product-device";
|
||||
import { cn } from "~/lib/utils";
|
||||
|
||||
interface PhoneMockupProps {
|
||||
@@ -10,8 +9,6 @@ interface PhoneMockupProps {
|
||||
priority?: boolean;
|
||||
/** Rendered mockup width in px. @default 280 */
|
||||
width?: number;
|
||||
/** Use "simulator" only for captures that already include device chrome. */
|
||||
captureMode?: "simulator" | "raw";
|
||||
}
|
||||
|
||||
export function PhoneMockup({
|
||||
@@ -21,45 +18,16 @@ export function PhoneMockup({
|
||||
className,
|
||||
priority,
|
||||
width = 280,
|
||||
captureMode = "raw",
|
||||
}: PhoneMockupProps) {
|
||||
const isSimulatorCapture = captureMode === "simulator";
|
||||
const shared = {
|
||||
alt,
|
||||
width: 1206,
|
||||
height: 2622,
|
||||
sizes: `${width}px`,
|
||||
priority,
|
||||
className: cn(
|
||||
"absolute inset-0 h-full w-full object-cover",
|
||||
isSimulatorCapture ? "scale-[1.22] object-[50%_58%]" : "object-top",
|
||||
),
|
||||
};
|
||||
const { props: lightProps } = getImageProps({ src, ...shared });
|
||||
const darkProps = darkSrc
|
||||
? getImageProps({ src: darkSrc, ...shared }).props
|
||||
: null;
|
||||
|
||||
return (
|
||||
<div
|
||||
className={cn(
|
||||
"mx-auto overflow-hidden rounded-[2.25rem] border-[7px] border-slate-950 bg-slate-950 p-1 shadow-[0_24px_60px_rgba(15,23,42,0.18)]",
|
||||
className,
|
||||
)}
|
||||
style={{ width }}
|
||||
>
|
||||
<div className="bg-surface relative aspect-[1206/2622] overflow-hidden rounded-[1.65rem]">
|
||||
<picture>
|
||||
{darkProps ? (
|
||||
<source
|
||||
media="(prefers-color-scheme: dark)"
|
||||
srcSet={darkProps.srcSet}
|
||||
sizes={darkProps.sizes}
|
||||
/>
|
||||
) : null}
|
||||
<img {...lightProps} alt={alt} />
|
||||
</picture>
|
||||
</div>
|
||||
<div className={cn("mx-auto", className)} style={{ width }}>
|
||||
<ProductDevice
|
||||
src={src}
|
||||
darkSrc={darkSrc}
|
||||
alt={alt}
|
||||
priority={priority}
|
||||
sizes={`${width}px`}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ type ProductDeviceProps = {
|
||||
|
||||
/**
|
||||
* A precomposited product capture using the licensed device bezels in
|
||||
* `public/screenshots/pitch-glass-2026-08-20`. Keeping the frame in the source
|
||||
* `public/screenshots/product-bezel-2026-08-20`. Keeping the frame in the source
|
||||
* image preserves the bezel details without adding layout or client-side work.
|
||||
*/
|
||||
export function ProductDevice({
|
||||
|
||||
@@ -159,16 +159,16 @@ export function WalgreensPrintSummary() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="mx-auto w-[186px] rounded-[28px] border-[6px] border-slate-950 bg-slate-950 p-1 shadow-[0_18px_45px_rgba(15,23,42,0.18)]">
|
||||
<div className="overflow-hidden rounded-[19px] bg-white">
|
||||
<div className="mx-auto w-[202px]">
|
||||
<div>
|
||||
<Image
|
||||
src="/screenshots/product-glass-2026-08-20/medications-light.png"
|
||||
src="/screenshots/product-bezel-2026-08-20/medications-black.webp"
|
||||
alt="Medscribe medications screen"
|
||||
width={1206}
|
||||
height={2622}
|
||||
width={1350}
|
||||
height={2760}
|
||||
priority
|
||||
unoptimized
|
||||
className="block h-auto w-full"
|
||||
className="block h-auto w-full drop-shadow-[0_18px_30px_rgba(15,23,42,0.18)]"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user