Skip to content

Anirudh fix/redesign fixes - #80

Merged
AnirudhAP2k merged 25 commits into
masterfrom
anirudh_fix/redesign-fixes
Jul 29, 2026
Merged

Anirudh fix/redesign fixes#80
AnirudhAP2k merged 25 commits into
masterfrom
anirudh_fix/redesign-fixes

Conversation

@AnirudhAP2k

@AnirudhAP2k AnirudhAP2k commented Jul 29, 2026

Copy link
Copy Markdown
Owner

User description

Description


PR Type

Enhancement, Bug fix, Documentation


Description

  • Migrated nx-* design tokens to theme-aware CSS custom properties in Tailwind and CSS.

  • Rebuilt the billing page and pricing plans using the new design tokens, removing legacy CSS.

  • Added Contact, Privacy, and Terms marketing pages and updated navigation links.

  • Replaced native alerts with sonner toasts and removed emojis from UI components.


Diagram Walkthrough

flowchart LR
  CSSVars["CSS Custom Properties (globals.css)"] -- "Provides theme-aware values" --> Tailwind["Tailwind Config (nx-* tokens)"]
  Tailwind -- "Styles" --> Billing["Billing Page & Pricing Plans"]
  Tailwind -- "Styles" --> UI["UI Components (Footer, Header, etc.)"]
  NewPages["New Marketing Pages"] -- "Contact, Privacy, Terms" --> App["App Router"]
Loading

File Walkthrough

Relevant files
Enhancement
4 files
page.tsx
Rebuild billing page using `nx-*` design tokens                   
+127/-113
page.tsx
Add Contact Sales & Support page                                                 
+180/-0 
PricingPlans.tsx
Rebuild pricing plans component on `nx-*` tokens                 
+58/-27 
Footer.tsx
Update footer links to active marketing and auth routes   
+9/-11   
Configuration changes
3 files
tailwind.config.ts
Update Tailwind color tokens to reference CSS custom properties
+63/-50 
layout.tsx
Force light theme in ThemeProvider                                             
+1/-0     
globals.css
Add CSS custom properties for light/dark themes                   
+176/-26
Documentation
3 files
page.tsx
Add Privacy Policy page                                                                   
+70/-0   
page.tsx
Add Terms of Service page                                                               
+61/-0   
go_to_market_plan.md
Add Go-To-Market plan document                                                     
+210/-0 
Bug fix
5 files
page.tsx
Update CTA links and search placeholder on homepage           
+13/-4   
page.tsx
Fix broken signup links on About page                                       
+2/-2     
DeleteConfirmation.tsx
Replace native alert with `sonner` toast                                 
+8/-15   
TopHeader.tsx
Temporarily hide ThemeToggle                                                         
+2/-3     
page.tsx
Update Contact Sales CTA link                                                       
+1/-1     
Formatting
7 files
MemberPitchCard.tsx
Remove emoji from approved status badge                                   
+1/-1     
page.tsx
Replace emoji with Shield icon on admin button                     
+2/-2     
PitchBriefModal.tsx
Remove emoji from pitch saved modal                                           
+1/-1     
FeedbackForm.tsx
Replace celebration emoji with CheckCircle2 icon                 
+2/-2     
layout.tsx
Use `nx-surface-container-low` for sidebar background       
+1/-1     
page.tsx
Remove emoji from welcome title                                                   
+1/-1     
Header.tsx
Remove emoji and update font class                                             
+2/-2     
Additional files
2 files
billing.css +0/-522 
design_changes.md +195/-0 

@github-actions

Copy link
Copy Markdown

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Missing Form Input Names

The form inputs, select, and textarea elements are missing the name attribute. Without name attributes, the browser will not include their values in the form submission payload, resulting in an empty submission. Additionally, using action="mailto:..." is highly unreliable across different browsers and devices; consider replacing it with a proper API route or Next.js Server Action to handle submissions securely and reliably.

