diff --git a/src/shared/versions.ts b/src/shared/versions.ts index 1a5627f..c805c1e 100644 --- a/src/shared/versions.ts +++ b/src/shared/versions.ts @@ -1,6 +1,6 @@ export const HARBOR_VERSIONS = Object.freeze({ - macClient: '0.23.7', - gatewayClient: '0.24.7', + macClient: '0.23.8', + gatewayClient: '0.24.8', gatewayBackend: '0.24.0', }); diff --git a/src/web/features/connection/ConnectionPanel.tsx b/src/web/features/connection/ConnectionPanel.tsx index cdb7209..640db76 100644 --- a/src/web/features/connection/ConnectionPanel.tsx +++ b/src/web/features/connection/ConnectionPanel.tsx @@ -1,5 +1,7 @@ import { useState, type ReactNode } from 'react'; import { ConfirmationDialog } from '../../ui/ConfirmationDialog.js'; +import { CopyButton } from '../../ui/CopyButton.js'; +import { Tooltip } from '../../ui/Tooltip.js'; import { connectionAction, connectionDurationParts, @@ -170,9 +172,9 @@ export function ConnectionPanel({ > {brandSlot} {powerButton} - {powerUnavailable && + {powerUnavailable && {remoteOwned ? 'Подключением управляет Harbor Gateway' : 'Сначала добавьте подписку и выберите сервер'} - } + }
{connected && !remoteOwned ? ( @@ -216,9 +218,9 @@ export function ConnectionPanel({ - + {durationMode === 'digital' ? 'Показать время словами' : 'Показать цифровой таймер'} - + ) : (

@@ -254,16 +256,13 @@ export function ConnectionPanel({

{proxyKinds.map(([kind, label]) => { const feedback = copyFeedback?.[kind]; - return ; + />; })}
diff --git a/src/web/features/devices/DevicesFeature.tsx b/src/web/features/devices/DevicesFeature.tsx index d9f930f..a0f6f20 100644 --- a/src/web/features/devices/DevicesFeature.tsx +++ b/src/web/features/devices/DevicesFeature.tsx @@ -1,4 +1,5 @@ import { useEffect, useRef, useState } from 'react'; +import { RailAction } from '../../ui/RailAction.js'; import { formatByteString, formatLastSeen, @@ -191,13 +192,13 @@ export function useDevicesFeature({ export type DevicesFeature = ReturnType; export function DevicesToggle({ feature, onToggle }: { feature: DevicesFeature; onToggle: () => void }) { - return ; + ; } export function GatewayTrafficSummary({ feature, now }: { feature: DevicesFeature; now: number }) { diff --git a/src/web/features/devices/DevicesPanel.tsx b/src/web/features/devices/DevicesPanel.tsx index b3911b2..ae4e3c0 100644 --- a/src/web/features/devices/DevicesPanel.tsx +++ b/src/web/features/devices/DevicesPanel.tsx @@ -5,8 +5,9 @@ import { useRef, useState, type CSSProperties, - type ReactNode, } from 'react'; +import { Drawer } from '../../ui/Drawer.js'; +import { Tooltip } from '../../ui/Tooltip.js'; import { copyText } from '../../utils/clientControls.js'; import { byteString, @@ -40,10 +41,6 @@ function requestMessage(value: unknown) { return typeof message === 'string' ? message : undefined; } -function Tooltip({ children }: { children: ReactNode }) { - return {children}; -} - function TextMorph({ from, to }: { from: string; to: string }) { const anchor = from.length >= to.length ? from : to; return