feat(loyalty): align program view, edit, and analytics pages across all frontends
Some checks failed
CI / ruff (push) Successful in 11s
CI / validate (push) Has been cancelled
CI / dependency-scanning (push) Has been cancelled
CI / docs (push) Has been cancelled
CI / deploy (push) Has been cancelled
CI / pytest (push) Has been cancelled

Standardize naming (Program for view/edit, Analytics for stats), create shared
read-only program-view partial, fix admin edit field population bug (14 missing
fields), add store Program menu item, and rename merchant Overview→Program,
Settings→Analytics.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-10 22:51:26 +01:00
parent aefca3115e
commit eee33d6a1b
20 changed files with 674 additions and 665 deletions

View File

@@ -826,6 +826,20 @@ class ProgramService:
"minimum_redemption_points": program.minimum_redemption_points,
"points_expiration_days": program.points_expiration_days,
"is_active": program.is_active,
"stamps_target": program.stamps_target,
"stamps_reward_description": program.stamps_reward_description,
"stamps_reward_value_cents": program.stamps_reward_value_cents,
"minimum_purchase_cents": program.minimum_purchase_cents,
"cooldown_minutes": program.cooldown_minutes,
"max_daily_stamps": program.max_daily_stamps,
"require_staff_pin": program.require_staff_pin,
"card_color": program.card_color,
"card_secondary_color": program.card_secondary_color,
"logo_url": program.logo_url,
"hero_image_url": program.hero_image_url,
"terms_text": program.terms_text,
"privacy_url": program.privacy_url,
"points_rewards": program.points_rewards,
}
thirty_days_ago = datetime.now(UTC) - timedelta(days=30)