mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-13 15:13:07 +00:00
Pass 2 W2: components/campaign em subpastas por dominio
106 arquivos flat -> 15 dominios (actionPlan, advisor, auth, dashboard, demand, invite, leadership, map, municipality, organization, stateDeputy, supporter, votePledge, shared, shell) via git mv; imports absolutos reescritos em 98 arquivos; excecao de lint do campaign-logo e paths dos specs de contrato (campaignInviteUi, campaignComponents) atualizados. Sem mudanca de conteudo nos componentes.
This commit is contained in:
parent
cf6ae6c47c
commit
c706c62098
160 changed files with 257 additions and 257 deletions
|
|
@ -20,7 +20,7 @@ const frameworkComponentFiles = [
|
|||
// These predate the naming convention. Keep them linted by Next's rules while
|
||||
// requiring new component files to use PascalCase.
|
||||
const legacyComponentFilenameIgnores = [
|
||||
'src/components/campaign/campaign-logo.tsx',
|
||||
'src/components/campaign/shell/campaign-logo.tsx',
|
||||
'src/components/socialIcons.tsx',
|
||||
'src/components/socialLinks.tsx',
|
||||
'src/components/ui/breadcrumb.tsx',
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@ import { notFound, redirect } from 'next/navigation'
|
|||
import { getPayload } from 'payload'
|
||||
|
||||
import { setSupporterVoteIntentionFormAction } from '@/app/(campaign)/campanha/(app)/apoiadores/[id]/formActions'
|
||||
import { CampaignScopeBadge } from '@/components/campaign/CampaignScopeBadge'
|
||||
import { ConsentText } from '@/components/campaign/ConsentText'
|
||||
import { RemoveSupporterDataButton } from '@/components/campaign/RemoveSupporterDataButton'
|
||||
import { SupporterShareKit } from '@/components/campaign/SupporterShareKit'
|
||||
import { VoteIntentionControl } from '@/components/campaign/VoteIntentionControl'
|
||||
import { CampaignScopeBadge } from '@/components/campaign/shared/CampaignScopeBadge'
|
||||
import { ConsentText } from '@/components/campaign/shared/ConsentText'
|
||||
import { RemoveSupporterDataButton } from '@/components/campaign/supporter/RemoveSupporterDataButton'
|
||||
import { SupporterShareKit } from '@/components/campaign/supporter/SupporterShareKit'
|
||||
import { VoteIntentionControl } from '@/components/campaign/supporter/VoteIntentionControl'
|
||||
import { Badge } from '@/components/ui/Badge'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import Link from 'next/link'
|
||||
import { redirect } from 'next/navigation'
|
||||
|
||||
import { CampaignScopeBadge } from '@/components/campaign/CampaignScopeBadge'
|
||||
import { SupporterImportWizard } from '@/components/campaign/SupporterImportWizard'
|
||||
import { CampaignScopeBadge } from '@/components/campaign/shared/CampaignScopeBadge'
|
||||
import { SupporterImportWizard } from '@/components/campaign/supporter/SupporterImportWizard'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
import { isCampaignCoordinator } from '@/utilities/campaignAccess'
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { Skeleton } from '@/components/ui/skeleton'
|
||||
|
||||
/** List-shaped skeleton for /apoiadores and its detail routes. */
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import { redirect } from 'next/navigation'
|
|||
import { getPayload } from 'payload'
|
||||
|
||||
import { createSupporterFormAction } from '@/app/(campaign)/campanha/(app)/apoiadores/novo/formActions'
|
||||
import { CampaignScopeBadge } from '@/components/campaign/CampaignScopeBadge'
|
||||
import { SupporterForm } from '@/components/campaign/SupporterForm'
|
||||
import { CampaignScopeBadge } from '@/components/campaign/shared/CampaignScopeBadge'
|
||||
import { SupporterForm } from '@/components/campaign/supporter/SupporterForm'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { campaignRoleLabels } from '@/utilities/campaignUserProfile'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
|
|
|
|||
|
|
@ -1,20 +1,20 @@
|
|||
import {
|
||||
CampaignListPendingBoundary,
|
||||
CampaignListResults,
|
||||
} from '@/components/campaign/CampaignListPending'
|
||||
} from '@/components/campaign/shared/CampaignListPending'
|
||||
import config from '@payload-config'
|
||||
import { FileUpIcon, PlusIcon, SearchXIcon } from 'lucide-react'
|
||||
import Link from 'next/link'
|
||||
import { redirect } from 'next/navigation'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import { CampaignListEmptyState } from '@/components/campaign/CampaignListEmptyState'
|
||||
import { CampaignListFooter } from '@/components/campaign/CampaignListFooter'
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { CampaignScopeBadge } from '@/components/campaign/CampaignScopeBadge'
|
||||
import { SupporterFilters } from '@/components/campaign/SupporterFilters'
|
||||
import { SupporterList } from '@/components/campaign/SupporterList'
|
||||
import { SupporterListOverview } from '@/components/campaign/SupporterListOverview'
|
||||
import { CampaignListEmptyState } from '@/components/campaign/shared/CampaignListEmptyState'
|
||||
import { CampaignListFooter } from '@/components/campaign/shared/CampaignListFooter'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { CampaignScopeBadge } from '@/components/campaign/shared/CampaignScopeBadge'
|
||||
import { SupporterFilters } from '@/components/campaign/supporter/SupporterFilters'
|
||||
import { SupporterList } from '@/components/campaign/supporter/SupporterList'
|
||||
import { SupporterListOverview } from '@/components/campaign/supporter/SupporterListOverview'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { isCampaignCoordinator, isCampaignUnrestricted } from '@/utilities/campaignAccess'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ import Link from 'next/link'
|
|||
import { notFound, redirect } from 'next/navigation'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import { AdvisorDebouncedTextCell } from '@/components/campaign/AdvisorDebouncedTextCell'
|
||||
import { AdvisorPasswordResetButton } from '@/components/campaign/AdvisorPasswordResetButton'
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { AdvisorDebouncedTextCell } from '@/components/campaign/advisor/AdvisorDebouncedTextCell'
|
||||
import { AdvisorPasswordResetButton } from '@/components/campaign/advisor/AdvisorPasswordResetButton'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { Badge } from '@/components/ui/Badge'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { isPlanilhaPlaceholderEmail } from '@/lib/schemas/advisor'
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@ import { getPayload } from 'payload'
|
|||
import {
|
||||
CampaignListPendingBoundary,
|
||||
CampaignListResults,
|
||||
} from '@/components/campaign/CampaignListPending'
|
||||
import { CampaignListFooter } from '@/components/campaign/CampaignListFooter'
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { CampaignSearchForm } from '@/components/campaign/CampaignSearchForm'
|
||||
import { AdvisorsTable } from '@/components/campaign/AdvisorsTable'
|
||||
} from '@/components/campaign/shared/CampaignListPending'
|
||||
import { CampaignListFooter } from '@/components/campaign/shared/CampaignListFooter'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { CampaignSearchForm } from '@/components/campaign/shared/CampaignSearchForm'
|
||||
import { AdvisorsTable } from '@/components/campaign/advisor/AdvisorsTable'
|
||||
import {
|
||||
advisorListHrefForPage,
|
||||
loadAdvisorListPageData,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type { Metadata } from 'next'
|
||||
import { redirect } from 'next/navigation'
|
||||
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import {
|
||||
CAMPAIGN_CONCEPT_CATEGORIES,
|
||||
campaignConceptsByCategory,
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import Link from 'next/link'
|
|||
import { notFound, redirect } from 'next/navigation'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { DemandWorkflowCard } from '@/components/campaign/DemandWorkflowCard'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { DemandWorkflowCard } from '@/components/campaign/demand/DemandWorkflowCard'
|
||||
import { Badge } from '@/components/ui/Badge'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import {
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import Link from 'next/link'
|
|||
import { redirect } from 'next/navigation'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { DemandForm } from '@/components/campaign/DemandForm'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { DemandForm } from '@/components/campaign/demand/DemandForm'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { isCampaignStaff } from '@/utilities/campaignAccess'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
|
|
|
|||
|
|
@ -4,19 +4,19 @@ import Link from 'next/link'
|
|||
import { redirect } from 'next/navigation'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import { CampaignFilterChips } from '@/components/campaign/CampaignFilterChips'
|
||||
import { CampaignListEmptyState } from '@/components/campaign/CampaignListEmptyState'
|
||||
import { CampaignListFooter } from '@/components/campaign/CampaignListFooter'
|
||||
import { CampaignFilterChips } from '@/components/campaign/shared/CampaignFilterChips'
|
||||
import { CampaignListEmptyState } from '@/components/campaign/shared/CampaignListEmptyState'
|
||||
import { CampaignListFooter } from '@/components/campaign/shared/CampaignListFooter'
|
||||
import {
|
||||
CampaignListPendingBoundary,
|
||||
CampaignListResults,
|
||||
} from '@/components/campaign/CampaignListPending'
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
} from '@/components/campaign/shared/CampaignListPending'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import {
|
||||
CampaignTable,
|
||||
CampaignTableHead,
|
||||
type CampaignTableColumn,
|
||||
} from '@/components/campaign/CampaignTable'
|
||||
} from '@/components/campaign/shared/CampaignTable'
|
||||
import { Badge } from '@/components/ui/Badge'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import {
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import Link from 'next/link'
|
|||
import { notFound, redirect } from 'next/navigation'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { StateDeputyForm } from '@/components/campaign/StateDeputyForm'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { StateDeputyForm } from '@/components/campaign/stateDeputy/StateDeputyForm'
|
||||
import { Badge } from '@/components/ui/Badge'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { isCampaignStaff } from '@/utilities/campaignAccess'
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ import { ArrowLeftIcon } from 'lucide-react'
|
|||
import Link from 'next/link'
|
||||
import { redirect } from 'next/navigation'
|
||||
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { StateDeputyForm } from '@/components/campaign/StateDeputyForm'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { StateDeputyForm } from '@/components/campaign/stateDeputy/StateDeputyForm'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { isCampaignStaff } from '@/utilities/campaignAccess'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
|
|
|
|||
|
|
@ -4,19 +4,19 @@ import Link from 'next/link'
|
|||
import { redirect } from 'next/navigation'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import { CampaignListEmptyState } from '@/components/campaign/CampaignListEmptyState'
|
||||
import { CampaignListFooter } from '@/components/campaign/CampaignListFooter'
|
||||
import { CampaignListEmptyState } from '@/components/campaign/shared/CampaignListEmptyState'
|
||||
import { CampaignListFooter } from '@/components/campaign/shared/CampaignListFooter'
|
||||
import {
|
||||
CampaignListPendingBoundary,
|
||||
CampaignListResults,
|
||||
} from '@/components/campaign/CampaignListPending'
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { CampaignSearchForm } from '@/components/campaign/CampaignSearchForm'
|
||||
} from '@/components/campaign/shared/CampaignListPending'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { CampaignSearchForm } from '@/components/campaign/shared/CampaignSearchForm'
|
||||
import {
|
||||
CampaignTable,
|
||||
CampaignTableHead,
|
||||
type CampaignTableColumn,
|
||||
} from '@/components/campaign/CampaignTable'
|
||||
} from '@/components/campaign/shared/CampaignTable'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { isCampaignStaff } from '@/utilities/campaignAccess'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import { redirect } from 'next/navigation'
|
||||
import React from 'react'
|
||||
|
||||
import { CampaignBottomNav } from '@/components/campaign/CampaignBottomNav'
|
||||
import { CampaignSidebar } from '@/components/campaign/CampaignSidebar'
|
||||
import { InstallPwaToast } from '@/components/campaign/InstallPwaToast'
|
||||
import { CampaignBottomNav } from '@/components/campaign/shell/CampaignBottomNav'
|
||||
import { CampaignSidebar } from '@/components/campaign/shell/CampaignSidebar'
|
||||
import { InstallPwaToast } from '@/components/campaign/shell/InstallPwaToast'
|
||||
import { SidebarInset, SidebarProvider, SidebarTrigger } from '@/components/ui/Sidebar'
|
||||
import { Toaster } from '@/components/ui/Toaster'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@ import Link from 'next/link'
|
|||
import { notFound, redirect } from 'next/navigation'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { LeadershipInternalForm } from '@/components/campaign/LeadershipInternalForm'
|
||||
import { LeadershipInviteButtons } from '@/components/campaign/LeadershipInviteButtons'
|
||||
import { StateDeputyChips } from '@/components/campaign/StateDeputyChips'
|
||||
import { SupportStatusBadge } from '@/components/campaign/SupportStatusBadge'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { LeadershipInternalForm } from '@/components/campaign/leadership/LeadershipInternalForm'
|
||||
import { LeadershipInviteButtons } from '@/components/campaign/invite/LeadershipInviteButtons'
|
||||
import { StateDeputyChips } from '@/components/campaign/stateDeputy/StateDeputyChips'
|
||||
import { SupportStatusBadge } from '@/components/campaign/leadership/SupportStatusBadge'
|
||||
import { Badge } from '@/components/ui/Badge'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { isCampaignStaff } from '@/utilities/campaignAccess'
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import Link from 'next/link'
|
|||
import { redirect } from 'next/navigation'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { LeadershipForm } from '@/components/campaign/LeadershipForm'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { LeadershipForm } from '@/components/campaign/leadership/LeadershipForm'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { isCampaignStaff } from '@/utilities/campaignAccess'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
|
|
|
|||
|
|
@ -4,20 +4,20 @@ import Link from 'next/link'
|
|||
import { redirect } from 'next/navigation'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import { CampaignListEmptyState } from '@/components/campaign/CampaignListEmptyState'
|
||||
import { CampaignListFooter } from '@/components/campaign/CampaignListFooter'
|
||||
import { CampaignListEmptyState } from '@/components/campaign/shared/CampaignListEmptyState'
|
||||
import { CampaignListFooter } from '@/components/campaign/shared/CampaignListFooter'
|
||||
import {
|
||||
CampaignListPendingBoundary,
|
||||
CampaignListResults,
|
||||
} from '@/components/campaign/CampaignListPending'
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { CampaignSearchForm } from '@/components/campaign/CampaignSearchForm'
|
||||
} from '@/components/campaign/shared/CampaignListPending'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { CampaignSearchForm } from '@/components/campaign/shared/CampaignSearchForm'
|
||||
import {
|
||||
CampaignTable,
|
||||
CampaignTableHead,
|
||||
type CampaignTableColumn,
|
||||
} from '@/components/campaign/CampaignTable'
|
||||
import { SupportStatusBadge } from '@/components/campaign/SupportStatusBadge'
|
||||
} from '@/components/campaign/shared/CampaignTable'
|
||||
import { SupportStatusBadge } from '@/components/campaign/leadership/SupportStatusBadge'
|
||||
import { Badge } from '@/components/ui/Badge'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { isCampaignStaff } from '@/utilities/campaignAccess'
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { Skeleton } from '@/components/ui/skeleton'
|
||||
|
||||
export default function CampaignDashboardLoading() {
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ import Link from 'next/link'
|
|||
import { notFound, redirect } from 'next/navigation'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { MunicipalityAdvisorsForm } from '@/components/campaign/MunicipalityAdvisorsForm'
|
||||
import { MunicipalityStrategyForm } from '@/components/campaign/MunicipalityStrategyForm'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { MunicipalityAdvisorsForm } from '@/components/campaign/municipality/MunicipalityAdvisorsForm'
|
||||
import { MunicipalityStrategyForm } from '@/components/campaign/municipality/MunicipalityStrategyForm'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { isCampaignStaff } from '@/utilities/campaignAccess'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
|
|
|
|||
|
|
@ -4,21 +4,21 @@ import Link from 'next/link'
|
|||
import { notFound, redirect } from 'next/navigation'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import { CampaignListPagination } from '@/components/campaign/CampaignListPagination'
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { CandidateComparePicker } from '@/components/campaign/CandidateComparePicker'
|
||||
import { MunicipalityBaselineCard } from '@/components/campaign/MunicipalityBaselineCard'
|
||||
import { MunicipalityCandidateComparisonTable } from '@/components/campaign/MunicipalityCandidateComparisonTable'
|
||||
import { MunicipalityDossier } from '@/components/campaign/MunicipalityDossier'
|
||||
import { MunicipalityGoalAccountCard } from '@/components/campaign/MunicipalityGoalAccountCard'
|
||||
import { MunicipalityLeadershipsPanel } from '@/components/campaign/MunicipalityLeadershipsPanel'
|
||||
import { MunicipalityPledgesPanel } from '@/components/campaign/MunicipalityPledgesPanel'
|
||||
import { MunicipalityStrategyCard } from '@/components/campaign/MunicipalityStrategyCard'
|
||||
import { MunicipalityTabNav } from '@/components/campaign/MunicipalityTabNav'
|
||||
import { MunicipalityUpdateFeed } from '@/components/campaign/MunicipalityUpdateFeed'
|
||||
import { MunicipalityUpdateForm } from '@/components/campaign/MunicipalityUpdateForm'
|
||||
import { MunicipalityZoneNeighborhoodsCard } from '@/components/campaign/MunicipalityZoneNeighborhoodsCard'
|
||||
import { RecentVisitTracker } from '@/components/campaign/RecentVisitTracker'
|
||||
import { CampaignListPagination } from '@/components/campaign/shared/CampaignListPagination'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { CandidateComparePicker } from '@/components/campaign/map/CandidateComparePicker'
|
||||
import { MunicipalityBaselineCard } from '@/components/campaign/municipality/MunicipalityBaselineCard'
|
||||
import { MunicipalityCandidateComparisonTable } from '@/components/campaign/municipality/MunicipalityCandidateComparisonTable'
|
||||
import { MunicipalityDossier } from '@/components/campaign/municipality/MunicipalityDossier'
|
||||
import { MunicipalityGoalAccountCard } from '@/components/campaign/municipality/MunicipalityGoalAccountCard'
|
||||
import { MunicipalityLeadershipsPanel } from '@/components/campaign/municipality/MunicipalityLeadershipsPanel'
|
||||
import { MunicipalityPledgesPanel } from '@/components/campaign/municipality/MunicipalityPledgesPanel'
|
||||
import { MunicipalityStrategyCard } from '@/components/campaign/municipality/MunicipalityStrategyCard'
|
||||
import { MunicipalityTabNav } from '@/components/campaign/municipality/MunicipalityTabNav'
|
||||
import { MunicipalityUpdateFeed } from '@/components/campaign/municipality/MunicipalityUpdateFeed'
|
||||
import { MunicipalityUpdateForm } from '@/components/campaign/municipality/MunicipalityUpdateForm'
|
||||
import { MunicipalityZoneNeighborhoodsCard } from '@/components/campaign/municipality/MunicipalityZoneNeighborhoodsCard'
|
||||
import { RecentVisitTracker } from '@/components/campaign/dashboard/RecentVisitTracker'
|
||||
import { Badge } from '@/components/ui/Badge'
|
||||
import { isCampaignLeader } from '@/utilities/campaignAccess'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { Skeleton } from '@/components/ui/skeleton'
|
||||
|
||||
/** List-shaped skeleton for /municipios and its detail routes. */
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
import {
|
||||
CampaignListPendingBoundary,
|
||||
CampaignListResults,
|
||||
} from '@/components/campaign/CampaignListPending'
|
||||
} from '@/components/campaign/shared/CampaignListPending'
|
||||
import config from '@payload-config'
|
||||
import { redirect } from 'next/navigation'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import { CampaignListFooter } from '@/components/campaign/CampaignListFooter'
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { CampaignScopeBadge } from '@/components/campaign/CampaignScopeBadge'
|
||||
import { MunicipalityEstimateScenarioProvider } from '@/components/campaign/MunicipalityEstimateScenarioContext'
|
||||
import { MunicipalityFilters } from '@/components/campaign/MunicipalityFilters'
|
||||
import { MunicipalityList } from '@/components/campaign/MunicipalityList'
|
||||
import { MunicipalityListOverview } from '@/components/campaign/MunicipalityListOverview'
|
||||
import { RecentVisitTracker } from '@/components/campaign/RecentVisitTracker'
|
||||
import { CampaignListFooter } from '@/components/campaign/shared/CampaignListFooter'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { CampaignScopeBadge } from '@/components/campaign/shared/CampaignScopeBadge'
|
||||
import { MunicipalityEstimateScenarioProvider } from '@/components/campaign/municipality/MunicipalityEstimateScenarioContext'
|
||||
import { MunicipalityFilters } from '@/components/campaign/municipality/MunicipalityFilters'
|
||||
import { MunicipalityList } from '@/components/campaign/municipality/MunicipalityList'
|
||||
import { MunicipalityListOverview } from '@/components/campaign/municipality/MunicipalityListOverview'
|
||||
import { RecentVisitTracker } from '@/components/campaign/dashboard/RecentVisitTracker'
|
||||
import {
|
||||
isCampaignCoordinator,
|
||||
isCampaignLeader,
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import Link from 'next/link'
|
|||
import { notFound, redirect } from 'next/navigation'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { OrganizationForm } from '@/components/campaign/OrganizationForm'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { OrganizationForm } from '@/components/campaign/organization/OrganizationForm'
|
||||
import { Badge } from '@/components/ui/Badge'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { actionPlanStatusLabels, actionPlanStatuses } from '@/lib/schemas/actionPlan'
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import Link from 'next/link'
|
|||
import { redirect } from 'next/navigation'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { OrganizationForm } from '@/components/campaign/OrganizationForm'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { OrganizationForm } from '@/components/campaign/organization/OrganizationForm'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { isCampaignStaff } from '@/utilities/campaignAccess'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
|
|
|
|||
|
|
@ -4,19 +4,19 @@ import Link from 'next/link'
|
|||
import { redirect } from 'next/navigation'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import { CampaignListEmptyState } from '@/components/campaign/CampaignListEmptyState'
|
||||
import { CampaignListFooter } from '@/components/campaign/CampaignListFooter'
|
||||
import { CampaignListEmptyState } from '@/components/campaign/shared/CampaignListEmptyState'
|
||||
import { CampaignListFooter } from '@/components/campaign/shared/CampaignListFooter'
|
||||
import {
|
||||
CampaignListPendingBoundary,
|
||||
CampaignListResults,
|
||||
} from '@/components/campaign/CampaignListPending'
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { CampaignSearchForm } from '@/components/campaign/CampaignSearchForm'
|
||||
} from '@/components/campaign/shared/CampaignListPending'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { CampaignSearchForm } from '@/components/campaign/shared/CampaignSearchForm'
|
||||
import {
|
||||
CampaignTable,
|
||||
CampaignTableHead,
|
||||
type CampaignTableColumn,
|
||||
} from '@/components/campaign/CampaignTable'
|
||||
} from '@/components/campaign/shared/CampaignTable'
|
||||
import { Badge } from '@/components/ui/Badge'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { organizationKindLabels } from '@/lib/schemas/organization'
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@ import { redirect } from 'next/navigation'
|
|||
import { getPayload, type Payload } from 'payload'
|
||||
import { Suspense } from 'react'
|
||||
|
||||
import { CampaignDashboard } from '@/components/campaign/CampaignDashboard'
|
||||
import { LeaderContactsPanel } from '@/components/campaign/LeaderContactsPanel'
|
||||
import { MunicipalityEstimateScenarioProvider } from '@/components/campaign/MunicipalityEstimateScenarioContext'
|
||||
import { MunicipalityMapPanelDynamic } from '@/components/campaign/MunicipalityMapPanelDynamic'
|
||||
import { TerritoryOverviewTable } from '@/components/campaign/TerritoryOverviewTable'
|
||||
import { campaignPrioritySurfaceClassName } from '@/components/campaign/CampaignPageShell'
|
||||
import { CampaignDashboard } from '@/components/campaign/dashboard/CampaignDashboard'
|
||||
import { LeaderContactsPanel } from '@/components/campaign/leadership/LeaderContactsPanel'
|
||||
import { MunicipalityEstimateScenarioProvider } from '@/components/campaign/municipality/MunicipalityEstimateScenarioContext'
|
||||
import { MunicipalityMapPanelDynamic } from '@/components/campaign/map/MunicipalityMapPanelDynamic'
|
||||
import { TerritoryOverviewTable } from '@/components/campaign/municipality/TerritoryOverviewTable'
|
||||
import { campaignPrioritySurfaceClassName } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import type { CampaignUser } from '@/payload-types'
|
||||
import { isCampaignLeader, isCampaignStaff } from '@/utilities/campaignAccess'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type { Metadata } from 'next'
|
||||
import { redirect } from 'next/navigation'
|
||||
|
||||
import { CampaignProfileSettings } from '@/components/campaign/CampaignProfileSettings'
|
||||
import { CampaignProfileSettings } from '@/components/campaign/auth/CampaignProfileSettings'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
import { campaignUserShellView } from '@/utilities/campaignUserProfile'
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import {
|
|||
searchActionPlanLeadershipOptionsAction,
|
||||
} from '@/app/(campaign)/campanha/(app)/planos/contactSearchActions'
|
||||
import { updateActionPlanFormAction } from '@/app/(campaign)/campanha/(app)/planos/formActions'
|
||||
import { ActionPlanForm } from '@/components/campaign/ActionPlanForm'
|
||||
import { ActionPlanForm } from '@/components/campaign/actionPlan/ActionPlanForm'
|
||||
import { isCampaignStaff } from '@/utilities/campaignAccess'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
import {
|
||||
|
|
|
|||
|
|
@ -7,13 +7,13 @@ import { getPayload } from 'payload'
|
|||
import {
|
||||
CancelActionPlanDialog,
|
||||
MarkActionPlanRealizedDialog,
|
||||
} from '@/components/campaign/ActionPlanLifecycleDialog'
|
||||
import { ActionPlanResultForm } from '@/components/campaign/ActionPlanResultForm'
|
||||
import { ActionPlanStatusBadge } from '@/components/campaign/ActionPlanStatusBadge'
|
||||
import { ActionPlanTabNav } from '@/components/campaign/ActionPlanTabNav'
|
||||
import { ActionPlanTaskChecklist } from '@/components/campaign/ActionPlanTaskChecklist'
|
||||
import { ActionPlanUpdateFeed } from '@/components/campaign/ActionPlanUpdateFeed'
|
||||
import { ActionPlanUpdateForm } from '@/components/campaign/ActionPlanUpdateForm'
|
||||
} from '@/components/campaign/actionPlan/ActionPlanLifecycleDialog'
|
||||
import { ActionPlanResultForm } from '@/components/campaign/actionPlan/ActionPlanResultForm'
|
||||
import { ActionPlanStatusBadge } from '@/components/campaign/actionPlan/ActionPlanStatusBadge'
|
||||
import { ActionPlanTabNav } from '@/components/campaign/actionPlan/ActionPlanTabNav'
|
||||
import { ActionPlanTaskChecklist } from '@/components/campaign/actionPlan/ActionPlanTaskChecklist'
|
||||
import { ActionPlanUpdateFeed } from '@/components/campaign/actionPlan/ActionPlanUpdateFeed'
|
||||
import { ActionPlanUpdateForm } from '@/components/campaign/actionPlan/ActionPlanUpdateForm'
|
||||
import { Badge } from '@/components/ui/Badge'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
import config from '@payload-config'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import type { ContactComboboxOption } from '@/components/campaign/ContactCombobox'
|
||||
import type { ContactComboboxOption } from '@/components/campaign/shared/ContactCombobox'
|
||||
import {
|
||||
isContactSearchQueryReady,
|
||||
normalizeContactSearchQuery,
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import { getPayload } from 'payload'
|
|||
import { redirect } from 'next/navigation'
|
||||
|
||||
import { createActionPlan, updateActionPlan } from '@/app/(campaign)/campanha/actions/actionPlan'
|
||||
import type { ActionPlanFormState } from '@/components/campaign/ActionPlanForm'
|
||||
import type { ActionPlanFormState } from '@/components/campaign/actionPlan/ActionPlanForm'
|
||||
import { optionalFormText } from '@/lib/formData'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
import { mapCampaignFormActionError } from '@/utilities/campaignFormActionError'
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import {
|
|||
searchActionPlanLeadershipOptionsAction,
|
||||
} from '@/app/(campaign)/campanha/(app)/planos/contactSearchActions'
|
||||
import { createActionPlanFormAction } from '@/app/(campaign)/campanha/(app)/planos/formActions'
|
||||
import { ActionPlanForm } from '@/components/campaign/ActionPlanForm'
|
||||
import { ActionPlanForm } from '@/components/campaign/actionPlan/ActionPlanForm'
|
||||
import { isCampaignStaff } from '@/utilities/campaignAccess'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
import { loadOrganizationOptions, loadMunicipalityOptions } from '@/utilities/campaignRelationOptions'
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
import {
|
||||
CampaignListPendingBoundary,
|
||||
CampaignListResults,
|
||||
} from '@/components/campaign/CampaignListPending'
|
||||
} from '@/components/campaign/shared/CampaignListPending'
|
||||
import config from '@payload-config'
|
||||
import { PlusIcon, SearchXIcon } from 'lucide-react'
|
||||
import Link from 'next/link'
|
||||
import { redirect } from 'next/navigation'
|
||||
import { getPayload } from 'payload'
|
||||
|
||||
import { ActionPlanFilters } from '@/components/campaign/ActionPlanFilters'
|
||||
import { ActionPlanList } from '@/components/campaign/ActionPlanList'
|
||||
import { CampaignListEmptyState } from '@/components/campaign/CampaignListEmptyState'
|
||||
import { CampaignListFooter } from '@/components/campaign/CampaignListFooter'
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { ActionPlanFilters } from '@/components/campaign/actionPlan/ActionPlanFilters'
|
||||
import { ActionPlanList } from '@/components/campaign/actionPlan/ActionPlanList'
|
||||
import { CampaignListEmptyState } from '@/components/campaign/shared/CampaignListEmptyState'
|
||||
import { CampaignListFooter } from '@/components/campaign/shared/CampaignListFooter'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import type { ActionPlan } from '@/payload-types'
|
||||
import { loadActionPlanListPageData } from '@/utilities/actionPlanPageData'
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ import {
|
|||
redeemCampaignInviteAutofillFormAction,
|
||||
redeemCampaignInviteLoginFormAction,
|
||||
} from '@/app/(campaign)/campanha/convite/[token]/formActions'
|
||||
import { CampaignInviteForm } from '@/components/campaign/CampaignInviteForm'
|
||||
import { ConsentText } from '@/components/campaign/ConsentText'
|
||||
import { InvalidCampaignInvite } from '@/components/campaign/InvalidCampaignInvite'
|
||||
import { CampaignInviteForm } from '@/components/campaign/invite/CampaignInviteForm'
|
||||
import { ConsentText } from '@/components/campaign/shared/ConsentText'
|
||||
import { InvalidCampaignInvite } from '@/components/campaign/invite/InvalidCampaignInvite'
|
||||
import { getCampaignInvitePageData } from '@/utilities/campaignInvitePageData'
|
||||
|
||||
export const dynamic = 'force-dynamic'
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
import { useActionState } from 'react'
|
||||
|
||||
import { requestCampaignPasswordResetFormAction } from '@/app/(campaign)/campanha/actions/password'
|
||||
import { CampaignAuthBackToLoginLink } from '@/components/campaign/CampaignAuthBackToLoginLink'
|
||||
import { CampaignAuthCardHeader } from '@/components/campaign/CampaignAuthCardHeader'
|
||||
import { CampaignAuthBackToLoginLink } from '@/components/campaign/auth/CampaignAuthBackToLoginLink'
|
||||
import { CampaignAuthCardHeader } from '@/components/campaign/auth/CampaignAuthCardHeader'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Card, CardContent } from '@/components/ui/card'
|
||||
import { Field, FieldError, FieldGroup, FieldLabel } from '@/components/ui/field'
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import type { Metadata } from 'next'
|
|||
import { redirect } from 'next/navigation'
|
||||
|
||||
import { ForgotPasswordForm } from '@/app/(campaign)/campanha/esqueci-senha/ForgotPasswordForm'
|
||||
import { CampaignAuthPageShell } from '@/components/campaign/CampaignAuthPageShell'
|
||||
import { CampaignAuthPageShell } from '@/components/campaign/auth/CampaignAuthPageShell'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
|
||||
export const metadata: Metadata = {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import Link from 'next/link'
|
|||
import { useActionState, useState } from 'react'
|
||||
|
||||
import { loginCampaignFormAction, type LoginResult } from '@/app/(campaign)/campanha/actions/auth'
|
||||
import { CampaignAuthCardHeader } from '@/components/campaign/CampaignAuthCardHeader'
|
||||
import { CampaignAuthCardHeader } from '@/components/campaign/auth/CampaignAuthCardHeader'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Card, CardContent } from '@/components/ui/card'
|
||||
import { Field, FieldError, FieldGroup, FieldLabel } from '@/components/ui/field'
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type { Metadata } from 'next'
|
||||
import { redirect } from 'next/navigation'
|
||||
|
||||
import { CampaignAuthPageShell } from '@/components/campaign/CampaignAuthPageShell'
|
||||
import { CampaignAuthPageShell } from '@/components/campaign/auth/CampaignAuthPageShell'
|
||||
import { getCampaignUser } from '@/utilities/campaignAuth'
|
||||
import { LoginForm } from './LoginForm'
|
||||
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
import { useActionState } from 'react'
|
||||
|
||||
import { resetCampaignPasswordFormAction } from '@/app/(campaign)/campanha/actions/password'
|
||||
import { CampaignAuthBackToLoginLink } from '@/components/campaign/CampaignAuthBackToLoginLink'
|
||||
import { CampaignAuthCardHeader } from '@/components/campaign/CampaignAuthCardHeader'
|
||||
import { CampaignAuthBackToLoginLink } from '@/components/campaign/auth/CampaignAuthBackToLoginLink'
|
||||
import { CampaignAuthCardHeader } from '@/components/campaign/auth/CampaignAuthCardHeader'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Card, CardContent } from '@/components/ui/card'
|
||||
import { Field, FieldError, FieldGroup, FieldLabel } from '@/components/ui/field'
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ import Link from 'next/link'
|
|||
import { redirect } from 'next/navigation'
|
||||
|
||||
import { ResetPasswordForm } from '@/app/(campaign)/campanha/redefinir-senha/ResetPasswordForm'
|
||||
import { CampaignAuthCardHeader } from '@/components/campaign/CampaignAuthCardHeader'
|
||||
import { CampaignAuthPageShell } from '@/components/campaign/CampaignAuthPageShell'
|
||||
import { CampaignAuthCardHeader } from '@/components/campaign/auth/CampaignAuthCardHeader'
|
||||
import { CampaignAuthPageShell } from '@/components/campaign/auth/CampaignAuthPageShell'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Card, CardContent } from '@/components/ui/card'
|
||||
import { CAMPAIGN_PASSWORD_RESET_TOKEN_MIN_LENGTH } from '@/lib/schemas/campaignPassword'
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import type { Metadata, Viewport } from 'next'
|
|||
import { Inter } from 'next/font/google'
|
||||
import React from 'react'
|
||||
|
||||
import { RegisterServiceWorker } from '@/components/campaign/RegisterServiceWorker'
|
||||
import { RegisterServiceWorker } from '@/components/campaign/shell/RegisterServiceWorker'
|
||||
import { CAMPAIGN_PWA_MANIFEST_PATH, CAMPAIGN_PWA_THEME_COLOR } from '@/utilities/campaignPwa'
|
||||
|
||||
import '../(frontend)/styles.css'
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import Link from 'next/link'
|
||||
import { CalendarIcon, MapPinIcon, UserIcon } from 'lucide-react'
|
||||
|
||||
import { ActionPlanStatusBadge } from '@/components/campaign/ActionPlanStatusBadge'
|
||||
import { ActionPlanStatusBadge } from '@/components/campaign/actionPlan/ActionPlanStatusBadge'
|
||||
import { Badge } from '@/components/ui/Badge'
|
||||
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'
|
||||
import { actionPlanKindLabels } from '@/lib/schemas/actionPlan'
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
'use client'
|
||||
|
||||
import { useCampaignListPending } from '@/components/campaign/CampaignListPending'
|
||||
import { useCampaignListPending } from '@/components/campaign/shared/CampaignListPending'
|
||||
import { useRef, useState, useTransition } from 'react'
|
||||
import Link from 'next/link'
|
||||
import { usePathname, useRouter } from 'next/navigation'
|
||||
import { ChevronDownIcon, FilterIcon, XIcon } from 'lucide-react'
|
||||
|
||||
import type { RelationOption } from '@/components/campaign/RelationMultiSelect'
|
||||
import type { RelationOption } from '@/components/campaign/shared/RelationMultiSelect'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Field, FieldLabel } from '@/components/ui/field'
|
||||
import { NativeSelect, NativeSelectOption } from '@/components/ui/native-select'
|
||||
|
|
@ -3,11 +3,11 @@
|
|||
import { useActionState, useState } from 'react'
|
||||
import Link from 'next/link'
|
||||
|
||||
import { AsyncSearchCombobox } from '@/components/campaign/AsyncSearchCombobox'
|
||||
import { ActionPlanDemandFields } from '@/components/campaign/ActionPlanDemandFields'
|
||||
import { ContactCombobox, type ContactComboboxOption } from '@/components/campaign/ContactCombobox'
|
||||
import { ActionPlanTaskFields } from '@/components/campaign/ActionPlanTaskFields'
|
||||
import { RelationMultiSelect, type RelationOption } from '@/components/campaign/RelationMultiSelect'
|
||||
import { AsyncSearchCombobox } from '@/components/campaign/shared/AsyncSearchCombobox'
|
||||
import { ActionPlanDemandFields } from '@/components/campaign/actionPlan/ActionPlanDemandFields'
|
||||
import { ContactCombobox, type ContactComboboxOption } from '@/components/campaign/shared/ContactCombobox'
|
||||
import { ActionPlanTaskFields } from '@/components/campaign/actionPlan/ActionPlanTaskFields'
|
||||
import { RelationMultiSelect, type RelationOption } from '@/components/campaign/shared/RelationMultiSelect'
|
||||
import { Alert, AlertDescription, AlertTitle } from '@/components/ui/Alert'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
import { ActionPlanCard } from '@/components/campaign/ActionPlanCard'
|
||||
import { ActionPlanCard } from '@/components/campaign/actionPlan/ActionPlanCard'
|
||||
import type { ActionPlanListViewModel } from '@/utilities/actionPlanViewModels'
|
||||
|
||||
export const ActionPlanList = ({ plans }: { plans: ActionPlanListViewModel[] }) => (
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
import { useId, useState } from 'react'
|
||||
import { PlusIcon, Trash2Icon } from 'lucide-react'
|
||||
|
||||
import { ContactCombobox, type ContactComboboxOption } from '@/components/campaign/ContactCombobox'
|
||||
import { ContactCombobox, type ContactComboboxOption } from '@/components/campaign/shared/ContactCombobox'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Field, FieldError, FieldLabel } from '@/components/ui/field'
|
||||
import { Input } from '@/components/ui/input'
|
||||
|
|
@ -14,10 +14,10 @@ import { useRouter } from 'next/navigation'
|
|||
import { useState, useTransition } from 'react'
|
||||
import { toast } from 'sonner'
|
||||
|
||||
import { AdvisorDebouncedTextCell } from '@/components/campaign/AdvisorDebouncedTextCell'
|
||||
import { AdvisorMunicipalityCell } from '@/components/campaign/AdvisorMunicipalityCell'
|
||||
import { AdvisorPasswordResetButton } from '@/components/campaign/AdvisorPasswordResetButton'
|
||||
import { CampaignListEmptyState } from '@/components/campaign/CampaignListEmptyState'
|
||||
import { AdvisorDebouncedTextCell } from '@/components/campaign/advisor/AdvisorDebouncedTextCell'
|
||||
import { AdvisorMunicipalityCell } from '@/components/campaign/advisor/AdvisorMunicipalityCell'
|
||||
import { AdvisorPasswordResetButton } from '@/components/campaign/advisor/AdvisorPasswordResetButton'
|
||||
import { CampaignListEmptyState } from '@/components/campaign/shared/CampaignListEmptyState'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Input } from '@/components/ui/input'
|
||||
import { Spinner } from '@/components/ui/Spinner'
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
import type { ComponentProps, ReactNode } from 'react'
|
||||
|
||||
import { CampaignLogo } from '@/components/campaign/campaign-logo'
|
||||
import { CampaignLogo } from '@/components/campaign/shell/campaign-logo'
|
||||
import { cn } from '@/lib/utils'
|
||||
|
||||
type CampaignAuthPageShellProps = {
|
||||
|
|
@ -7,7 +7,7 @@ import {
|
|||
removeCampaignAvatarFormAction,
|
||||
updateCampaignAvatarFormAction,
|
||||
} from '@/app/(campaign)/campanha/actions/profile'
|
||||
import { CampaignUserAvatar } from '@/components/campaign/CampaignUserAvatar'
|
||||
import { CampaignUserAvatar } from '@/components/campaign/shared/CampaignUserAvatar'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'
|
||||
import { Field, FieldError, FieldGroup, FieldLabel } from '@/components/ui/field'
|
||||
|
|
@ -3,12 +3,12 @@ import Link from 'next/link'
|
|||
|
||||
import type { ReactNode } from 'react'
|
||||
|
||||
import { CampaignMetricStrip } from '@/components/campaign/CampaignMetricStrip'
|
||||
import { CampaignMetricStrip } from '@/components/campaign/shared/CampaignMetricStrip'
|
||||
import {
|
||||
CampaignPageShell,
|
||||
campaignPrioritySurfaceClassName,
|
||||
} from '@/components/campaign/CampaignPageShell'
|
||||
import { RecentlyVisitedCard } from '@/components/campaign/RecentlyVisitedCard'
|
||||
} from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { RecentlyVisitedCard } from '@/components/campaign/dashboard/RecentlyVisitedCard'
|
||||
import { Badge } from '@/components/ui/Badge'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { formatElectionNumber } from '@/lib/electionInsights'
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
import { useActionState, useState } from 'react'
|
||||
|
||||
import type { RelationOption } from '@/components/campaign/RelationMultiSelect'
|
||||
import type { RelationOption } from '@/components/campaign/shared/RelationMultiSelect'
|
||||
import { Alert, AlertDescription } from '@/components/ui/Alert'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Field, FieldDescription, FieldError, FieldLabel } from '@/components/ui/field'
|
||||
|
|
@ -8,8 +8,8 @@ import {
|
|||
createLeaderSupporterFormAction,
|
||||
type LeaderSupporterFormState,
|
||||
} from '@/app/(campaign)/campanha/actions/leaderSupporter'
|
||||
import type { RelationOption } from '@/components/campaign/RelationMultiSelect'
|
||||
import { StrictCombobox } from '@/components/campaign/StrictCombobox'
|
||||
import type { RelationOption } from '@/components/campaign/shared/RelationMultiSelect'
|
||||
import { StrictCombobox } from '@/components/campaign/shared/StrictCombobox'
|
||||
import { FormattedInput } from '@/components/FormattedInput'
|
||||
import { Alert, AlertDescription, AlertTitle } from '@/components/ui/Alert'
|
||||
import { Button } from '@/components/ui/button'
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
import { PhoneIcon } from 'lucide-react'
|
||||
|
||||
import { CampaignPageShell } from '@/components/campaign/CampaignPageShell'
|
||||
import { LeaderContactForm } from '@/components/campaign/LeaderContactForm'
|
||||
import type { RelationOption } from '@/components/campaign/RelationMultiSelect'
|
||||
import { CampaignPageShell } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { LeaderContactForm } from '@/components/campaign/leadership/LeaderContactForm'
|
||||
import type { RelationOption } from '@/components/campaign/shared/RelationMultiSelect'
|
||||
import {
|
||||
Table,
|
||||
TableBody,
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
import { useActionState } from 'react'
|
||||
|
||||
import { RelationMultiSelect, type RelationOption } from '@/components/campaign/RelationMultiSelect'
|
||||
import { RelationMultiSelect, type RelationOption } from '@/components/campaign/shared/RelationMultiSelect'
|
||||
import { Alert, AlertDescription } from '@/components/ui/Alert'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Field, FieldError, FieldLabel } from '@/components/ui/field'
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
import { useActionState } from 'react'
|
||||
|
||||
import { RelationMultiSelect, type RelationOption } from '@/components/campaign/RelationMultiSelect'
|
||||
import { RelationMultiSelect, type RelationOption } from '@/components/campaign/shared/RelationMultiSelect'
|
||||
import { Alert, AlertDescription } from '@/components/ui/Alert'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Field, FieldLabel } from '@/components/ui/field'
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
import Link from 'next/link'
|
||||
|
||||
import type { BahiaMapFeatureInfo } from '@/components/campaign/BahiaMap'
|
||||
import type { BahiaMapFeatureInfo } from '@/components/campaign/map/BahiaMap'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { formatElectionNumber } from '@/lib/electionInsights'
|
||||
import type { MunicipalityMapNavigation } from '@/utilities/municipalityMapNavigation'
|
||||
|
|
@ -4,14 +4,14 @@ import Link from 'next/link'
|
|||
import { usePathname, useRouter, useSearchParams } from 'next/navigation'
|
||||
import { useCallback, useMemo, useRef, useState, useTransition } from 'react'
|
||||
|
||||
import { BahiaMap, type BahiaMapFeatureInfo } from '@/components/campaign/BahiaMap'
|
||||
import { ChoroplethLegend } from '@/components/campaign/ChoroplethLegend'
|
||||
import { MapFeatureReadout } from '@/components/campaign/MapFeatureReadout'
|
||||
import { useMunicipalityEstimateScenarioOptional } from '@/components/campaign/MunicipalityEstimateScenarioContext'
|
||||
import { BahiaMap, type BahiaMapFeatureInfo } from '@/components/campaign/map/BahiaMap'
|
||||
import { ChoroplethLegend } from '@/components/campaign/map/ChoroplethLegend'
|
||||
import { MapFeatureReadout } from '@/components/campaign/map/MapFeatureReadout'
|
||||
import { useMunicipalityEstimateScenarioOptional } from '@/components/campaign/municipality/MunicipalityEstimateScenarioContext'
|
||||
import {
|
||||
VOTE_ESTIMATE_SCENARIO_MAP_HINT,
|
||||
VoteEstimateScenarioField,
|
||||
} from '@/components/campaign/VoteEstimateScenarioField'
|
||||
} from '@/components/campaign/votePledge/VoteEstimateScenarioField'
|
||||
import { Field, FieldLabel } from '@/components/ui/field'
|
||||
import { NativeSelect, NativeSelectOption } from '@/components/ui/native-select'
|
||||
import { computeChoroplethMax } from '@/lib/bahiaMapStyle'
|
||||
|
|
@ -6,7 +6,7 @@ import type { FederalCandidateOption } from '@/utilities/electionCandidateOption
|
|||
import type { MunicipalityMapBundle } from '@/utilities/municipalityMapContract'
|
||||
|
||||
const MunicipalityMapPanelLazy = dynamic(
|
||||
() => import('@/components/campaign/MunicipalityMapPanel').then((module) => module.MunicipalityMapPanel),
|
||||
() => import('@/components/campaign/map/MunicipalityMapPanel').then((module) => module.MunicipalityMapPanel),
|
||||
{
|
||||
ssr: false,
|
||||
loading: () => (
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
import { MunicipalityHoverTooltip } from '@/components/campaign/MunicipalityHoverTooltip'
|
||||
import { MunicipalityHoverTooltip } from '@/components/campaign/municipality/MunicipalityHoverTooltip'
|
||||
import { computeVoteTrend, formatElectionNumber } from '@/lib/electionInsights'
|
||||
import {
|
||||
DEFAULT_VOTE_RANK_YEAR,
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
import Link from 'next/link'
|
||||
|
||||
import { ActionPlanStatusBadge } from '@/components/campaign/ActionPlanStatusBadge'
|
||||
import { MunicipalityBaselineCard } from '@/components/campaign/MunicipalityBaselineCard'
|
||||
import { MunicipalityStrategyCard } from '@/components/campaign/MunicipalityStrategyCard'
|
||||
import { MunicipalityUpdateFeed } from '@/components/campaign/MunicipalityUpdateFeed'
|
||||
import { SupportStatusBadge } from '@/components/campaign/SupportStatusBadge'
|
||||
import { ActionPlanStatusBadge } from '@/components/campaign/actionPlan/ActionPlanStatusBadge'
|
||||
import { MunicipalityBaselineCard } from '@/components/campaign/municipality/MunicipalityBaselineCard'
|
||||
import { MunicipalityStrategyCard } from '@/components/campaign/municipality/MunicipalityStrategyCard'
|
||||
import { MunicipalityUpdateFeed } from '@/components/campaign/municipality/MunicipalityUpdateFeed'
|
||||
import { SupportStatusBadge } from '@/components/campaign/leadership/SupportStatusBadge'
|
||||
import { Badge } from '@/components/ui/Badge'
|
||||
import type { MunicipalityAgeBandKey } from '@/lib/bahiaMunicipalityDemographics'
|
||||
import { formatElectionNumber } from '@/lib/electionInsights'
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
'use client'
|
||||
|
||||
import { useCampaignListPending } from '@/components/campaign/CampaignListPending'
|
||||
import { useCampaignListPending } from '@/components/campaign/shared/CampaignListPending'
|
||||
import { useRouter } from 'next/navigation'
|
||||
import { useEffect, useRef, useState, useTransition } from 'react'
|
||||
|
||||
import { CampaignSearchInput } from '@/components/campaign/CampaignSearchInput'
|
||||
import { CampaignSearchInput } from '@/components/campaign/shared/CampaignSearchInput'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Field, FieldLabel } from '@/components/ui/field'
|
||||
import { NativeSelect, NativeSelectOption } from '@/components/ui/native-select'
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
import Link from 'next/link'
|
||||
import type { ReactNode } from 'react'
|
||||
|
||||
import { CampaignInfoHint } from '@/components/campaign/CampaignInfoHint'
|
||||
import { MunicipalityHoverTooltip } from '@/components/campaign/MunicipalityHoverTooltip'
|
||||
import { MunicipalityListExpectedVotesControl } from '@/components/campaign/MunicipalityListExpectedVotesControl'
|
||||
import { CampaignInfoHint } from '@/components/campaign/shared/CampaignInfoHint'
|
||||
import { MunicipalityHoverTooltip } from '@/components/campaign/municipality/MunicipalityHoverTooltip'
|
||||
import { MunicipalityListExpectedVotesControl } from '@/components/campaign/municipality/MunicipalityListExpectedVotesControl'
|
||||
import { Progress } from '@/components/ui/Progress'
|
||||
import {
|
||||
CAMPAIGN_CONCEPTS_PATH,
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
import { FunnelIcon, FunnelPlusIcon } from 'lucide-react'
|
||||
import { useMemo, useOptimistic, useState, type ReactNode } from 'react'
|
||||
|
||||
import { CampaignTransitionAnchor } from '@/components/campaign/CampaignListPending'
|
||||
import { CampaignTransitionAnchor } from '@/components/campaign/shared/CampaignListPending'
|
||||
import { Checkbox } from '@/components/ui/Checkbox'
|
||||
import { Input } from '@/components/ui/input'
|
||||
import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/Popover'
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
import { PlusIcon } from 'lucide-react'
|
||||
import Link from 'next/link'
|
||||
|
||||
import { DeclareVotesForm } from '@/components/campaign/DeclareVotesForm'
|
||||
import { SupportStatusBadge } from '@/components/campaign/SupportStatusBadge'
|
||||
import { DeclareVotesForm } from '@/components/campaign/votePledge/DeclareVotesForm'
|
||||
import { SupportStatusBadge } from '@/components/campaign/leadership/SupportStatusBadge'
|
||||
import { Badge } from '@/components/ui/Badge'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import type { CampaignFormActionState } from '@/utilities/campaignFormActionError'
|
||||
|
|
@ -1,17 +1,17 @@
|
|||
import { CircleAlertIcon, SearchXIcon } from 'lucide-react'
|
||||
import Link from 'next/link'
|
||||
|
||||
import { CampaignTransitionAnchor } from '@/components/campaign/CampaignListPending'
|
||||
import { CampaignTable, type CampaignTableColumn } from '@/components/campaign/CampaignTable'
|
||||
import { CampaignTransitionAnchor } from '@/components/campaign/shared/CampaignListPending'
|
||||
import { CampaignTable, type CampaignTableColumn } from '@/components/campaign/shared/CampaignTable'
|
||||
import {
|
||||
MissingAdvisorBadge,
|
||||
MunicipalityAdvisorAvatarStack,
|
||||
} from '@/components/campaign/MunicipalityAdvisorAvatarStack'
|
||||
import { MunicipalityListAdvisorsControl } from '@/components/campaign/MunicipalityListAdvisorsControl'
|
||||
import { MunicipalityListExpectedVotesControl } from '@/components/campaign/MunicipalityListExpectedVotesControl'
|
||||
import { MunicipalityListGoalCoverageCell } from '@/components/campaign/MunicipalityListGoalCoverageCell'
|
||||
import { MunicipalityListTrendControl } from '@/components/campaign/MunicipalityListTrendControl'
|
||||
import { MunicipalitySortableHead } from '@/components/campaign/MunicipalitySortableHead'
|
||||
} from '@/components/campaign/municipality/MunicipalityAdvisorAvatarStack'
|
||||
import { MunicipalityListAdvisorsControl } from '@/components/campaign/municipality/MunicipalityListAdvisorsControl'
|
||||
import { MunicipalityListExpectedVotesControl } from '@/components/campaign/municipality/MunicipalityListExpectedVotesControl'
|
||||
import { MunicipalityListGoalCoverageCell } from '@/components/campaign/municipality/MunicipalityListGoalCoverageCell'
|
||||
import { MunicipalityListTrendControl } from '@/components/campaign/municipality/MunicipalityListTrendControl'
|
||||
import { MunicipalitySortableHead } from '@/components/campaign/municipality/MunicipalitySortableHead'
|
||||
import { Badge } from '@/components/ui/Badge'
|
||||
import { Button, buttonVariants } from '@/components/ui/button'
|
||||
import {
|
||||
|
|
@ -9,7 +9,7 @@ import { Checkbox } from '@/components/ui/Checkbox'
|
|||
import { Label } from '@/components/ui/label'
|
||||
import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/Popover'
|
||||
import { Spinner } from '@/components/ui/Spinner'
|
||||
import { MunicipalityAdvisorAvatarStack } from '@/components/campaign/MunicipalityAdvisorAvatarStack'
|
||||
import { MunicipalityAdvisorAvatarStack } from '@/components/campaign/municipality/MunicipalityAdvisorAvatarStack'
|
||||
import type { CampaignFormActionState } from '@/utilities/campaignFormActionError'
|
||||
import type { EligibleAdvisorOption, MunicipalityAdvisorSummary } from '@/utilities/municipalityViewModels'
|
||||
|
||||
|
|
@ -3,9 +3,9 @@
|
|||
import { useEffect, useRef, useState } from 'react'
|
||||
|
||||
import type { MunicipalityListExpectedVotesResponse } from '@/app/(campaign)/campanha/(app)/municipios/expected-votes/types'
|
||||
import { useMunicipalityEstimateScenarioOptional } from '@/components/campaign/MunicipalityEstimateScenarioContext'
|
||||
import { StaffMunicipalityVotesDisplay } from '@/components/campaign/StaffMunicipalityVotesDisplay'
|
||||
import { VoteEstimateScenarioInputs } from '@/components/campaign/VoteEstimateScenarioInputs'
|
||||
import { useMunicipalityEstimateScenarioOptional } from '@/components/campaign/municipality/MunicipalityEstimateScenarioContext'
|
||||
import { StaffMunicipalityVotesDisplay } from '@/components/campaign/votePledge/StaffMunicipalityVotesDisplay'
|
||||
import { VoteEstimateScenarioInputs } from '@/components/campaign/votePledge/VoteEstimateScenarioInputs'
|
||||
import { Alert, AlertDescription } from '@/components/ui/Alert'
|
||||
import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/Popover'
|
||||
import { Spinner } from '@/components/ui/Spinner'
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
'use client'
|
||||
|
||||
import { useMunicipalityEstimateScenarioOptional } from '@/components/campaign/MunicipalityEstimateScenarioContext'
|
||||
import { useMunicipalityEstimateScenarioOptional } from '@/components/campaign/municipality/MunicipalityEstimateScenarioContext'
|
||||
import {
|
||||
formatGoalCoverageDeficitLabel,
|
||||
formatGoalCoverageDeficitShortLabel,
|
||||
|
|
@ -3,15 +3,15 @@
|
|||
import { CircleAlertIcon } from 'lucide-react'
|
||||
import { useEffect, useRef, useState } from 'react'
|
||||
|
||||
import { CampaignTransitionAnchor } from '@/components/campaign/CampaignListPending'
|
||||
import { CampaignMetricStrip } from '@/components/campaign/CampaignMetricStrip'
|
||||
import { campaignPrioritySurfaceClassName } from '@/components/campaign/CampaignPageShell'
|
||||
import { useMunicipalityEstimateScenario } from '@/components/campaign/MunicipalityEstimateScenarioContext'
|
||||
import { CampaignTransitionAnchor } from '@/components/campaign/shared/CampaignListPending'
|
||||
import { CampaignMetricStrip } from '@/components/campaign/shared/CampaignMetricStrip'
|
||||
import { campaignPrioritySurfaceClassName } from '@/components/campaign/shell/CampaignPageShell'
|
||||
import { useMunicipalityEstimateScenario } from '@/components/campaign/municipality/MunicipalityEstimateScenarioContext'
|
||||
import {
|
||||
VOTE_ESTIMATE_SCENARIO_OVERVIEW_HINT,
|
||||
VoteEstimateScenarioField,
|
||||
} from '@/components/campaign/VoteEstimateScenarioField'
|
||||
import { VoteEstimateScenarioStrip } from '@/components/campaign/VoteEstimateScenarioStrip'
|
||||
} from '@/components/campaign/votePledge/VoteEstimateScenarioField'
|
||||
import { VoteEstimateScenarioStrip } from '@/components/campaign/votePledge/VoteEstimateScenarioStrip'
|
||||
import { formatElectionNumber } from '@/lib/electionInsights'
|
||||
import { cn } from '@/lib/utils'
|
||||
import {
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue