Add insights screenshot export and improve promo video phone frames
- Add ExportableInsightsViews with sample AI insights data - Add InsightsExporter service for light/dark mode screenshots - Add export insights button to Settings debug section - Update ConceptB promo to use insights_light.png in privacy scene - Fix phone frame clipping with overflow hidden and borderRadius 64 - Add timeline voting widget images for promo video Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
BIN
feels-promo/public/insights_light.png
Normal file
BIN
feels-promo/public/insights_light.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 369 KiB |
BIN
feels-promo/public/timeline_light_large_voting.png
Normal file
BIN
feels-promo/public/timeline_light_large_voting.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 163 KiB |
BIN
feels-promo/public/timeline_light_medium_voting.png
Normal file
BIN
feels-promo/public/timeline_light_medium_voting.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 122 KiB |
@@ -327,7 +327,7 @@ const SingleTapScene: React.FC = () => {
|
||||
}}
|
||||
>
|
||||
<Img
|
||||
src={staticFile("voting_light_large.png")}
|
||||
src={staticFile("timeline_light_large_voting.png")}
|
||||
style={{
|
||||
width: widgetSize * 1.1,
|
||||
height: "auto",
|
||||
@@ -371,7 +371,7 @@ const SingleTapScene: React.FC = () => {
|
||||
}}
|
||||
>
|
||||
<Img
|
||||
src={staticFile("voting_light_medium.png")}
|
||||
src={staticFile("timeline_light_medium_voting.png")}
|
||||
style={{
|
||||
width: widgetSize,
|
||||
height: "auto",
|
||||
@@ -502,20 +502,28 @@ const InsightsScene: React.FC = () => {
|
||||
visibility: "hidden",
|
||||
}}
|
||||
/>
|
||||
{/* Screenshot positioned to align notch */}
|
||||
<Img
|
||||
src={staticFile("year/frame_0329.png")}
|
||||
{/* Screenshot container - clips to phone screen area */}
|
||||
<div
|
||||
style={{
|
||||
position: "absolute",
|
||||
top: "2.4%",
|
||||
left: "4.8%",
|
||||
width: "90.4%",
|
||||
height: "95.2%",
|
||||
objectFit: "cover",
|
||||
objectPosition: "top center",
|
||||
borderRadius: 36,
|
||||
borderRadius: 64,
|
||||
overflow: "hidden",
|
||||
}}
|
||||
/>
|
||||
>
|
||||
<Img
|
||||
src={staticFile("year/frame_0329.png")}
|
||||
style={{
|
||||
width: "100%",
|
||||
height: "100%",
|
||||
objectFit: "cover",
|
||||
objectPosition: "top center",
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
{/* Phone frame on top */}
|
||||
<Img
|
||||
src={staticFile("phone.png")}
|
||||
@@ -634,20 +642,28 @@ const PrivacyScene: React.FC = () => {
|
||||
visibility: "hidden",
|
||||
}}
|
||||
/>
|
||||
{/* Screenshot positioned to align notch */}
|
||||
<Img
|
||||
src={staticFile("ai_dark.png")}
|
||||
{/* Screenshot container - clips to phone screen area */}
|
||||
<div
|
||||
style={{
|
||||
position: "absolute",
|
||||
top: "2.4%",
|
||||
left: "4.8%",
|
||||
width: "90.4%",
|
||||
height: "95.2%",
|
||||
objectFit: "cover",
|
||||
objectPosition: "top center",
|
||||
borderRadius: 36,
|
||||
borderRadius: 64,
|
||||
overflow: "hidden",
|
||||
}}
|
||||
/>
|
||||
>
|
||||
<Img
|
||||
src={staticFile("insights_light.png")}
|
||||
style={{
|
||||
width: "100%",
|
||||
height: "100%",
|
||||
objectFit: "cover",
|
||||
objectPosition: "top center",
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
{/* Phone frame on top */}
|
||||
<Img
|
||||
src={staticFile("phone.png")}
|
||||
|
||||
Reference in New Issue
Block a user