feat: secure home credentials

This commit is contained in:
Artem Kokos
2026-04-22 23:25:48 +07:00
parent 6a961209cc
commit 7c0a2675c6
22 changed files with 1782 additions and 397 deletions

View File

@@ -32,9 +32,7 @@ class _ApiKeysScreenState extends ConsumerState<ApiKeysScreen> {
final keys = ref.watch(apiKeysProvider);
return Scaffold(
appBar: AppBar(
title: const Text('API-КЛЮЧИ'),
),
appBar: AppBar(title: const Text('API-КЛЮЧИ')),
body: _loading
? const Center(
child: CircularProgressIndicator(color: Colors.deepOrange),
@@ -83,7 +81,8 @@ class _ApiKeysScreenState extends ConsumerState<ApiKeysScreen> {
icon: const Icon(Icons.copy, size: 20),
onPressed: () {
Clipboard.setData(
ClipboardData(text: _lastCreatedKey!));
ClipboardData(text: _lastCreatedKey!),
);
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('Ключ скопирован'),
@@ -210,8 +209,10 @@ class _ApiKeysScreenState extends ConsumerState<ApiKeysScreen> {
),
TextButton(
onPressed: () => Navigator.of(ctx).pop(true),
child:
const Text('Отозвать', style: TextStyle(color: Colors.redAccent)),
child: const Text(
'Отозвать',
style: TextStyle(color: Colors.redAccent),
),
),
],
),
@@ -310,13 +311,20 @@ class _ApiKeyCard extends StatelessWidget {
: null,
trailing: isActive
? IconButton(
icon: const Icon(Icons.block, size: 20, color: Colors.redAccent),
icon: const Icon(
Icons.block,
size: 20,
color: Colors.redAccent,
),
tooltip: 'Отозвать',
onPressed: onRevoke,
)
: IconButton(
icon: const Icon(Icons.check_circle_outline,
size: 20, color: Colors.green),
icon: const Icon(
Icons.check_circle_outline,
size: 20,
color: Colors.green,
),
tooltip: 'Активировать',
onPressed: onActivate,
),