From f8ea11601eb655394b04ef72aabe4c5bed0ab644 Mon Sep 17 00:00:00 2001 From: Zara Date: Thu, 26 Mar 2026 05:54:19 +0000 Subject: [PATCH] =?UTF-8?q?Add=20Payfrit=20User=20Portal=20=E2=80=94=20sca?= =?UTF-8?q?nner,=20dashboard,=20compare=20pages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Consumer-facing portal with mobile-first design: - scan.html: Barcode scanner with product search, health score ring animation, and healthier alternatives display - dashboard.html: User dashboard with recent scans, health trends chart, favorites grid, Connected Apps section, and settings - compare.html: Side-by-side product comparison with winner banner, nutrition breakdown, and ingredient highlights - products.json: Sample product data with scores, descriptions, and alternatives Connected Apps section lets users manage third-party integrations (Apple Health, MyFitnessPal, Google Fit, etc.) with permission controls. Co-Authored-By: Claude Opus 4.6 (1M context) --- compare.html | 773 +++++++++++++++++++++++++++++++++++ dashboard.html | 1046 ++++++++++++++++++++++++++++++++++++++++++++++++ products.json | 124 ++++++ scan.html | 488 ++++++++++++++++++++++ 4 files changed, 2431 insertions(+) create mode 100644 compare.html create mode 100644 dashboard.html create mode 100644 products.json create mode 100644 scan.html diff --git a/compare.html b/compare.html new file mode 100644 index 0000000..f0bd638 --- /dev/null +++ b/compare.html @@ -0,0 +1,773 @@ + + + + + + Compare Products — Payfrit + + + + + +
+
+ +
Product Compare
+
+
+ + +
+ + +
+

Choose Two Products

+
+
+ + Tap to pick product A +
+
VS
+
+ + Tap to pick product B +
+
+
+ +
+
+ + +
+ + +
+ 🏆 +
Healthier Choice
+
+
+
+ + +
+ +
+ + +
+

Head-to-Head Breakdown

+
+
+ + + +
+ +
+ + + + + + + diff --git a/dashboard.html b/dashboard.html new file mode 100644 index 0000000..ae2c61c --- /dev/null +++ b/dashboard.html @@ -0,0 +1,1046 @@ + + + + + + My Dashboard — Payfrit + + + + + +
+
+

Payfrit

+
JD
+
+
+ + + + + +
+ + +
+
+
+
24
+
Scans
+
+
+
72
+
Avg Score
+
+
+
8
+
Swaps Made
+
+
+
+
Recent Scans
+
+ +
+
+
+ + + + + +
+
+
Your Favorite Products
+
+ +
+
+
+ + +
+
+
Your Connected Apps
+

+ Apps that can access your Payfrit data. You control what each app can see. +

+
+
+
+
Available Integrations
+
+
+
+ + +
+
+
+
Notifications
+
+
+
Scan Alerts
+
Notify when a scanned product has recalls
+
+ +
+
+
+
Weekly Summary
+
Get a weekly health score report
+
+ +
+
+
+
Healthier Alternatives
+
Suggest swaps when scanning low-score items
+
+ +
+
+
+
Account
+
+
+
Display Name
+
Jane Doe
+
+ +
+
+
+
Email
+
jane@example.com
+
+ +
+
+
+
Diet Preferences
+
None set
+
+ +
+
+
+
Data
+ +
+ +
+
+
+
+ + + + + + + + diff --git a/products.json b/products.json new file mode 100644 index 0000000..e3b2900 --- /dev/null +++ b/products.json @@ -0,0 +1,124 @@ +{ + "products": [ + { + "id": "p001", + "name": "Orange Juice Original", + "brand": "Tropicana", + "category": "Beverages", + "size": "52 fl oz", + "emoji": "🥤", + "score": 4.5, + "scoreDesc": "High sugar content. Consider lower-sugar options for daily use.", + "alternatives": [ + { + "name": "Simply Light OJ", + "brand": "Simply · 50% less sugar", + "emoji": "🍊", + "score": 7.8 + }, + { + "name": "Suja Organic Green Juice", + "brand": "Suja · Cold-pressed, no added sugar", + "emoji": "🥝", + "score": 9.1 + } + ] + }, + { + "id": "p002", + "name": "Classic Potato Chips", + "brand": "Lay's", + "category": "Snacks", + "size": "8 oz", + "emoji": "🥔", + "score": 3.2, + "scoreDesc": "High in sodium and saturated fat. Best enjoyed occasionally.", + "alternatives": [ + { + "name": "Baked Original Crackers", + "brand": "Triscuit · Whole grain, lower fat", + "emoji": "🌾", + "score": 6.5 + }, + { + "name": "Kale Chips Sea Salt", + "brand": "Brad's · Organic, nutrient-dense", + "emoji": "🥬", + "score": 8.9 + } + ] + }, + { + "id": "p003", + "name": "Whole Grain Bread", + "brand": "Dave's Killer Bread", + "category": "Bakery", + "size": "27 oz", + "emoji": "🍞", + "score": 8.2, + "scoreDesc": "Excellent fiber and protein content. Great daily staple.", + "alternatives": [ + { + "name": "Ezekiel 4:9 Sprouted Bread", + "brand": "Food for Life · No flour, sprouted grains", + "emoji": "🌿", + "score": 9.3 + }, + { + "name": "Ancient Grain Bread", + "brand": "Angelic Bakehouse · 7-grain blend", + "emoji": "🌾", + "score": 8.8 + } + ] + }, + { + "id": "p004", + "name": "Greek Yogurt Strawberry", + "brand": "Chobani", + "category": "Dairy", + "size": "5.3 oz", + "emoji": "🫙", + "score": 7.1, + "scoreDesc": "Good protein source. Contains added sugars from fruit flavoring.", + "alternatives": [ + { + "name": "Plain Greek Yogurt", + "brand": "Chobani · No added sugar, higher protein", + "emoji": "🥛", + "score": 9.0 + }, + { + "name": "Siggi's Vanilla Yogurt", + "brand": "Siggi's · Less sugar, Icelandic-style", + "emoji": "🫐", + "score": 8.4 + } + ] + }, + { + "id": "p005", + "name": "Frosted Mini-Wheats", + "brand": "Kellogg's", + "category": "Cereal", + "size": "18 oz", + "emoji": "🌾", + "score": 5.8, + "scoreDesc": "Good fiber content but has added sugar coating. Moderate choice.", + "alternatives": [ + { + "name": "Original Shredded Wheat", + "brand": "Post · No added sugar, pure whole grain", + "emoji": "🌿", + "score": 9.2 + }, + { + "name": "Steel Cut Oats", + "brand": "Bob's Red Mill · Unprocessed, high fiber", + "emoji": "🥣", + "score": 9.5 + } + ] + } + ] +} diff --git a/scan.html b/scan.html new file mode 100644 index 0000000..aa2268a --- /dev/null +++ b/scan.html @@ -0,0 +1,488 @@ + + + + + +Payfrit — Scan Product + + + + +
+ +
Z
+
+ + +
+
+

Scan a Product

+

Point your camera at any barcode to get
instant health insights

+ +
+ +
+
+ + + + +
+
+ +
+
All Products
+
+
+
+ + +
+
+

Looking up product…

+
+ + +
+
+ +
+
+ + +
+
+ + +
+ + + + +