Skip to content

Commit e89e557

Browse files
committed
make campaign an enumeration of strings
1 parent 910e0db commit e89e557

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-4
lines changed

src/app/helpers/link.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ function logoutLink() {
5050
return loginOrOutLink('logout');
5151
}
5252

53-
function setUtmCampaign(url: string, campaign: string) {
53+
export type UtmCampaign = 'book-details' | 'subjects-dropdown';
54+
55+
function setUtmCampaign(url: string, campaign: UtmCampaign) {
5456
try {
5557
const parsed = new URL(url);
5658

src/app/pages/details/common/get-this-title-files/options.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {faCloudDownloadAlt} from '@fortawesome/free-solid-svg-icons/faCloudDownl
99
import {faVolumeUp} from '@fortawesome/free-solid-svg-icons/faVolumeUp';
1010
import {faAmazon} from '@fortawesome/free-brands-svg-icons/faAmazon';
1111
import $ from '~/helpers/$';
12+
import {type UtmCampaign} from '~/helpers/link';
1213
import {treatSpaceOrEnterAsClick} from '~/helpers/events';
1314
import {useIntl, FormattedMessage} from 'react-intl';
1415
import OrderPrintCopy from './order-print-copy/order-print-copy';
@@ -197,7 +198,7 @@ export function PdfOption({model}: {model: Model}) {
197198
) : null;
198199
}
199200

200-
export function usePrintCopyDialog(campaign: string) {
201+
export function usePrintCopyDialog(campaign: UtmCampaign) {
201202
const [Dialog, open] = useDialog();
202203
const PCDialog = React.useCallback(
203204
({text, slug}: {text: string; slug: string}) => (

src/app/pages/details/common/get-this-title-files/order-print-copy/order-print-copy.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {faUsers} from '@fortawesome/free-solid-svg-icons/faUsers';
55
import {useIntl} from 'react-intl';
66
import './order-print-copy.scss';
77
import cmsFetch from '~/helpers/cms-fetch';
8-
import linkHelper from '~/helpers/link';
8+
import linkHelper, {type UtmCampaign} from '~/helpers/link';
99

1010
type Content = {
1111
headerText: string;
@@ -94,7 +94,7 @@ function useBookstoreContentLink(slug: string) {
9494
return url;
9595
}
9696

97-
export default function OrderPrintCopy({slug, campaign}: {slug: string; campaign: string}) {
97+
export default function OrderPrintCopy({slug, campaign}: {slug: string; campaign: UtmCampaign}) {
9898
const {formatMessage} = useIntl();
9999
const bookstoreLink = useBookstoreContentLink(slug);
100100
const contentArray = React.useMemo(() => {

0 commit comments

Comments
 (0)