Conversation
Greptile SummaryThis PR is a significant visual redesign of the Confidence Score: 5/5Safe to merge — no runtime errors or data-integrity issues; all findings are cosmetic or defensive-coding suggestions. All four flagged items are P2: a potential empty-panel visual glitch in the medium quote variant when no image is provided, a wrong type hint, an unused export, and a missing .get() fallback. None cause a build failure today or break the primary user path. The core architectural changes (CaseStudy dataclass, new page structure, ClientStateVar filtering) are well-implemented and the deletion of old state-based filtering in favour of client-side state is a clear improvement. pcweb/flexdown.py (medium variant empty panel), pcweb/pages/customers/views/customer_cards.py (direct metadata key access), pcweb/pages/customers/views/companies.py (type hint) Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["GET /customers"] --> B["customers/__init__.py\n@marketing_page"]
B --> C["hero()"]
B --> D["companies()"]
B --> E["book_a_demo()"]
C --> F["customer_cards()\n(built from customer_data)"]
D --> G["companies_tabs()\nClientStateVar filter_tab_cs"]
G --> H["company_card x18\n(opacity via is_matching_filter)"]
F --> I["customer_data.values()\n(ansa, autodesk, bayesline, sellerx)"]
A2["GET /customers/:company"] --> T["storypage(study)"]
T --> T1["marketing_navbar()"]
T --> T2["hero(study)"]
T --> T3["stats_cards(study)"]
T --> T4["content (markdown via xd2)"]
T4 --> QB["QuoteBlock.render()"]
QB --> QS["_render_small (default)"]
QB --> QM["_render_medium (variant: medium)"]
QB --> QBig["_render_big (variant: big)"]
T --> T5["story_table_of_contents()"]
T --> T6["more_customers() carousel"]
T --> T7["book_a_demo()"]
T --> T8["footer_index()"]
|
No description provided.