Skip to content

Commit 44d6f69

Browse files
feat: add new campaign redirect routes to events & sports apps
Clarify the redirect route usage in events app by moving non-campaign redirect routes to redirectNonCampaignRoutes.config.js and creating redirectCampaignRoutes.config.js for the campaign redirect routes. Also fix linting in events & sports apps by removing unused loading variables. refs TH-1369
1 parent 4ae3659 commit 44d6f69

6 files changed

Lines changed: 57 additions & 25 deletions

File tree

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,38 @@
11
const packageJson = require('./package.json');
22
const i18nRoutes = require('./i18nRoutes.config');
3-
const redirectRoutes = require('./redirectRoutes.config');
3+
const redirectCampaignRoutes = require('./redirectCampaignRoutes.config');
4+
const redirectNonCampaignRoutes = require('./redirectNonCampaignRoutes.config');
45
const { i18n } = require('./next-i18next.config');
56
const nextBaseConfig = require('../../next.base.config');
67

8+
const campaignRedirects = Object.entries(redirectCampaignRoutes).flatMap(
9+
([source, destination]) => [
10+
{
11+
// Not setting `locale: false` here because that didn't work for some reason.
12+
// When locale is left undefined middleware.ts's prefixDefaultLocale function
13+
// lets these redirect routes through without prefixing them with locale.
14+
source,
15+
destination,
16+
permanent: false,
17+
},
18+
]
19+
);
20+
21+
const nonCampaignRedirects = Object.entries(redirectNonCampaignRoutes).flatMap(
22+
([destination, sources]) =>
23+
sources.map(({ source, locale }) => ({
24+
destination,
25+
source: `/${locale}${source}`,
26+
locale: false,
27+
permanent: false,
28+
}))
29+
);
30+
731
module.exports = nextBaseConfig({
832
packageJson,
933
i18nRoutes,
1034
i18n,
1135
async redirects() {
12-
return Object.entries(redirectRoutes).flatMap(([destination, sources]) =>
13-
sources.map(({ source, locale }) => ({
14-
destination,
15-
source: `/${locale}${source}`,
16-
locale: false,
17-
permanent: false,
18-
}))
19-
);
36+
return [...campaignRedirects, ...nonCampaignRedirects];
2037
},
2138
});
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Ignore prettier in order to preserve readability of the routes:
2+
// prettier-ignore
3+
const redirectCampaignRoutes = {
4+
// Finnish locale versions
5+
'/maaginen': '/fi/articles/yleinen/maaginen-viikko-helsingin-kirjastoissa',
6+
7+
// Swedish locale versions
8+
// None yet
9+
10+
// English locale versions
11+
// None yet
12+
};
13+
14+
module.exports = redirectCampaignRoutes;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const redirectRoutes = {
1+
const redirectNonCampaignRoutes = {
22
'/fi': [{ source: '/home', locale: 'fi' }],
33
'/sv': [{ source: '/home', locale: 'sv' }],
44
'/en': [{ source: '/home', locale: 'en' }],
@@ -7,4 +7,4 @@ const redirectRoutes = {
77
'/en/search': [{ source: '/events', locale: 'en' }],
88
};
99

10-
module.exports = redirectRoutes;
10+
module.exports = redirectNonCampaignRoutes;

apps/events-helsinki/src/pages/articles/[...slug].tsx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,12 @@ const NextCmsArticle: NextPage<{
7575

7676
const { footerMenu } = useContext(NavigationContext);
7777

78-
const { data: categoriesData, loading: loadingCategories } =
79-
useCategoriesQuery({
80-
variables: {
81-
first: CATEGORIES_AMOUNT,
82-
language: getLanguageCodeFilter(currentLanguageCode),
83-
},
84-
});
78+
const { data: categoriesData } = useCategoriesQuery({
79+
variables: {
80+
first: CATEGORIES_AMOUNT,
81+
language: getLanguageCodeFilter(currentLanguageCode),
82+
},
83+
});
8584

8685
const categories = categoriesData?.categories?.nodes ?? [];
8786

apps/sports-helsinki/redirectCampaignRoutes.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ const redirectRoutes = {
3232
'/liikuntatilavaraukset': '/fi/pages/liikuntatilojen-varaaminen',
3333
'/maksut': '/fi/pages/maksut-ja-hinnasto',
3434
'/vertaisohjatut': '/fi/pages/ohjattu-liikunta/vertaisohjatut-liikuntaryhmat',
35+
'/arkipäivätuote': '/fi/articles/yleinen/uusi-arkipaivatuote-helsingin-liikuntapalveluiden-valikoimaan',
3536
// Swedish locale versions
3637
'/biblioteks-motion': '/sv/articles/aldre/gor-motion-till-en-rutin-i-ditt-liv-delta-i-biblioteksmotionen-for-aldre-manniskor',
3738
'/barn-och-familjer': '/sv/sidor/malgrupper/barn-och-familjer',
@@ -59,6 +60,7 @@ const redirectRoutes = {
5960
'/idrottslek-for-familjer': '/sv/pages/malgrupper/barn-och-familjer/perhehulinat-idrottslek-for-familjer-pa-egen-hand',
6061
'/bokning-av-idrottsutrymmen': '/sv/pages/bokning-av-idrottsutrymmen',
6162
'/priser': '/sv/pages/priser',
63+
'/vardagsprodukt': '/sv/articles/vuxna/ny-vardagsprodukt-i-helsingfors-idrottstjansters-utbud',
6264
// English locale versions
6365
'/library-exercise': '/en/articles/seniors/make-exercise-a-routine-for-yourself-join-the-library-exercise-for-seniors',
6466
'/children-and-families': '/en/pages/target-groups/children-and-families',
@@ -86,6 +88,7 @@ const redirectRoutes = {
8688
'/family-sports-sessions': '/en/pages/target-groups/children-and-families/perhehulinat-family-sports-sessions-self-guided',
8789
'/reservation-of-sports-facilities': '/en/pages/reservation-of-sports-facilities',
8890
'/pricing': '/en/pages/pricing',
91+
'/weekdayproduct': '/en/articles/adults/helsinki-sports-services-launching-new-weekday-product',
8992
};
9093

9194
module.exports = redirectRoutes;

apps/sports-helsinki/src/pages/articles/[...slug].tsx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,12 @@ const NextCmsArticle: NextPage<{
7474
const { resilientT } = useResilientTranslation();
7575
const { footerMenu } = useContext(NavigationContext);
7676

77-
const { data: categoriesData, loading: loadingCategories } =
78-
useCategoriesQuery({
79-
variables: {
80-
first: CATEGORIES_AMOUNT,
81-
language: getLanguageCodeFilter(currentLanguageCode),
82-
},
83-
});
77+
const { data: categoriesData } = useCategoriesQuery({
78+
variables: {
79+
first: CATEGORIES_AMOUNT,
80+
language: getLanguageCodeFilter(currentLanguageCode),
81+
},
82+
});
8483

8584
const categories = categoriesData?.categories?.nodes ?? [];
8685

0 commit comments

Comments
 (0)