diff --git a/VERSION.properties b/VERSION.properties index 5928cca4..e8af0e48 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.19 +client.version=1.4.20 server.version=1.4.5 diff --git a/shine-UI/js/services/shine-routes.js b/shine-UI/js/services/shine-routes.js index 6026e628..f11af593 100644 --- a/shine-UI/js/services/shine-routes.js +++ b/shine-UI/js/services/shine-routes.js @@ -10,6 +10,8 @@ function decodeRoutePart(value = '') { } } +const SHINE_ROUTE_PREFIX = 'SHiNE.'; + export function normalizeLogin(value = '') { return String(value || '').trim().replace(/^@+/, ''); } @@ -23,21 +25,21 @@ export function extractLoginFromBlockchainName(value = '') { export function makeProfileRoute(login = '') { const clean = normalizeLogin(login); - return clean ? `shine.${encodeRoutePart(clean)}` : 'profile'; + return clean ? `${SHINE_ROUTE_PREFIX}${encodeRoutePart(clean)}` : 'profile'; } export function makeProfileLinksRoute(login = '') { const clean = normalizeLogin(login); - return clean ? `shine.${encodeRoutePart(clean)}/links` : 'network/keep-history'; + return clean ? `${SHINE_ROUTE_PREFIX}${encodeRoutePart(clean)}/links` : 'network/keep-history'; } export function makeProfileChannelsRoute(login = '', scope = 'all') { const clean = normalizeLogin(login); if (!clean) return 'channels/feed'; const normalizedScope = String(scope || '').trim().toLowerCase(); - if (normalizedScope === 'owned') return `shine.${encodeRoutePart(clean)}/channels/owned`; - if (normalizedScope === 'following') return `shine.${encodeRoutePart(clean)}/channels/following`; - return `shine.${encodeRoutePart(clean)}/channels`; + if (normalizedScope === 'owned') return `${SHINE_ROUTE_PREFIX}${encodeRoutePart(clean)}/channels/owned`; + if (normalizedScope === 'following') return `${SHINE_ROUTE_PREFIX}${encodeRoutePart(clean)}/channels/following`; + return `${SHINE_ROUTE_PREFIX}${encodeRoutePart(clean)}/channels`; } export function makeShineChannelRoute({ ownerLogin = '', ownerBlockchainName = '', channelName = '', messageBlockNumber = '' }) { @@ -45,19 +47,19 @@ export function makeShineChannelRoute({ ownerLogin = '', ownerBlockchainName = ' const chName = String(channelName || '').trim(); const msgNo = String(messageBlockNumber || '').trim(); if (!ownerBch || !chName) return ''; - if (msgNo) return `shine.${encodeRoutePart(ownerBch)}/${encodeRoutePart(chName)}/${encodeRoutePart(msgNo)}`; - return `shine.${encodeRoutePart(ownerBch)}/${encodeRoutePart(chName)}`; + if (msgNo) return `${SHINE_ROUTE_PREFIX}${encodeRoutePart(ownerBch)}/${encodeRoutePart(chName)}/${encodeRoutePart(msgNo)}`; + return `${SHINE_ROUTE_PREFIX}${encodeRoutePart(ownerBch)}/${encodeRoutePart(chName)}`; } export function makeShineMessageRoute({ ownerLogin = '', messageBlockchainName = '', messageBlockNumber = '' }) { const msgBch = String(messageBlockchainName || '').trim(); const msgNo = String(messageBlockNumber || '').trim(); if (!msgBch || !msgNo) return ''; - return `shine.${encodeRoutePart(msgBch)}/${encodeRoutePart(msgNo)}`; + return `${SHINE_ROUTE_PREFIX}${encodeRoutePart(msgBch)}/${encodeRoutePart(msgNo)}`; } export function parseShineRootSegment(segment = '') { const raw = String(segment || '').trim(); - if (!raw.toLowerCase().startsWith('shine.')) return ''; - return normalizeLogin(decodeRoutePart(raw.slice('shine.'.length))); + if (!raw.toLowerCase().startsWith(SHINE_ROUTE_PREFIX.toLowerCase())) return ''; + return normalizeLogin(decodeRoutePart(raw.slice(SHINE_ROUTE_PREFIX.length))); }