Skip to content

Bugfix/make-brands-perfect - #169

Merged
rahul-sinha1908 merged 21 commits into
masterfrom
bugfix/make-brands-perfect
Aug 11, 2025
Merged

rahul-sinha1908 merged 21 commits into
masterfrom
bugfix/make-brands-perfect

Conversation

@rahul-sinha1908

@rahul-sinha1908 rahul-sinha1908 commented Aug 11, 2025 •

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features
    • Responsive XL layouts: two-column views, vertical carousels, and a new right-side panel on Explore Influencers.
    • Expanded collaboration details with extra “Sent” tabs and separators on wide screens.
    • Paywall and free-trial gating with upgrade prompts; Billing screen now shows a Paywall.
    • Platform-aware routing: web Pay Wall shows Pricing.
    • Profile: redesigned layout and added logout confirmation flow.
  • UI/UX
    • Drawer revamped on web with sections and upgrade banner; header simplified on mobile.
    • “Collaborations” tab renamed to “Campaigns”; CTA hidden on XL screens.
  • Navigation
    • Enhanced tab navigation (linkable tabs, default selection).
  • Chores
    • Updated shared submodules.

@coderabbitai

coderabbitai Bot commented Aug 11, 2025 •

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

Walkthrough

Adds GrowthBook payWall flag integration across contexts and UI, introduces platform-aware paywall behavior, restructures modal navigation, implements responsive two-column layouts (xl) for explore and collaboration details, overhauls drawer/menu (including a web-specific variant), adds upgrade gating flows (free trial) to create-collaboration and preferences, and updates top-tab navigation to support href-driven tabs and split layouts.

Changes

Cohort / File(s) Summary
Paywall & GrowthBook integration
app/(landing)/pricing-page.tsx, app/(main)/(onboarding)/pay-wall.tsx, components/landing/Stepper.tsx, components/landing/pages/pricing-page.tsx, contexts/growthbook-context-provider.tsx, contexts/brand-context.provider.tsx
Adds payWall feature flag, routes web pay-wall to PricingPage, adjusts step counts with payWall, removes discountEndTime, persists hasPayWall on brand update, exposes isOnFreeTrial and platform-aware paywall guard in Brand context.
Collaboration modal routing restructure
app/(main)/_layout.tsx, app/(main)/(drawer)/(secondary)/(modal)/_layout.tsx, app/(main)/(drawer)/(secondary)/(modal)/create-collaboration.tsx
Removes modal screens from main stack; adds dedicated modal Stack layout with create/edit screens; minor import reorder.
Billing screen update
app/(main)/(drawer)/(secondary)/billing.tsx
Replaces Billing with PayWallComponent; removes ScreenHeader from render.
Explore Influencers responsive panel
app/(main)/(drawer)/(tabs)/explore-influencers.tsx, components/explore-influencers/RightPanel.tsx, components/explore-influencers/index.tsx
Adds xl two-column layout with new RightPanel; carousels switch to vertical on xl.
Collaboration details responsiveness
components/collaboration/collaboration-details/index.tsx, .../ApplicationsTabContent.tsx, .../InvitationsTabContent.tsx, components/collaborations/Collaborations.tsx, components/collaborations/index.tsx, components/ui/top-tab-navigation/index.tsx
Tabs become dynamic with xl-only tabs/dividers; carousels vertical on xl; CTA hidden on xl; collaborations tabs gain create shortcut on xl; TopTabNavigation adds href support, defaultSelection, splitTwoColumns, and divider handling.
Drawer/Menu overhaul
components/drawer-layout/DrawerMenuContent.tsx, components/drawer-layout/DrawerMenuContentWeb.tsx, components/drawer-layout/DrawerMenuItem.tsx, components/drawer-layout/DrawerIcon.tsx, constants/Menu.ts
Replaces DrawerIcon and complex mobile/web logic with web-specific DrawerMenuContentWeb; DrawerMenuItem exports Tab type (href: Href) and DrawerIcon; improved active/hover/accessibility; MENU_ITEMS typed and platform-aware; removes standalone DrawerIcon file.
Create Collaboration gating
components/create-collaboration/index.tsx
Removes AWS asset upload path; adds free-trial upgrade modal gating publish; renames saveCollaboration param to myStatus with new logic; navigates to billing on confirm.
Preferences and Profile flows
components/preferences/PreferencesTabContent.tsx, components/profile/index.tsx, components/menu/index.tsx
Preferences gated on free trial with upgrade modal; Profile redesigned, adds logout via confirmation and chat token deregistration; removes web logout entry from Menu and fixes Cancel Plan href.
Minor UI label change
app/(main)/(drawer)/(tabs)/_layout.tsx
Renames “Collaborations” tab to “Campaigns”.
Submodules
shared-libs, shared-uis
Updates submodule commit pointers only.

