rohitsar567 Claude Opus 4.7 (1M context) commited on
Commit
a16d228
·
1 Parent(s): a7d8209

fix(landing): KI-276 — remove redundant subtitle/no-commissions/source-link triplet

Browse files

User asked to delete the welcome.subtitle text. It said:
"I'll ask a few short questions, then show you 3 policies that match —
with the exact reasons each ranked well. No broker commissions in my
ranking. Every fact you see has a source link."

Removed because Section 1 ("How this works") immediately below already
explains the same flow in a cleaner numbered-step format. Keeping the
hero heading + Section 1 below it; removed the paragraph between them.

i18n keys (welcome.subtitle / welcome.no_commissions / welcome.source_link)
left in i18n.ts as dead — could be cleaned up in a follow-up sweep, but
the renderer no longer references them.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

Files changed (1) hide show
  1. frontend/src/app/page.tsx +14 -5
frontend/src/app/page.tsx CHANGED
@@ -1576,6 +1576,7 @@ export default function Page() {
1576
  m={m}
1577
  marketplace={marketplace}
1578
  profile={profileCompleteness?.profile}
 
1579
  onOpenMarketplace={() => {
1580
  setShowMarketplace(true);
1581
  setShowPremium(false);
@@ -2484,11 +2485,9 @@ function EmptyState({
2484
  <em className="not-italic text-[var(--primary)]">{t("welcome.heading_b")}</em>
2485
  {t("welcome.heading_c")}
2486
  </h1>
2487
- <p className="text-[15px] sm:text-base text-[var(--muted-foreground)] max-w-xl mx-auto leading-relaxed">
2488
- {t("welcome.subtitle")}{" "}
2489
- <strong className="text-[var(--foreground)]">{t("welcome.no_commissions")}</strong>{" "}
2490
- {t("welcome.source_link")}
2491
- </p>
2492
  </section>
2493
 
2494
  {/* Section 1 — How this works. Three numbered step cards. The
@@ -2773,11 +2772,13 @@ function Message({
2773
  m,
2774
  marketplace,
2775
  profile,
 
2776
  onOpenMarketplace,
2777
  }: {
2778
  m: DisplayMessage;
2779
  marketplace?: MarketplaceResponse | null;
2780
  profile?: UserProfile;
 
2781
  onOpenMarketplace?: () => void;
2782
  }) {
2783
  const isUser = m.role === "user";
@@ -2855,6 +2856,7 @@ function Message({
2855
  citations={m.citations}
2856
  marketplace={marketplace}
2857
  profile={profile}
 
2858
  onOpenMarketplace={onOpenMarketplace}
2859
  />
2860
  )}
@@ -2883,11 +2885,16 @@ function CitedPolicyCards({
2883
  citations,
2884
  marketplace,
2885
  profile,
 
2886
  onOpenMarketplace,
2887
  }: {
2888
  citations: Citation[];
2889
  marketplace?: MarketplaceResponse | null;
2890
  profile?: UserProfile;
 
 
 
 
2891
  onOpenMarketplace?: () => void;
2892
  }) {
2893
  const [cards, setCards] = useState<Record<string, ScorecardResponse | null>>({});
@@ -3054,11 +3061,13 @@ function CitedPolicyCards({
3054
  onClose={() => setCompareOpen(false)}
3055
  profile={profile}
3056
  policyDataFor={(id) => policyById[id]}
 
3057
  renderPremiumFor={(policyId, policyName) => (
3058
  <PolicyPremiumWidget
3059
  policyId={policyId}
3060
  policyName={policyName}
3061
  profile={premiumProfile}
 
3062
  />
3063
  )}
3064
  renderScorecardFor={(policyId, policyName) => (
 
1576
  m={m}
1577
  marketplace={marketplace}
1578
  profile={profileCompleteness?.profile}
1579
+ premiumBand={premiumBand}
1580
  onOpenMarketplace={() => {
1581
  setShowMarketplace(true);
1582
  setShowPremium(false);
 
2485
  <em className="not-italic text-[var(--primary)]">{t("welcome.heading_b")}</em>
2486
  {t("welcome.heading_c")}
2487
  </h1>
2488
+ {/* KI-276 removed the welcome.subtitle / no_commissions / source_link
2489
+ triplet. Section 1 below already explains what the bot does in a
2490
+ cleaner, numbered-step format. */}
 
 
2491
  </section>
2492
 
2493
  {/* Section 1 — How this works. Three numbered step cards. The
 
2772
  m,
2773
  marketplace,
2774
  profile,
2775
+ premiumBand,
2776
  onOpenMarketplace,
2777
  }: {
2778
  m: DisplayMessage;
2779
  marketplace?: MarketplaceResponse | null;
2780
  profile?: UserProfile;
2781
+ premiumBand?: PredictedPremiumBandResponse | null;
2782
  onOpenMarketplace?: () => void;
2783
  }) {
2784
  const isUser = m.role === "user";
 
2856
  citations={m.citations}
2857
  marketplace={marketplace}
2858
  profile={profile}
2859
+ premiumBand={premiumBand}
2860
  onOpenMarketplace={onOpenMarketplace}
2861
  />
2862
  )}
 
2885
  citations,
2886
  marketplace,
2887
  profile,
2888
+ premiumBand,
2889
  onOpenMarketplace,
2890
  }: {
2891
  citations: Citation[];
2892
  marketplace?: MarketplaceResponse | null;
2893
  profile?: UserProfile;
2894
+ // Profile-level predicted premium band (same number rendered in the chat
2895
+ // header chip). Threaded into PolicyCompareModal so non-curated policies
2896
+ // can surface it as their indicative reference.
2897
+ premiumBand?: PredictedPremiumBandResponse | null;
2898
  onOpenMarketplace?: () => void;
2899
  }) {
2900
  const [cards, setCards] = useState<Record<string, ScorecardResponse | null>>({});
 
3061
  onClose={() => setCompareOpen(false)}
3062
  profile={profile}
3063
  policyDataFor={(id) => policyById[id]}
3064
+ aggregateBand={premiumBand}
3065
  renderPremiumFor={(policyId, policyName) => (
3066
  <PolicyPremiumWidget
3067
  policyId={policyId}
3068
  policyName={policyName}
3069
  profile={premiumProfile}
3070
+ aggregateBand={premiumBand}
3071
  />
3072
  )}
3073
  renderScorecardFor={(policyId, policyName) => (