Skip to content

improvement(integrations, models): ui/ux#4105

Merged
waleedlatif1 merged 6 commits intostagingfrom
improvement/integrations-models
Apr 11, 2026
Merged

improvement(integrations, models): ui/ux#4105
waleedlatif1 merged 6 commits intostagingfrom
improvement/integrations-models

Conversation

@emir-karabeg
Copy link
Copy Markdown
Collaborator

Summary

  • Improve integrations and models landing pages with updated UI/UX, including new model comparison charts, model timeline chart, and product dropdown navbar component
  • Refactor integration cards, grid, and detail pages for better visual consistency
  • Add new model data and providers to the models directory
  • Update block types and docs generation script to support new integration metadata

Type of Change

  • Other: UI/UX improvement

Testing

Tested manually.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 11, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Skipped Skipped Apr 11, 2026 3:44am

Request Review

@cursor
Copy link
Copy Markdown

cursor bot commented Apr 11, 2026

PR Summary

Medium Risk
Mostly UI/UX refactors, but it also changes integrations category filtering to use integrationTypes[] and significantly rewrites the integration detail page layout/CTA links, which could affect navigation and discoverability.

Overview
Refreshes the landing UI for blog and integrations to align styling (e.g., muted text tokens) and adopt consistent bordered, row-based layouts.

Adds a new navbar ProductDropdown mega-menu linking to core platform docs and key site sections.

Reworks the integrations experience: the integrations list switches from card grid to row rendering, category filtering now supports multi-category integrations via integrationTypes, and the integration detail page is redesigned (new hero/back link, row-style triggers/tools, revamped template cards using a more flexible TemplateCardButton, full-width FAQ/related integrations, and /signup CTAs).

Updates LandingFAQ interactions with hover styling, animated expand/collapse via framer-motion, and divider handling for smoother visuals.

Reviewed by Cursor Bugbot for commit d4199fe. Configure here.

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Duplicated ChevronArrow component already exists elsewhere
    • Removed the duplicate ChevronArrow function from integration-card.tsx and imported it from model-primitives.tsx instead.

Create PR

Or push these changes by commenting:

@cursor push c59e6f1158
Preview (c59e6f1158)
diff --git a/apps/sim/app/(landing)/integrations/components/integration-card.tsx b/apps/sim/app/(landing)/integrations/components/integration-card.tsx
--- a/apps/sim/app/(landing)/integrations/components/integration-card.tsx
+++ b/apps/sim/app/(landing)/integrations/components/integration-card.tsx
@@ -1,6 +1,7 @@
 import type { ComponentType, SVGProps } from 'react'
 import Link from 'next/link'
 import type { Integration } from '@/app/(landing)/integrations/data/types'
+import { ChevronArrow } from '@/app/(landing)/models/components/model-primitives'
 import { IntegrationIcon } from './integration-icon'
 
 interface IntegrationCardProps {
@@ -81,39 +82,3 @@
     </>
   )
 }
-
-/**
- * Animated chevron arrow matching the footer/landing pattern.
- * Line scales in from left, chevron translates right on hover.
- */
-function ChevronArrow() {
-  return (
-    <svg
-      className='h-3 w-3 shrink-0 text-[var(--landing-text-subtle)]'
-      viewBox='0 0 10 10'
-      fill='none'
-      xmlns='http://www.w3.org/2000/svg'
-      aria-hidden='true'
-    >
-      <line
-        x1='0'
-        y1='5'
-        x2='9'
-        y2='5'
-        stroke='currentColor'
-        strokeWidth='1.33'
-        strokeLinecap='square'
-        className='origin-left scale-x-0 transition-transform duration-200 ease-out [transform-box:fill-box] group-hover/link:scale-x-100'
-      />
-      <path
-        d='M3.5 2L6.5 5L3.5 8'
-        stroke='currentColor'
-        strokeWidth='1.33'
-        strokeLinecap='square'
-        strokeLinejoin='miter'
-        fill='none'
-        className='transition-transform duration-200 ease-out group-hover/link:translate-x-[30%]'
-      />
-    </svg>
-  )
-}

This Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.

Reviewed by Cursor Bugbot for commit d4199fe. Configure here.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 11, 2026

Greptile Summary

This PR refactors the landing pages for integrations and models with a consistent new design system (border-railed layouts, animated chevron arrows, CSS variable tokens). It also introduces two new chart components (ModelComparisonCharts, ModelTimelineChart) and a ProductDropdown navbar component, and consolidates the IntegrationType enum by removing four deprecated values (Automation, Media, Social, SalesIntelligence) in favour of a broader Sales category plus tag-driven multi-category derivation.

  • formatShortDate in model-timeline-chart.tsx parses ISO date strings via new Date(dateString), which produces UTC midnight. Without timeZone: 'UTC' in Intl.DateTimeFormat, the chart renders dates one day early for any browser in a UTC-offset timezone (most of the Americas and Europe).

