feat: Implement accessible SFTP file browser and native editor

This commit is contained in:
2025-12-22 14:15:43 -06:00
parent 7a967ef759
commit 1bd7df79d8
8 changed files with 387 additions and 10 deletions

View File

@@ -6,6 +6,7 @@ import 'package:wakelock_plus/wakelock_plus.dart';
import 'package:accessible_terminal/state/terminal_provider.dart';
import 'package:accessible_terminal/models/terminal_line.dart';
import 'package:accessible_terminal/ui/widgets/ansi_text_parser.dart';
import 'package:accessible_terminal/ui/views/file_browser_view.dart';
class TerminalView extends ConsumerStatefulWidget {
const TerminalView({super.key});
@@ -114,7 +115,11 @@ class _TerminalViewState extends ConsumerState<TerminalView> {
final newLine = next.first;
final cleanText = AnsiTextParser.strip(newLine.text);
if (cleanText.trim().isNotEmpty) {
SemanticsService.announce(cleanText, TextDirection.ltr);
SemanticsService.sendAnnouncement(
View.of(context),
cleanText,
TextDirection.ltr,
);
}
}
});
@@ -135,6 +140,19 @@ class _TerminalViewState extends ConsumerState<TerminalView> {
),
],
),
Semantics(
label: 'Open File Browser',
button: true,
child: IconButton(
icon: const Icon(Icons.folder_open),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const FileBrowserView()),
);
},
),
),
Semantics(
label: 'Disconnect',
button: true,