From 5fdc38a40db1f6c6f4344eb3a5006e17f7dba4ae Mon Sep 17 00:00:00 2001 From: djmaze Date: Tue, 7 Dec 2021 17:22:56 +0100 Subject: [PATCH] Cleanup mailbox routing --- dev/Common/Links.js | 5 ++--- dev/Screen/User/MailBox.js | 5 +++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dev/Common/Links.js b/dev/Common/Links.js index 0c1ec3b2f..eda066754 100644 --- a/dev/Common/Links.js +++ b/dev/Common/Links.js @@ -119,19 +119,18 @@ export const * @returns {string} */ mailBox = (folder, page, search, threadUid) => { - page = pInt(page, 1); - search = pString(search); - let result = [HASH_PREFIX + 'mailbox']; if (folder) { result.push(folder + (threadUid ? '~' + threadUid : '')); } + page = pInt(page, 1); if (1 < page) { result.push('p' + page); } + search = pString(search); if (search) { result.push(encodeURI(search)); } diff --git a/dev/Screen/User/MailBox.js b/dev/Screen/User/MailBox.js index aa74e160a..9736513f4 100644 --- a/dev/Screen/User/MailBox.js +++ b/dev/Screen/User/MailBox.js @@ -126,11 +126,12 @@ export class MailBoxUserScreen extends AbstractScreen { } /** + * Parse link as generated by mailBox() * @returns {Array} */ routes() { const - folder = (request, vals) => request ? decodeURI(pString(vals[0])) : getFolderInboxName(), + folder = (request, vals) => request ? pString(vals[0]) : getFolderInboxName(), fNormS = (request, vals) => [folder(request, vals), request ? pInt(vals[1]) : 1, decodeURI(pString(vals[2]))]; return [ @@ -141,7 +142,7 @@ export class MailBoxUserScreen extends AbstractScreen { [folder(request, vals), 1, decodeURI(pString(vals[1]))] }], // Page: {folder}/p{int}(/{search})? - [/^([a-zA-Z0-9.~_-]+)\/p([1-9][0-9]*)(?:\/(.+)\/?)?$/, { normalize_: fNormS }] + [/^([a-zA-Z0-9.~_-]+)\/p([1-9][0-9]*)(?:\/(.+))?$/, { normalize_: fNormS }] ]; } }