Sequence Diagram(s)

sequenceDiagram
  participant U as User
  participant PP as PricingPage
  participant GB as GrowthBookProvider
  participant R as Router

  U->>PP: Open /pricing
  PP->>GB: useMyGrowthBook() -> { loading, payWall }
  Note over PP: useEffect([loading, payWall])
  alt loading && !payWall
    PP->>R: resetAndNavigate("/explore-influencers")
  else loading && payWall
    PP-->>U: Render PricingPage within GrowthBookProtected
  end
Loading
sequenceDiagram
  participant U as User
  participant CC as CreateCollaboration
  participant PR as PreferencesTab
  participant CM as ConfirmationModal
  participant R as Router

  U->>CC: Save (status=active)
  CC->>CC: Check isOnFreeTrial
  alt Free trial + publish
    CC->>CM: Open “Upgrade” modal
    CM-->>U: Confirm?
    alt Confirm
      CM->>R: push("/billing")
      CC->>CC: Downgrade to draft
    else Cancel
      CC-->>U: Stay on page
    end
  else Not on trial
    CC-->>U: Proceed save
  end

  U->>PR: Update preference
  PR->>PR: Check isOnFreeTrial
  alt Free trial
    PR->>CM: Open “Upgrade” modal
    CM-->>U: Confirm?
    alt Confirm
      CM->>R: push("/billing")
    else Cancel
      PR-->>U: Abort update
    end
  else Not on trial
    PR-->>U: Save preference
  end
Loading
sequenceDiagram
  participant U as User
  participant TT as TopTabNavigation
  participant R as Router

  U->>TT: Tap tab
  alt tab.component exists
    TT->>TT: Set activeTab
    TT-->>U: Render component
  else tab.href exists
    TT->>R: push(tab.href)
  end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested reviewers

  • dev-rathore
  • Manan-Sharma-5

Poem

A twitch of ears, a hop of delight,
New tabs split neatly, two-columns in sight.
Paywalls whisper, “Upgrade, please,”
While drawers glide with hover ease.
Campaigns renamed, right panels shine—
I nibble commits; the code feels fine. 🥕✨


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 467979d and d365e9c.

📒 Files selected for processing (31)
  • app/(landing)/pricing-page.tsx (1 hunks)
  • app/(main)/(drawer)/(secondary)/(modal)/_layout.tsx (1 hunks)
  • app/(main)/(drawer)/(secondary)/(modal)/create-collaboration.tsx (1 hunks)
  • app/(main)/(drawer)/(secondary)/billing.tsx (1 hunks)
  • app/(main)/(drawer)/(tabs)/_layout.tsx (1 hunks)
  • app/(main)/(drawer)/(tabs)/explore-influencers.tsx (2 hunks)
  • app/(main)/(onboarding)/pay-wall.tsx (1 hunks)
  • app/(main)/_layout.tsx (0 hunks)
  • components/collaboration/collaboration-details/ApplicationsTabContent.tsx (1 hunks)
  • components/collaboration/collaboration-details/InvitationsTabContent.tsx (1 hunks)
  • components/collaboration/collaboration-details/index.tsx (7 hunks)
  • components/collaborations/Collaborations.tsx (1 hunks)
  • components/collaborations/index.tsx (3 hunks)
  • components/create-collaboration/index.tsx (4 hunks)
  • components/drawer-layout/DrawerIcon.tsx (0 hunks)
  • components/drawer-layout/DrawerMenuContent.tsx (5 hunks)
  • components/drawer-layout/DrawerMenuContentWeb.tsx (1 hunks)
  • components/drawer-layout/DrawerMenuItem.tsx (3 hunks)
  • components/explore-influencers/RightPanel.tsx (1 hunks)
  • components/explore-influencers/index.tsx (1 hunks)
  • components/landing/Stepper.tsx (1 hunks)
  • components/landing/pages/pricing-page.tsx (1 hunks)
  • components/menu/index.tsx (2 hunks)
  • components/preferences/PreferencesTabContent.tsx (3 hunks)
  • components/profile/index.tsx (5 hunks)
  • components/ui/top-tab-navigation/index.tsx (3 hunks)
  • constants/Menu.ts (1 hunks)
  • contexts/brand-context.provider.tsx (5 hunks)
  • contexts/growthbook-context-provider.tsx (4 hunks)
  • shared-libs (1 hunks)
  • shared-uis (1 hunks)
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bugfix/make-brands-perfect

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@rahul-sinha1908
rahul-sinha1908 merged commit 0479e2c into master Aug 11, 2025
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.

1 participant