Recebemos um pedido para redefinir a senha da sua conta na ferramenta de campanha.
+ Se você não solicitou esta alteração, ignore este e-mail.
+
+
+
Meu perfil
+
+ Gerencie sua foto e senha de acesso à ferramenta de campanha.
+
+
+
+ {passwordResetBanner ? (
+
+ Senha redefinida com sucesso. Você já está autenticado.
+
+ ) : null}
+
+
+
+ Identificação
+ Dados da sua conta neste ciclo.
+
+
+
+
+
+
- Nome
+ - {user.name}
+
+
+
- Papel
+ - {campaignRoleLabels[user.role]}
+
+ {user.email ? (
+
+
- E-mail
+ - {user.email}
+
+ ) : null}
+ {user.username ? (
+
+
- Celular de acesso
+ - {formatLeadershipPhone(user.username)}
+
+ ) : null}
+
+
+
+
+
+
+ Foto de perfil
+ JPEG, PNG ou WebP, até 2 MB.
+
+
+
+
+ {user.avatarUrl ? (
+
+ ) : null}
+
+
+
+
+
+ Alterar senha
+
+ {user.email
+ ? 'Use sua senha atual para definir uma nova.'
+ : 'Se você esqueceu a senha, peça um novo convite de acesso ao coordenador.'}
+
+
+
+
+
+
+
+ )
+}
diff --git a/src/components/campaign/CampaignSidebar.tsx b/src/components/campaign/CampaignSidebar.tsx
index 245aee91..75c70bdc 100644
--- a/src/components/campaign/CampaignSidebar.tsx
+++ b/src/components/campaign/CampaignSidebar.tsx
@@ -7,6 +7,7 @@ import { usePathname } from 'next/navigation'
import { logoutCampaign } from '@/app/(campaign)/campanha/actions/auth'
import { CampaignLogo } from '@/components/campaign/campaign-logo'
import { CampaignScopeBadge } from '@/components/campaign/CampaignScopeBadge'
+import { CampaignUserAvatar } from '@/components/campaign/CampaignUserAvatar'
import { getCampaignNav, isCampaignNavActive } from '@/components/campaign/nav'
import { Button } from '@/components/ui/button'
import {
@@ -21,21 +22,12 @@ import {
SidebarMenuItem,
useSidebar,
} from '@/components/ui/Sidebar'
-import type { CampaignUser } from '@/payload-types'
+import type { CampaignUserShellView } from '@/utilities/campaignUserProfile'
+import { campaignRoleLabels } from '@/utilities/campaignUserProfile'
import { clearCampaignPwaCaches } from '@/utilities/campaignPwaClient'
import { clearRecentVisits } from '@/utilities/recentVisits'
-export type CampaignSidebarUser = {
- name: string
- email?: string | null
- role: CampaignUser['role']
-}
-
-const roleLabels: Record