# Conflicts:
#	lib/presentation/navigation/app_router.dart
#	pubspec.yaml
This commit is contained in:
2026-08-11 00:14:00 +03:00
parent c9b8d143d1
commit 182be1049b
351 changed files with 24566 additions and 22898 deletions

View File

@@ -1,67 +1,67 @@
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart'; // ✅ Добавлен
class LinkRow extends StatelessWidget {
final String icon;
final String title;
final VoidCallback onTap;
const LinkRow({
super.key,
required this.icon,
required this.title,
required this.onTap,
});
@override
Widget build(BuildContext context) {
return InkWell(
onTap: onTap,
borderRadius: BorderRadius.circular(12),
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 14),
child: Row(
children: [
Image.asset(
icon,
width: 24,
height: 24,
),
const SizedBox(width: 12),
Expanded(
child: Text(
title,
style: const TextStyle(
color: Colors.white,
fontSize: 16,
),
),
),
Row(
children: [
Icon(Icons.arrow_forward_ios_sharp, color: const Color(0x99FFFFFF), size: 12),
Icon(Icons.arrow_forward_ios_sharp, color: const Color(0x66FFFFFF), size: 12),
Icon(Icons.arrow_forward_ios_sharp, color: const Color(0x33FFFFFF), size: 12),
],
),
],
),
),
);
}
}
// ✅ Выносим метод открытия ссылки
void openLink(String url) async {
final Uri uri = Uri.parse(url);
try {
await launchUrl(
uri,
mode: LaunchMode.externalApplication,
);
} catch (e) {
// TODO: Показать ошибку пользователю
print('Не удалось открыть ссылку: $e');
}
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart'; // ✅ Добавлен
class LinkRow extends StatelessWidget {
final String icon;
final String title;
final VoidCallback onTap;
const LinkRow({
super.key,
required this.icon,
required this.title,
required this.onTap,
});
@override
Widget build(BuildContext context) {
return InkWell(
onTap: onTap,
borderRadius: BorderRadius.circular(12),
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 14),
child: Row(
children: [
Image.asset(
icon,
width: 24,
height: 24,
),
const SizedBox(width: 12),
Expanded(
child: Text(
title,
style: const TextStyle(
color: Colors.white,
fontSize: 16,
),
),
),
Row(
children: [
Icon(Icons.arrow_forward_ios_sharp, color: const Color(0x99FFFFFF), size: 12),
Icon(Icons.arrow_forward_ios_sharp, color: const Color(0x66FFFFFF), size: 12),
Icon(Icons.arrow_forward_ios_sharp, color: const Color(0x33FFFFFF), size: 12),
],
),
],
),
),
);
}
}
// ✅ Выносим метод открытия ссылки
void openLink(String url) async {
final Uri uri = Uri.parse(url);
try {
await launchUrl(
uri,
mode: LaunchMode.externalApplication,
);
} catch (e) {
// TODO: Показать ошибку пользователю
print('Не удалось открыть ссылку: $e');
}
}