<form className="space-y-6" action="mailto:hello@corpconnect.io" method="GET">
  <div className="grid grid-cols-1 sm:grid-cols-2 gap-6">
    <div className="space-y-2">
      <label className="text-xs font-label font-semibold uppercase tracking-wider text-nx-on-surface-variant">
        Full Name *
      </label>
      <input
        type="text"
        required
        placeholder="e.g. Sarah Jenkins"
        className="w-full px-4 py-3 bg-nx-surface-container-low rounded-xl text-sm outline-none focus:ring-2 focus:ring-nx-on-tertiary-container text-nx-on-surface"
      />
    </div>

    <div className="space-y-2">
      <label className="text-xs font-label font-semibold uppercase tracking-wider text-nx-on-surface-variant">
        Work Email *
      </label>
      <input
        type="email"
        required
        placeholder="sarah@company.com"
        className="w-full px-4 py-3 bg-nx-surface-container-low rounded-xl text-sm outline-none focus:ring-2 focus:ring-nx-on-tertiary-container text-nx-on-surface"
      />
    </div>
  </div>

  <div className="grid grid-cols-1 sm:grid-cols-2 gap-6">
    <div className="space-y-2">
      <label className="text-xs font-label font-semibold uppercase tracking-wider text-nx-on-surface-variant">
        Organization Name *
      </label>
      <input
        type="text"
        required
        placeholder="e.g. Acme Corp"
        className="w-full px-4 py-3 bg-nx-surface-container-low rounded-xl text-sm outline-none focus:ring-2 focus:ring-nx-on-tertiary-container text-nx-on-surface"
      />
    </div>

    <div className="space-y-2">
      <label className="text-xs font-label font-semibold uppercase tracking-wider text-nx-on-surface-variant">
        Inquiry Type
      </label>
      <select className="w-full px-4 py-3 bg-nx-surface-container-low rounded-xl text-sm outline-none focus:ring-2 focus:ring-nx-on-tertiary-container text-nx-on-surface">
        <option value="enterprise">Enterprise Membership</option>
        <option value="demo">Platform Walkthrough / Demo</option>
        <option value="partner">Design Partner Program</option>
        <option value="other">General Support</option>
      </select>
    </div>
  </div>

  <div className="space-y-2">
    <label className="text-xs font-label font-semibold uppercase tracking-wider text-nx-on-surface-variant">
      Message / Requirements
    </label>
    <textarea
      rows={4}
      placeholder="Tell us about your organization's networking goals..."
      className="w-full px-4 py-3 bg-nx-surface-container-low rounded-xl text-sm outline-none focus:ring-2 focus:ring-nx-on-tertiary-container text-nx-on-surface"
    />
  </div>

  <Button type="submit" className="w-full py-6 bg-nx-primary text-white font-headline font-bold rounded-xl hover:opacity-90 transition-all flex items-center justify-center gap-2">
    Submit Inquiry <ArrowRight className="w-4 h-4" />
  </Button>
</form>

@github-actions

Copy link
Copy Markdown

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Pass pathname to event deletion handler

The path parameter passed to handleDeleteEvent is undefined because pathname is not
included in the argument payload or dependencies. Pass pathname as the second
argument when invoking handleDeleteEvent.

components/shared/DeleteConfirmation.tsx [20-40]

+const DeleteConfirmation = ({ eventId }: { eventId: string }) => {
+  const pathname = usePathname();
+  const router = useRouter();
+  const [isPending, startTransition] = useTransition();
 
+  const handleDeleteEvent = useCallback(
+    async ({ eventId, path }: { eventId: string; path: string }) => {
+      await axios
+        .delete(`/api/events?id=${eventId}&path=${path}`)
+        .then((response) => {
+          const message = response.data.message || 'Event deleted successfully';
+          toast.success(message);
+          router.refresh();
+        })
+        .catch((error) => {
+          const errMessage = error.response?.data?.error || error.message;
+          toast.error(errMessage);
+        });
+    },
+    [router]
+  );
Suggestion importance[1-10]: 7

__

Why: The path parameter used when calling handleDeleteEvent requires pathname from usePathname(), but pathname was removed from the useCallback dependency array and is no longer being passed correctly in the component usage.

Medium

@AnirudhAP2k
AnirudhAP2k merged commit c0aec69 into master Jul 29, 2026
9 of 10 checks passed
@AnirudhAP2k
AnirudhAP2k deleted the anirudh_fix/redesign-fixes branch July 29, 2026 14:57
@AnirudhAP2k

Copy link
Copy Markdown
Owner Author

🎉 This PR is included in version 1.24.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant