Propagate return path from quick actions through the B98 wizard chain so dismiss, skip, and chain end navigate back to the originating page instead of always redirecting to Início. Co-authored-by: Francisco Solla <fsolla@users.noreply.github.com>
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import type { CampaignWizardActionId } from '@/lib/campaignActionRoutes'
|
|
import { WIZARD_CHAIN_SKIP_LABEL } from '@/lib/campaignWizardCopy'
|
|
import { resolveWizardChainEntry, wizardChainContinueHref } from '@/lib/wizardActionChain'
|
|
|
|
export const WIZARD_SIGNAL_TYPE_STEP_TITLE = 'Que tipo de sinal?' as const
|
|
|
|
export const WIZARD_SIGNAL_BODY_STEP_TITLE_PREFIX = 'Detalhar sinal' as const
|
|
|
|
export const WIZARD_SIGNAL_SAVE_LABEL = 'Salvar' as const
|
|
|
|
export const WIZARD_SIGNAL_SAVED_MESSAGE = 'Sinal registrado.' as const
|
|
|
|
export type WizardSignalSkipAction = {
|
|
label: string
|
|
href: string
|
|
}
|
|
|
|
export const shouldShowWizardSignalSkip = (
|
|
entryAction: CampaignWizardActionId | undefined,
|
|
): boolean => entryAction != null && entryAction !== 'register-signal'
|
|
|
|
export const resolveWizardSignalSkip = (
|
|
entryAction: CampaignWizardActionId | undefined,
|
|
municipalitySlug: string,
|
|
returnPath?: string,
|
|
): WizardSignalSkipAction | undefined =>
|
|
shouldShowWizardSignalSkip(entryAction)
|
|
? {
|
|
label: WIZARD_CHAIN_SKIP_LABEL,
|
|
href: wizardChainContinueHref(
|
|
resolveWizardChainEntry(entryAction, 'register-signal'),
|
|
'register-signal',
|
|
municipalitySlug,
|
|
returnPath,
|
|
),
|
|
}
|
|
: undefined
|