fix: BugReport overflow + переводы
Some checks failed
CI / run (push) Has been cancelled

This commit is contained in:
Umbrix Developer
2026-01-23 01:32:26 +03:00
parent 58cce2e83c
commit 762e073cab
3 changed files with 36 additions and 14 deletions

View File

@@ -2,6 +2,7 @@
"general": {
"appTitle": "Umbrix",
"reset": "Reset",
"cancel": "Cancel",
"toggle": {
"enabled": "Enabled",
"disabled": "Disabled"
@@ -505,6 +506,15 @@
},
"bugReport": {
"title": "Report a Problem",
"description": "Send bug report to support with automatic logs"
"description": "Describe the problem you encountered. We automatically collect diagnostic information (logs, connection status, delay).",
"pleaseDescribe": "Please describe the problem",
"problemDescription": "Problem description *",
"hint": "For example: \"Cannot connect to server, timeout error\"",
"helper": "The more details, the better",
"includeLogs": "Include logs",
"logsHelper": "Send log files for diagnostics",
"privacyNote": "We do not collect personal data. Only technical information.",
"send": "Send",
"sending": "Sending..."
}
}

View File

@@ -2,6 +2,7 @@
"general": {
"appTitle": "Umbrix",
"reset": "Сброс",
"cancel": "Отмена",
"toggle": {
"enabled": "Включено",
"disabled": "Отключено"
@@ -505,6 +506,15 @@
},
"bugReport": {
"title": "Сообщить о проблеме",
"description": "Отправить багрепорт в техподдержку с автоматическими логами"
"description": "Опишите проблему, с которой вы столкнулись. Мы автоматически соберём диагностическую информацию (логи, статус подключения, задержку).",
"pleaseDescribe": "Пожалуйста, опишите проблему",
"problemDescription": "Описание проблемы *",
"hint": "Например: \"Не могу подключиться к серверу, ошибка таймаута\"",
"helper": "Чем подробнее, тем лучше",
"includeLogs": "Включить логи",
"logsHelper": "Отправить файлы логов для диагностики",
"privacyNote": "Мы не собираем личные данные. Только техническая информация.",
"send": "Отправить",
"sending": "Отправка..."
}
}

View File

@@ -22,7 +22,7 @@ class BugReportDialog extends HookConsumerWidget {
Future<void> sendReport() async {
if (descriptionController.text.trim().isEmpty) {
CustomToast.error('Пожалуйста, опишите проблему').show(context);
CustomToast.error(t.bugReport.pleaseDescribe).show(context);
return;
}
@@ -60,17 +60,18 @@ class BugReportDialog extends HookConsumerWidget {
color: theme.colorScheme.error,
),
const Gap(12),
const Text('Сообщить о проблеме'),
Text(t.bugReport.title),
],
),
content: SizedBox(
width: 500,
child: Column(
child: SingleChildScrollView(
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Опишите проблему, с которой вы столкнулись. Мы автоматически соберём диагностическую информацию (логи, статус подключения, задержку).',
t.bugReport.description,
style: theme.textTheme.bodyMedium?.copyWith(
color: theme.colorScheme.onSurfaceVariant,
),
@@ -81,17 +82,17 @@ class BugReportDialog extends HookConsumerWidget {
maxLines: 6,
enabled: !isSending.value,
decoration: InputDecoration(
labelText: 'Описание проблемы *',
hintText: 'Например: "Не могу подключиться к серверу, ошибка таймаута"',
labelText: t.bugReport.problemDescription,
hintText: t.bugReport.hint,
border: const OutlineInputBorder(),
helperText: 'Чем подробнее, тем лучше',
helperText: t.bugReport.helper,
),
),
const Gap(16),
CheckboxListTile(
title: const Text('Включить логи'),
title: Text(t.bugReport.includeLogs),
subtitle: Text(
'Отправить файлы логов для диагностики',
t.bugReport.logsHelper,
style: theme.textTheme.bodySmall,
),
value: includeLogs.value,
@@ -120,7 +121,7 @@ class BugReportDialog extends HookConsumerWidget {
const Gap(8),
Expanded(
child: Text(
'Мы не собираем личные данные. Только техническая информация.',
t.bugReport.privacyNote,
style: theme.textTheme.bodySmall?.copyWith(
color: theme.colorScheme.onSurface,
),
@@ -131,11 +132,12 @@ class BugReportDialog extends HookConsumerWidget {
),
],
),
),
),
actions: [
TextButton(
onPressed: isSending.value ? null : () => Navigator.of(context).pop(),
child: const Text('Отмена'),
child: Text(t.general.cancel),
),
FilledButton.icon(
onPressed: isSending.value ? null : sendReport,
@@ -146,7 +148,7 @@ class BugReportDialog extends HookConsumerWidget {
child: CircularProgressIndicator(strokeWidth: 2),
)
: const Icon(FluentIcons.send_20_regular),
label: Text(isSending.value ? 'Отправка...' : 'Отправить'),
label: Text(isSending.value ? t.bugReport.sending : t.bugReport.send),
),
],
);