1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React, { useState, useEffect } from 'https://esm.sh/react@18.2.0';
3import { User, CareerPath, Skill } from '../../shared/types';
4
22}
23
24const NinetyDayPlan: React.FC<NinetyDayPlanProps> = ({ user, onNavigate }) => {
25 // State
26 const [plan, setPlan] = useState<Plan | null>(null);
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React, { useState } from 'https://esm.sh/react@18.2.0';
3import { User, Workshop } from '../../shared/types';
4import { formatDate } from '../../shared/utils';
10}
11
12const Workshops: React.FC<WorkshopsProps> = ({ user, onNavigate, initialData }) => {
13 // State
14 const [workshops, setWorkshops] = useState<Workshop[]>(initialData.workshops || []);
30
31 // Submit RSVP
32 const handleSubmitRSVP = async (e: React.FormEvent) => {
33 e.preventDefault();
34
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React, { useState } from 'https://esm.sh/react@18.2.0';
3import { User, Mentor } from '../../shared/types';
4
9}
10
11const Mentorship: React.FC<MentorshipProps> = ({ user, onNavigate, initialData }) => {
12 // State
13 const [mentors, setMentors] = useState<Mentor[]>(initialData.mentors || []);
29
30 // Submit mentorship request
31 const handleSubmitRequest = async (e: React.FormEvent) => {
32 e.preventDefault();
33
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React, { useState, useEffect } from 'https://esm.sh/react@18.2.0';
3import { User, Skill, CareerPath } from '../../shared/types';
4import { getFromLocalStorage, saveToLocalStorage } from '../../shared/utils';
11}
12
13const FocusFinder: React.FC<FocusFinderProps> = ({ user, updateUser, onNavigate, initialData }) => {
14 // State
15 const [step, setStep] = useState<1 | 2>(1);
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React, { useState, useEffect } from 'https://esm.sh/react@18.2.0';
3import { User, QuizQuestion, QuizResponse, StrengthPrompt, StrengthResponse, JournalPrompt, JournalResponse } from '../../shared/types';
4import { getFromLocalStorage, saveToLocalStorage } from '../../shared/utils';
11}
12
13const SelfDiscovery: React.FC<SelfDiscoveryProps> = ({ user, updateUser, onNavigate, initialData }) => {
14 // State
15 const [activeTab, setActiveTab] = useState<'quiz' | 'strengths' | 'journal'>('quiz');
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React, { useEffect, useState } from 'https://esm.sh/react@18.2.0';
3import { User, Workshop } from '../../shared/types';
4import { formatDate } from '../../shared/utils';
10}
11
12const Dashboard: React.FC<DashboardProps> = ({ user, onNavigate, initialData }) => {
13 const [upcomingWorkshops, setUpcomingWorkshops] = useState<Workshop[]>(initialData.workshops || []);
14
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React, { useState } from 'https://esm.sh/react@18.2.0';
3import { isValidEmail } from '../../shared/utils';
4
10}
11
12const Register: React.FC<RegisterProps> = ({ onRegister, onNavigate, loading, error }) => {
13 const [name, setName] = useState('');
14 const [email, setEmail] = useState('');
17 const [validationError, setValidationError] = useState<string | null>(null);
18
19 const handleSubmit = (e: React.FormEvent) => {
20 e.preventDefault();
21
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React, { useState } from 'https://esm.sh/react@18.2.0';
3import { isValidEmail } from '../../shared/utils';
4
10}
11
12const Login: React.FC<LoginProps> = ({ onLogin, onNavigate, loading, error }) => {
13 const [email, setEmail] = useState('');
14 const [password, setPassword] = useState('');
15 const [validationError, setValidationError] = useState<string | null>(null);
16
17 const handleSubmit = (e: React.FormEvent) => {
18 e.preventDefault();
19
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React from 'https://esm.sh/react@18.2.0';
3
4const Footer: React.FC = () => {
5 return (
6 <footer className="bg-gray-800 text-white py-8">
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React, { useState } from 'https://esm.sh/react@18.2.0';
3import { User } from '../../shared/types';
4
11}
12
13const Header: React.FC<HeaderProps> = ({
14 isAuthenticated,
15 onLogout,