SHA256
Добавить страницу донатов канала
This commit is contained in:
+55
-13
@@ -28,6 +28,7 @@ const PRETTY_PATHS = new Map([
|
||||
['add-personal-public-chat-view', 'channels/new-public-chat'],
|
||||
['channel-view', 'channel'],
|
||||
['channel-about-view', 'channel/about'],
|
||||
['channel-donate-view', 'channel/donate'],
|
||||
['channel-thread-view', 'thread'],
|
||||
['network-view', 'network'],
|
||||
['notifications-view', 'notifications'],
|
||||
@@ -180,9 +181,9 @@ export function parseRouteFromPath(pathname = '') {
|
||||
const channelName = decodePart(segments[1] || '');
|
||||
const sub = decodePart(segments[2] || '').toLowerCase();
|
||||
if (ownerBlockchainName && channelName) {
|
||||
if (sub === 'about') {
|
||||
if (sub === 'about' || sub === 'donate') {
|
||||
return {
|
||||
pageId: 'channel-about-view',
|
||||
pageId: sub === 'donate' ? 'channel-donate-view' : 'channel-about-view',
|
||||
params: {
|
||||
ownerBlockchainName,
|
||||
channelRootBlockNumber: '',
|
||||
@@ -270,16 +271,19 @@ export function parseRouteFromPath(pathname = '') {
|
||||
}
|
||||
|
||||
if (pageId === 'channel') {
|
||||
if (segments.length >= 5 && decodePart(segments[4] || '').toLowerCase() === 'about') {
|
||||
return {
|
||||
pageId: 'channel-about-view',
|
||||
params: {
|
||||
ownerBlockchainName: decodePart(segments[1]),
|
||||
channelRootBlockNumber: segments[2] || '',
|
||||
channelRootBlockHash: segments[3] || '',
|
||||
channelId: '',
|
||||
},
|
||||
};
|
||||
if (segments.length >= 5) {
|
||||
const sub = decodePart(segments[4] || '').toLowerCase();
|
||||
if (sub === 'about' || sub === 'donate') {
|
||||
return {
|
||||
pageId: sub === 'donate' ? 'channel-donate-view' : 'channel-about-view',
|
||||
params: {
|
||||
ownerBlockchainName: decodePart(segments[1]),
|
||||
channelRootBlockNumber: segments[2] || '',
|
||||
channelRootBlockHash: segments[3] || '',
|
||||
channelId: '',
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
if (segments.length >= 4) {
|
||||
return {
|
||||
@@ -358,6 +362,18 @@ export function parseRouteFromPath(pathname = '') {
|
||||
return { pageId: 'remote-addblock-session-view', params: {} };
|
||||
}
|
||||
|
||||
if (pageId === 'channel-donate-view' || pageId === 'channel-about-view') {
|
||||
return {
|
||||
pageId,
|
||||
params: {
|
||||
ownerBlockchainName: decodePart(segments[1]),
|
||||
channelRootBlockNumber: segments[2] || '',
|
||||
channelRootBlockHash: segments[3] || '',
|
||||
channelId: '',
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
if (pageId === 'channel-view') {
|
||||
if (segments.length >= 4) {
|
||||
return {
|
||||
@@ -399,6 +415,32 @@ export function parseRouteFromPath(pathname = '') {
|
||||
return { pageId, params: { mode: segments[1] ? decodePart(segments[1]) : '' } };
|
||||
}
|
||||
|
||||
// Публичная короткая ссылка канала не содержит внутренний номер блокчейна:
|
||||
// /<login>/<channel>. Старый /<login>-001/<channel> обрабатывается выше.
|
||||
if (segments.length === 2 || (segments.length === 3 && ['about', 'donate'].includes(decodePart(segments[2] || '').toLowerCase()))) {
|
||||
const ownerBlockchainName = decodePart(segments[0] || '');
|
||||
const channelName = decodePart(segments[1] || '');
|
||||
if (ownerBlockchainName && channelName) {
|
||||
if (segments.length === 3) {
|
||||
const sub = decodePart(segments[2] || '').toLowerCase();
|
||||
return {
|
||||
pageId: sub === 'donate' ? 'channel-donate-view' : 'channel-about-view',
|
||||
params: {
|
||||
ownerBlockchainName,
|
||||
channelRootBlockNumber: '',
|
||||
channelRootBlockHash: '',
|
||||
channelId: '',
|
||||
channelName,
|
||||
},
|
||||
};
|
||||
}
|
||||
return {
|
||||
pageId: 'channel-view',
|
||||
params: { ownerBlockchainName, channelName, channelId: '' },
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
return { pageId, params: {} };
|
||||
}
|
||||
|
||||
@@ -467,7 +509,7 @@ export function resolveToolbarActive(pageId) {
|
||||
pageId === 'solana-users-init-view'
|
||||
) return 'profile-view';
|
||||
if (pageId === 'chat-view' || pageId === 'contact-search-view') return 'messages-list';
|
||||
if (pageId === 'channel-view' || pageId === 'channel-about-view' || pageId === 'channel-thread-view' || pageId === 'add-channel-view' || pageId === 'add-personal-public-chat-view') return 'channels-list';
|
||||
if (pageId === 'channel-view' || pageId === 'channel-about-view' || pageId === 'channel-donate-view' || pageId === 'channel-thread-view' || pageId === 'add-channel-view' || pageId === 'add-personal-public-chat-view') return 'channels-list';
|
||||
if (pageId === 'user') return 'messages-list';
|
||||
return 'profile-view';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user