respect tor mark

This commit is contained in:
Fabian Freund
2025-07-17 15:52:50 +02:00
parent 36d097486d
commit cb0eef7eb8
3 changed files with 162 additions and 146 deletions
@@ -270,7 +270,7 @@ class BrowserBottomAppBar extends HookConsumerWidget {
await TorProxyRoute().push(context); await TorProxyRoute().push(context);
}, },
leadingIcon: const Icon(TorIcons.onionAlt), leadingIcon: const Icon(TorIcons.onionAlt),
child: const Text('Tor'), child: const Text('Tor™ Proxy'),
), ),
const Divider(), const Divider(),
MenuItemButton( MenuItemButton(
@@ -1,12 +1,12 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart'; import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:weblibre/features/settings/presentation/controllers/save_settings.dart'; import 'package:weblibre/features/settings/presentation/controllers/save_settings.dart';
import 'package:weblibre/features/tor/domain/services/tor_proxy.dart'; import 'package:weblibre/features/tor/domain/services/tor_proxy.dart';
import 'package:weblibre/features/user/data/models/general_settings.dart'; import 'package:weblibre/features/user/data/models/general_settings.dart';
import 'package:weblibre/features/user/domain/repositories/general_settings.dart'; import 'package:weblibre/features/user/domain/repositories/general_settings.dart';
import 'package:weblibre/presentation/hooks/on_initialization.dart'; import 'package:weblibre/presentation/hooks/on_initialization.dart';
import 'package:weblibre/presentation/icons/tor_icons.dart';
class TorProxyScreen extends HookConsumerWidget { class TorProxyScreen extends HookConsumerWidget {
const TorProxyScreen(); const TorProxyScreen();
@@ -25,8 +25,9 @@ class TorProxyScreen extends HookConsumerWidget {
}); });
return Scaffold( return Scaffold(
appBar: AppBar(title: const Text('Tor Proxy')), appBar: AppBar(title: const Text('Tor Proxy')),
body: ColoredBox( body: SafeArea(
child: ColoredBox(
color: const Color(0xFF7D4698), color: const Color(0xFF7D4698),
child: Column( child: Column(
children: [ children: [
@@ -34,7 +35,7 @@ class TorProxyScreen extends HookConsumerWidget {
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
SvgPicture.asset('assets/images/tor_white.svg', width: 200), const Icon(TorIcons.onionAlt, size: 84),
const SizedBox(height: 16), const SizedBox(height: 16),
ListTileTheme( ListTileTheme(
iconColor: Colors.white, iconColor: Colors.white,
@@ -68,7 +69,7 @@ class TorProxyScreen extends HookConsumerWidget {
return null; // Use the default color. return null; // Use the default color.
}), }),
value: torProxyPort.valueOrNull != null, value: torProxyPort.valueOrNull != null,
title: const Text('Tor Proxy'), title: const Text('Tor Proxy'),
secondary: const Icon(MdiIcons.power), secondary: const Icon(MdiIcons.power),
onChanged: torProxyPort.isLoading onChanged: torProxyPort.isLoading
? null ? null
@@ -179,9 +180,24 @@ class TorProxyScreen extends HookConsumerWidget {
], ],
), ),
), ),
Padding(
padding: const EdgeInsets.only(
right: 8.0,
left: 8.0,
bottom: 8.0,
),
child: Text(
'Tor is a trademark of The Tor Project; all rights reserved. WebLibre is not endorsed or sponsored by, or affiliated with, the Tor Project.',
textAlign: TextAlign.center,
style: Theme.of(
context,
).textTheme.bodySmall?.copyWith(fontStyle: FontStyle.italic),
),
),
], ],
), ),
), ),
),
); );
} }
} }
@@ -7,7 +7,7 @@ class TorDialog extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AlertDialog( return AlertDialog(
icon: const Icon(TorIcons.onionAlt, color: Color(0xFF7D4698)), icon: const Icon(TorIcons.onionAlt, color: Color(0xFF7D4698)),
title: const Text('Tor Proxy'), title: const Text('Tor Proxy'),
content: const Text( content: const Text(
'This container requires a Tor proxy for secure connections, which is not currently running.', 'This container requires a Tor proxy for secure connections, which is not currently running.',
), ),