Handle rejected subscriptions and add local client compose
This commit is contained in:
@@ -77,6 +77,42 @@ export function localProxyUrls(port = 8082, host = '127.0.0.1') {
|
||||
};
|
||||
}
|
||||
|
||||
export function routePresentation(route = {}) {
|
||||
if (route.mode === 'gateway-direct') {
|
||||
return route.reason === 'gateway-stale'
|
||||
? {
|
||||
title: 'Harbor Gateway проверяется',
|
||||
detail: 'Последняя проверка успешна, но свежего ответа пока нет.',
|
||||
tone: 'stale',
|
||||
}
|
||||
: {
|
||||
title: 'Через Harbor Gateway',
|
||||
detail: 'Подпиской и сервером сейчас управляет Gateway.',
|
||||
tone: 'gateway',
|
||||
};
|
||||
}
|
||||
if (route.mode === 'local-vpn') {
|
||||
if (route.reason === 'gateway-lost') {
|
||||
return {
|
||||
title: 'Локальный VPN · Gateway недоступен',
|
||||
detail: 'Harbor вернулся к локальному VPN. При восстановлении Gateway авторежим переключится обратно.',
|
||||
tone: 'lost',
|
||||
};
|
||||
}
|
||||
return {
|
||||
title: 'Локальный VPN',
|
||||
detail: route.reason === 'disabled'
|
||||
? 'Автопереход на домашний Gateway выключен.'
|
||||
: 'Connect использует выбранный здесь VPN-сервер.',
|
||||
tone: 'local',
|
||||
};
|
||||
}
|
||||
if (route.mode === 'direct') {
|
||||
return { title: 'Прямое подключение', detail: 'Трафик не идёт через VPN.', tone: 'direct' };
|
||||
}
|
||||
return { title: 'Маршрут неизвестен', detail: 'Harbor ещё не подтвердил текущий маршрут.', tone: 'unknown' };
|
||||
}
|
||||
|
||||
export async function copyText(text, options = {}) {
|
||||
const clipboard = options.clipboard ?? globalThis.navigator?.clipboard;
|
||||
const documentRef = options.documentRef ?? globalThis.document;
|
||||
|
||||
Reference in New Issue
Block a user