import React from 'react'; import { useNavigate } from 'react-router-dom'; import { useTranslation } from '@/hooks/useI18n.tsx'; import { useUserOrganizations } from '@/hooks/api/useOrganizationsAPI.ts'; import { getOrganizationSubtypeLabel } from '@/schemas/organizationSubtype.ts'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/Card.tsx'; import Button from '@/components/ui/Button.tsx'; import Badge from '@/components/ui/Badge.tsx'; import VerifiedBadge from '@/components/ui/VerifiedBadge.tsx'; import Spinner from '@/components/ui/Spinner.tsx'; import { getTranslatedSectorName } from '@/lib/sector-mapper.ts'; import type { BackendOrganization } from '@/schemas/backend/organization'; interface MyOrganizationsProps { onSelectOrganization: (org: BackendOrganization) => void; } const MyOrganizations = ({ onSelectOrganization }: MyOrganizationsProps) => { const { t } = useTranslation(); const navigate = useNavigate(); const { data: organizations, isLoading, error } = useUserOrganizations(); if (isLoading) { return (
); } if (error) { return (

{error instanceof Error ? error.message : t('errorBoundary.unknown')}

); } if (!organizations || organizations.length === 0) { return (

{t('userDashboard.noOrganizations')}

); } return (
{organizations.map((org) => { return (
{org.Name} {org.Verified && }
{getTranslatedSectorName(org.Sector, t)} {org.Subtype && ( {getOrganizationSubtypeLabel(org.Subtype)} )}
{org.Description && (

{org.Description}

)}
); })}
); }; export default React.memo(MyOrganizations);