- {error}
+
)}
-
-
-
setEmail(value)}
- placeholder="you@example.com"
- required
- />
+ {/* Form */}
+
+
+ {/* Divider */}
+
-
-
-
setPassword(value)}
- placeholder="Enter your password"
- required
- />
+ {/* Social Login */}
+
+
+
-
-
-
- Forgot password?
-
-
-
-
-
-
-
-
+ {/* Footer */}
+
Don't have an account?{" "}
-
- Create one here
+
+ Sign up
-
-
Or continue with
-
-
-
-
+ {/* Additional Info */}
+
+
By signing in, you agree to our Terms of Service and Privacy Policy
-
-
);
-}
\ No newline at end of file
+}
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 6e1835c..c900958 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -244,4 +244,4 @@ export default function HomePage() {
);
-}
\ No newline at end of file
+}
diff --git a/src/app/pricing/page.tsx b/src/app/pricing/page.tsx
index e22d7ba..50a8da9 100644
--- a/src/app/pricing/page.tsx
+++ b/src/app/pricing/page.tsx
@@ -3,28 +3,20 @@
import Link from "next/link";
import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple";
import HeroBillboardScroll from "@/components/sections/hero/HeroBillboardScroll";
-import FeatureHoverPattern from "@/components/sections/feature/featureHoverPattern/FeatureHoverPattern";
-import TestimonialCardOne from "@/components/sections/testimonial/TestimonialCardOne";
import PricingCardOne from "@/components/sections/pricing/PricingCardOne";
-import TeamCardFive from "@/components/sections/team/TeamCardFive";
import FaqDouble from "@/components/sections/faq/FaqDouble";
import FooterCard from "@/components/sections/footer/FooterCard";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import {
Sparkles,
+ DollarSign,
+ HelpCircle,
Zap,
Award,
- DollarSign,
Users,
- HelpCircle,
- Calendar,
- Lock,
- BarChart3,
- Smartphone,
Twitter,
Linkedin,
Mail,
- CheckCircle,
} from "lucide-react";
const navItems = [
@@ -56,14 +48,14 @@ export default function PricingPage() {
-
-
-
-
-
-
-
-
-
-
-
-
{
+ if (password.length < 6) return { score: 0, label: "Too weak", color: "bg-red-500" };
+ if (password.length < 8) return { score: 1, label: "Weak", color: "bg-orange-500" };
+ if (!/[A-Z]/.test(password) || !/[0-9]/.test(password)) return { score: 2, label: "Fair", color: "bg-yellow-500" };
+ if (!/[^a-zA-Z0-9]/.test(password)) return { score: 3, label: "Good", color: "bg-blue-500" };
+ return { score: 4, label: "Strong", color: "bg-green-500" };
+};
+
export default function RegisterPage() {
- const [formData, setFormData] = useState({
- firstName: "", lastName: "", email: "", password: "", confirmPassword: ""});
- const [loading, setLoading] = useState(false);
- const [error, setError] = useState("");
+ const [fullName, setFullName] = useState("");
+ const [email, setEmail] = useState("");
+ const [password, setPassword] = useState("");
+ const [confirmPassword, setConfirmPassword] = useState("");
const [agreeToTerms, setAgreeToTerms] = useState(false);
+ const [isLoading, setIsLoading] = useState(false);
+ const [error, setError] = useState("");
+ const [success, setSuccess] = useState(false);
- const handleChange = (field: string, value: string) => {
- setFormData((prev) => ({
- ...prev,
- [field]: value,
- }));
- };
+ const passwordStrength = getPasswordStrength(password);
- const handleRegister = async (e: React.FormEvent) => {
+ const handleSubmit = async (e: React.FormEvent) => {
e.preventDefault();
setError("");
- if (formData.password !== formData.confirmPassword) {
+ // Validation
+ if (!fullName || !email || !password || !confirmPassword) {
+ setError("Please fill in all fields");
+ return;
+ }
+
+ if (password !== confirmPassword) {
setError("Passwords do not match");
return;
}
- if (!agreeToTerms) {
- setError("You must agree to the terms and conditions");
+ if (password.length < 8) {
+ setError("Password must be at least 8 characters long");
return;
}
- setLoading(true);
+ if (!agreeToTerms) {
+ setError("You must agree to the Terms of Service and Privacy Policy");
+ return;
+ }
+
+ setIsLoading(true);
+
try {
- // Placeholder for registration logic
- console.log("Registration attempt with:", formData);
- // Add your registration API call here
+ // Placeholder for actual registration logic
+ console.log("Registration attempt:", { fullName, email, password });
+ setSuccess(true);
+ // Reset form
+ setFullName("");
+ setEmail("");
+ setPassword("");
+ setConfirmPassword("");
+ setAgreeToTerms(false);
} catch (err) {
setError("Registration failed. Please try again.");
} finally {
- setLoading(false);
+ setIsLoading(false);
}
};
@@ -74,142 +101,194 @@ export default function RegisterPage() {
-
+
-
-
Create Account
-
Join ClassHub and start learning today
-
-
-