fix: download button always visible; KKT test shows DTO setup instructions
- Download button shows even without latest release (grayed out state) - KKT test error "ДТО не запущен" now shows 3-step setup guide with atol.ru link Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -685,16 +685,33 @@ function WorkstationCard({
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{testResults[device.id] !== undefined && testResults[device.id] !== null && (
|
||||
<div className={cn(
|
||||
'mt-1 px-3 py-1.5 rounded-lg text-xs font-medium flex items-center gap-1.5',
|
||||
testResults[device.id]!.ok
|
||||
? 'bg-emerald-50 text-emerald-700 dark:bg-emerald-900/20 dark:text-emerald-400'
|
||||
: 'bg-red-50 text-red-700 dark:bg-red-900/20 dark:text-red-400',
|
||||
)}>
|
||||
{testResults[device.id]!.ok ? <Check size={11} /> : <X size={11} />}
|
||||
{testResults[device.id]!.msg || (testResults[device.id]!.ok ? 'Успешно' : 'Ошибка')}
|
||||
</div>
|
||||
{testResults[device.id] !== undefined && testResults[device.id] !== null && (() => {
|
||||
const res = testResults[device.id]!
|
||||
const isDtoError = !res.ok && res.msg.includes('ДТО')
|
||||
return (
|
||||
<div className={cn(
|
||||
'mt-1 px-3 py-2 rounded-lg text-xs font-medium flex flex-col gap-1',
|
||||
res.ok
|
||||
? 'bg-emerald-50 text-emerald-700 dark:bg-emerald-900/20 dark:text-emerald-400'
|
||||
: 'bg-red-50 text-red-700 dark:bg-red-900/20 dark:text-red-400',
|
||||
)}>
|
||||
<span className="flex items-center gap-1.5">
|
||||
{res.ok ? <Check size={11} /> : <X size={11} />}
|
||||
{res.msg || (res.ok ? 'Успешно' : 'Ошибка')}
|
||||
</span>
|
||||
{isDtoError && (
|
||||
<div className="mt-0.5 pl-4 space-y-0.5 font-normal text-red-600 dark:text-red-400">
|
||||
<p>Для работы кассы нужно установить и запустить <strong>АТОЛ ДТО 10</strong>:</p>
|
||||
<ol className="list-decimal list-inside space-y-0.5 pl-1">
|
||||
<li>Скачайте бесплатно с <a href="https://atol.ru" target="_blank" rel="noreferrer" className="underline">atol.ru</a> → Поддержка → ДТО 10</li>
|
||||
<li>Установите и запустите службу <strong>ATOL DTO Service</strong></li>
|
||||
<li>Порт по умолчанию: <strong>16732</strong></li>
|
||||
</ol>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
)
|
||||
})()}
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
@@ -818,7 +835,7 @@ export function EquipmentPage() {
|
||||
{updatingAll ? 'Отправка...' : 'Обновить все'}
|
||||
</button>
|
||||
)}
|
||||
{latestRelease && (
|
||||
{latestRelease ? (
|
||||
<a
|
||||
href={latestRelease.downloadUrl}
|
||||
download
|
||||
@@ -828,6 +845,11 @@ export function EquipmentPage() {
|
||||
<Download size={15} />
|
||||
Скачать агент v{latestRelease.version}
|
||||
</a>
|
||||
) : (
|
||||
<span className="inline-flex items-center gap-1.5 px-3 py-2 rounded-xl text-sm font-medium bg-slate-100 text-slate-400 dark:bg-slate-700 dark:text-slate-500 cursor-not-allowed">
|
||||
<Download size={15} />
|
||||
Агент недоступен
|
||||
</span>
|
||||
)}
|
||||
<button
|
||||
onClick={() => setShowAdd(true)}
|
||||
|
||||
Reference in New Issue
Block a user