diff --git a/.gitignore b/.gitignore index 9b1913ec..cef619f9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +.env.local # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # dependencies diff --git a/app/auth/register/page.tsx b/app/auth/register/page.tsx index f362eedb..4b00052e 100644 --- a/app/auth/register/page.tsx +++ b/app/auth/register/page.tsx @@ -151,7 +151,6 @@ export default function Register() { const isFormValid = name.trim() && email.trim() && - /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email) && password.trim() && confirmPassword.trim() && password === confirmPassword && @@ -311,7 +310,7 @@ export default function Register() { }`} /> Email Address - {email && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email) && ( + {email && email.includes("@") && ( )} @@ -325,47 +324,27 @@ export default function Register() { onBlur={() => setFocusedField(null)} placeholder="Enter your email" required - className={`glass-effect focus:ring-yellow-400/20 pl-4 pr-4 py-3 text-sm sm:text-base transition-all duration-300 group-hover:shadow-lg ${ - email && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email) && email.length > 0 - ? "border-red-400/60 focus:border-red-400/80 hover:border-red-400/70" - : "border-yellow-400/30 focus:border-yellow-400/60 hover:border-yellow-400/50" - }`} + className="glass-effect border-yellow-400/30 focus:border-yellow-400/60 focus:ring-yellow-400/20 pl-4 pr-4 py-3 text-sm sm:text-base transition-all duration-300 hover:border-yellow-400/50 group-hover:shadow-lg" disabled={isLoading} />
0 - ? "border-red-400/40 shadow-lg shadow-red-400/20" - : "border-yellow-400/40 shadow-lg shadow-yellow-400/20" - : email && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email) && email.length > 0 - ? "border-red-400/20" + ? "border-yellow-400/40 shadow-lg shadow-yellow-400/20" : "border-yellow-400/20" }`} >
{/* Progress indicator */}
0 - ? "w-full bg-gradient-to-r from-red-400 to-orange-500" + className={`absolute bottom-0 left-0 h-0.5 bg-gradient-to-r from-yellow-400 to-blue-500 transition-all duration-300 ${ + email && email.includes("@") + ? "w-full" : email - ? "w-1/2 bg-gradient-to-r from-yellow-400 to-blue-500" + ? "w-1/2" : "w-0" }`} >
- - {/* Email validation feedback */} - {email && email.length > 0 && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email) && ( -
-

- - Please enter a valid email address -

-
- )} {/* Enhanced Password field with strength indicator */} diff --git a/app/auth/signin/page.tsx b/app/auth/signin/page.tsx index 9caad166..e7a15fec 100644 --- a/app/auth/signin/page.tsx +++ b/app/auth/signin/page.tsx @@ -194,7 +194,7 @@ export default function SignIn() { }`} /> Email Address - {email && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email) && ( + {email && email.includes("@") && ( )} @@ -208,47 +208,27 @@ export default function SignIn() { onBlur={() => setFocusedField(null)} placeholder="Enter your email" required - className={`glass-effect focus:ring-yellow-400/20 pl-4 pr-4 py-3 text-sm sm:text-base transition-all duration-300 group-hover:shadow-lg ${ - email && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email) && email.length > 0 - ? "border-red-400/60 focus:border-red-400/80 hover:border-red-400/70" - : "border-yellow-400/30 focus:border-yellow-400/60 hover:border-yellow-400/50" - }`} + className="glass-effect border-yellow-400/30 focus:border-yellow-400/60 focus:ring-yellow-400/20 pl-4 pr-4 py-3 text-sm sm:text-base transition-all duration-300 hover:border-yellow-400/50 group-hover:shadow-lg" disabled={isLoading} />
0 - ? "border-red-400/40 shadow-lg shadow-red-400/20" - : "border-yellow-400/40 shadow-lg shadow-yellow-400/20" - : email && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email) && email.length > 0 - ? "border-red-400/20" + ? "border-yellow-400/40 shadow-lg shadow-yellow-400/20" : "border-yellow-400/20" }`} >
{/* Progress indicator */}
0 - ? "w-full bg-gradient-to-r from-red-400 to-orange-500" + className={`absolute bottom-0 left-0 h-0.5 bg-gradient-to-r from-yellow-400 to-blue-500 transition-all duration-300 ${ + email && email.includes("@") + ? "w-full" : email - ? "w-1/2 bg-gradient-to-r from-yellow-400 to-blue-500" + ? "w-1/2" : "w-0" }`} >
- - {/* Email validation feedback */} - {email && email.length > 0 && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email) && ( -
-

- - Please enter a valid email address -

-
- )} {/* Enhanced password field with better UX */} @@ -338,7 +318,7 @@ export default function SignIn() { > + ); -} +} \ No newline at end of file diff --git a/app/pricing/page.tsx b/app/pricing/page.tsx index f385c5c4..d33584d8 100644 --- a/app/pricing/page.tsx +++ b/app/pricing/page.tsx @@ -87,136 +87,102 @@ export default function PricingPage() { switch (variant) { case 'primary': - return `${baseClasses} bg-blue-600 text-white hover:bg-blue-700 shadow-lg hover:shadow-xl`; + return `${baseClasses} bg-gradient-to-r from-blue-500 to-blue-600 text-white hover:from-blue-600 hover:to-blue-700 shadow-lg hover:shadow-blue-500/20`; case 'secondary': - return `${baseClasses} bg-gray-100 text-gray-800 hover:bg-gray-200 border border-gray-300`; + return `${baseClasses} bg-white text-gray-800 hover:bg-gray-50 border-2 border-gray-200 hover:border-blue-300`; case 'premium': - return `${baseClasses} bg-gradient-to-r from-purple-600 to-indigo-600 text-white hover:from-purple-700 hover:to-indigo-700 shadow-lg hover:shadow-xl`; + return `${baseClasses} bg-gradient-to-r from-purple-500 to-indigo-600 text-white hover:from-purple-600 hover:to-indigo-700 shadow-lg hover:shadow-purple-500/20`; default: return baseClasses; } }; return ( -
- {/* Animated background elements matching landing page */} -
- - {/* Floating orbs - matching landing page */} -
-
-
- - {/* Grid pattern overlay */} -
+
+ {/* Animated background elements */} +
+
+
+
+ + {/* Floating orbs */} +
+
+
+ -
- {/* Pricing Section with matching background elements */} -
- -
- {/* Header matching landing page style */} -
- {/* Badge matching landing page style */} -
- - Pricing Plans - + +
+
+
+ {/* Header */} +
+
+ + Simple, transparent pricing
- {/* Modern heading matching landing page typography */} - -

- Choose Your{" "} - - Perfect Plan -
- -
-
+

+ Pricing built for every team

- - {/* Modern subtitle matching landing page style */} -

- Transform your document workflow with{" "} - DocMagic{" "} - Start free and scale as you grow with{" "} - magical precision +

+ Choose the perfect plan for your needs. Start small and upgrade as you grow.

- - {/* Stats bar matching landing page */} - -
-
- 3 - Plans Available -
-
- FREE - Trial -
-
- 24/7 - Support -
-
- - {/* Enhanced Pricing Cards with animations */} -
+ {/* Pricing cards */} +
{plans.map((plan, index) => (
- {/* Popular Badge */} {plan.popular && ( -
- +
+ Most Popular
)} - -
- {/* Plan Header */} -
-
+
+
{plan.icon}
-

{plan.name}

-
- {plan.price} - {plan.period} + +

{plan.name}

+
+ {plan.price} + {plan.period}
-

{plan.description}

+

{plan.description}

- - {/* Features List */} -
-
    + +
    +
      {plan.features.map((feature, featureIndex) => (
    • -
      - +
      {feature.text} @@ -224,8 +190,7 @@ export default function PricingPage() { ))}
    - - {/* CTA Button */} + @@ -234,86 +199,46 @@ export default function PricingPage() { ))}
- {/* Bottom CTA matching landing page style */} -
-
- {/* Background shimmer effect */} -
- -
-
- -

- Need a custom solution? -

- -
-

- Contact our sales team to discuss enterprise features, custom integrations, and volume discounts. -

-
- - -
+ {/* Enterprise CTA */} +
+
+
+ +

Need enterprise features?

+

+ We offer custom solutions for large organizations with specific requirements. +

+
+
+
- {/* Trust Indicators matching landing page style */} -
-

Trusted by 10,000+ professionals worldwide

-
+ {/* Testimonials */} +
+
+
+

Trusted by thousands of teams

+
{[...Array(5)].map((_, i) => ( - + ))} - 4.9/5 from 2,500+ reviews + 4.9/5 from 2,500+ reviews
- {/* Professional Footer matching landing page */} -