Confidence Score: 4/5

Safe to merge after fixing the timezone bug in formatShortDate; all other findings are P2 style suggestions.

One P1 bug: ISO date-only strings are parsed as UTC but formatted in local time, showing dates one day earlier for most users worldwide. All remaining issues are code-duplication P2 suggestions that do not affect correctness.

apps/sim/app/(landing)/models/components/model-timeline-chart.tsx — formatShortDate needs timeZone: UTC fix.

Important Files Changed

Filename Overview
apps/sim/app/(landing)/models/components/model-timeline-chart.tsx New chart component; contains a timezone off-by-one bug in formatShortDate — ISO date-only strings are UTC midnight but formatted in local time.
apps/sim/app/(landing)/models/components/model-comparison-charts.tsx New comparison chart component; PROVIDER_COLORS/getColor are duplicated from model-timeline-chart.tsx — should share a utility.
scripts/generate-docs.ts Adds deriveIntegrationTypes to expand a block's primary type + tags into multiple category buckets; IntegrationType enum alignment looks correct.
apps/sim/app/(landing)/integrations/components/integration-card.tsx Adds IntegrationRow and ChevronArrow; ChevronArrow is also defined in model-primitives.tsx — minor duplication.
apps/sim/app/(landing)/integrations/components/integration-grid.tsx Correctly updated to filter/count by integrationTypes: string[] array instead of the old single integrationType string.
apps/sim/app/(landing)/models/components/model-primitives.tsx Adds ChevronArrow, FeaturedModelCard, FeaturedProviderCard; consistent style updates; ChevronArrow duplicated in integration-card.
apps/sim/app/(landing)/components/navbar/components/product-dropdown.tsx New dropdown component with well-structured typed config arrays; looks correct.
apps/sim/blocks/types.ts Removes deprecated IntegrationType values (Automation, Media, SalesIntelligence, Social); all block usages updated consistently.
apps/sim/providers/models.ts Adds optional releaseDate ISO date field to ModelDefinition; populated for all major model families.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[BlockConfig integrationType + tags] --> B{integrationType OR tags?}
    B -- Yes --> C[deriveIntegrationTypes]
    C --> D[integrationTypes array in integrations.json]
    B -- No --> E[no integrationTypes field]
    E --> F[integrations.json]
    D --> F
    F --> G[IntegrationGrid filter by integrationTypes]
    F --> H[IntegrationRow card display]
    I[ModelDefinition releaseDate string] --> J[CatalogModel releaseDate or null]
    J --> K[ModelTimelineChart - timezone bug in formatShortDate]
    J --> L[ModelComparisonCharts - cost and context bars]
Loading

Comments Outside Diff (1)

  1. apps/sim/app/(landing)/integrations/components/integration-card.tsx, line 92-120 (link)

    P2 ChevronArrow duplicated from model-primitives.tsx

    An identical ChevronArrow SVG component (same markup, same Tailwind animation classes) was just added to model-primitives.tsx in this PR. The integration-card version could import that component instead, avoiding two definitions that may drift if the animation style changes.

Reviews (1): Last reviewed commit: "improvement(integrations, models): ui/ux" | Re-trigger Greptile

…C date rendering

- Extract PROVIDER_COLORS and getProviderColor to model-colors.ts to eliminate
  identical definitions in model-comparison-charts and model-timeline-chart
- Remove duplicate private ChevronArrow from integration-card; import the
  exported one from model-primitives instead
- Add timeZone: 'UTC' to formatShortDate so ISO date-only strings (parsed as
  UTC midnight) render the correct calendar day in all timezones
…s, reorient FAQs to agent builder

Dynamic data:
- Add `color` and `isReseller` fields to ProviderDefinition interface
- Move brand colors for all 10 providers into their definitions
- Mark 6 reseller providers (Azure, Bedrock, Vertex, OpenRouter, Fireworks)
- consts.ts now derives color map from MODEL_CATALOG_PROVIDERS
- model-comparison-charts derives RESELLER_PROVIDERS from catalog
- Fix deepseek name: Deepseek → DeepSeek; remove now-redundant
  PROVIDER_NAME_OVERRIDES and getProviderDisplayName from utils
- Add color/isReseller fields to CatalogProvider; clean up duplicate
  providerDisplayName in searchText array

FAQs:
- Replace all 4 main-page FAQs with 5 agent-builder-oriented ones
  covering model selection, context windows, pricing, tool use, and
  how to use models in a Sim agent workflow
- buildProviderFaqs: add conditional tool use FAQ per provider
- buildModelFaqs: add bestFor FAQ (conditional on field presence);
  improve context window answer to explain agent implications;
  tighten capabilities answer wording
@waleedlatif1 waleedlatif1 merged commit c1d788c into staging Apr 11, 2026
11 checks passed
@waleedlatif1 waleedlatif1 deleted the improvement/integrations-models branch April 11, 2026 03:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants