free and trial plans fixes and styling of sigini and signup forms

This commit is contained in:
IGNY8 VPS (Salman)
2026-01-17 06:12:47 +00:00
parent 839260a7db
commit 491ddc5fbb
7 changed files with 51 additions and 44 deletions

View File

@@ -2,6 +2,7 @@ import { useEffect, useMemo, useState } from "react";
import { Link } from "react-router-dom";
import PageMeta from "../../components/common/PageMeta";
import SignUpFormUnified from "../../components/auth/SignUpFormUnified";
import GridShape from "../../components/common/GridShape";
interface Plan {
id: number;
@@ -89,25 +90,14 @@ export default function SignUp() {
/>
{/* Right Side - Pricing Plans */}
<div className="hidden lg:flex lg:w-1/2 bg-brand-950 dark:bg-white/5 p-8 xl:p-12 items-center justify-center relative">
{/* GridShape Background */}
<div className="absolute inset-0 flex items-center justify-center">
<div className="relative flex items-center justify-center z-1 w-full h-full">
<div className="absolute inset-0">
<svg className="w-full h-full opacity-40" viewBox="0 0 100 100" preserveAspectRatio="none">
<defs>
<pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse">
<path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(255,255,255,0.1)" strokeWidth="0.5"/>
</pattern>
</defs>
<rect width="100" height="100" fill="url(#grid)" />
</svg>
</div>
</div>
<div className="hidden lg:flex lg:w-1/2 bg-brand-950 dark:bg-white/5 items-center justify-center relative">
{/* GridShape Background - Same as signin page */}
<div className="absolute inset-0 z-0">
<GridShape />
</div>
{/* Logo - Top Right - Smaller */}
<Link to="/" className="absolute top-6 right-6 z-10">
<Link to="/" className="absolute top-6 right-6 z-20">
<img
src="/images/logo/IGNY8_DARK_LOGO.png"
alt="IGNY8"
@@ -115,7 +105,7 @@ export default function SignUp() {
/>
</Link>
<div className="w-full max-w-[840px] relative z-10">
<div className="w-full max-w-[640px] relative z-10">
{/* Pricing Plans Component Will Load Here */}
<div id="signup-pricing-plans" className="w-full">

View File

@@ -643,9 +643,9 @@ export default function PlansAndBillingPage() {
// FIX: hasActivePlan should check account status, not just plan existence
const accountStatus = user?.account?.status || '';
const hasPendingInvoice = invoices.some((inv) => inv.status === 'pending');
const hasActivePlan = accountStatus === 'active'
// Accept both 'active' and 'trial' status (free plans get 'trial' status)
const hasActivePlan = (accountStatus === 'active' || accountStatus === 'trial')
&& effectivePlanId
&& currentPlan?.slug !== 'free'
&& !hasPendingInvoice;
const hasPendingPayment = payments.some((p) => p.status === 'pending_approval');