fix(route): Firefox release notes (#14331)

This commit is contained in:
Ethan Shen 2024-01-28 00:23:48 +08:00 committed by GitHub
parent fc42bebb47
commit 0f6240e2d9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 14 additions and 8 deletions

View File

@ -1,18 +1,24 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
const { parseDate } = require('@/utils/parse-date');
const platformSlugs = {
desktop: 'releasenotes',
beta: 'beta/notes',
nightly: 'nightly/notes',
android: 'android/releasenotes',
ios: 'ios/notes',
};
module.exports = async (ctx) => {
const { platform } = ctx.params;
let devicePlatform = platform.replace('-', '/');
if (devicePlatform === 'desktop') {
devicePlatform = '';
}
const { platform = 'desktop' } = ctx.params;
const devicePlatform = platform.replace('-', '/');
const link = ['https://www.mozilla.org/en-US/firefox', devicePlatform, 'releasenotes/'].filter(Boolean).join('/');
const link = ['https://www.mozilla.org/en-US/firefox', Object.hasOwn(platformSlugs, devicePlatform) ? platformSlugs[devicePlatform] : devicePlatform].filter(Boolean).join('/');
const response = await got.get(link);
const $ = cheerio.load(response.data);
const version = $('.c-release-version').text();
const pubDate = new Date($('.c-release-date').text()).toUTCString();
const pubDate = parseDate($('.c-release-date').text(), 'MMMM D, YYYY');
ctx.state.data = {
title: `Firefox ${platform} release notes`,

View File

@ -1,5 +1,5 @@
module.exports = function (router) {
router.get('/addons/:id', require('./addons'));
router.get('/breaches', require('./breaches'));
router.get('/release/:platform', require('./release'));
router.get('/release/:platform?', require('./release'));
};