story-generator/src/pages/student-dashboard/StudentSettingsPage.tsx
Lucas Santana 6e7c85e853 feat: adiciona página de configurações do aluno
- Cria componente StudentSettingsPage
- Adiciona rota de configurações
- Implementa utils para classes condicionais
- Atualiza navegação no dashboard do aluno
2024-12-20 15:23:48 -03:00

66 lines
2.3 KiB
TypeScript

import { Tabs, TabsList, TabsTrigger, TabsContent } from '../../components/ui/tabs';
import { Input } from '../../components/ui/input';
import { DatePicker } from '../../components/ui/date-picker';
import { Select } from '../../components/ui/select';
import { AvatarUpload } from '../../components/ui/avatar-upload';
export function StudentSettingsPage() {
return (
<div className="max-w-4xl mx-auto">
<h1 className="text-2xl font-bold text-gray-900 mb-6">
Configurações do Perfil
</h1>
<Tabs defaultValue="personal">
<TabsList>
<TabsTrigger value="personal">Informações Pessoais</TabsTrigger>
<TabsTrigger value="preferences">Preferências</TabsTrigger>
<TabsTrigger value="accessibility">Acessibilidade</TabsTrigger>
<TabsTrigger value="notifications">Notificações</TabsTrigger>
</TabsList>
<TabsContent value="personal">
<div className="space-y-6">
<div className="flex items-center gap-4">
<AvatarUpload />
<div>
<h3 className="font-medium">Foto do Perfil</h3>
<p className="text-sm text-gray-500">
JPG ou PNG, máximo 2MB
</p>
</div>
</div>
<div className="grid grid-cols-2 gap-4">
<Input
label="Nome Completo"
name="fullName"
placeholder="Seu nome completo"
/>
<Input
label="Nome Social/Apelido"
name="nickname"
placeholder="Como prefere ser chamado"
/>
<DatePicker
label="Data de Nascimento"
name="birthDate"
/>
<Select
label="Gênero"
name="gender"
options={[
{ value: 'male', label: 'Masculino' },
{ value: 'female', label: 'Feminino' },
{ value: 'non_binary', label: 'Não-binário' },
{ value: 'other', label: 'Outro' },
{ value: 'prefer_not_to_say', label: 'Prefiro não dizer' }
]}
/>
</div>
</div>
</TabsContent>
</Tabs>
</div>
);
}