Ntrip szervíz refraktorálás, beállítások, jelszó secure store-ba

This commit is contained in:
2026-07-05 03:43:07 +02:00
parent 80f7c8d571
commit fa25a320eb
8 changed files with 501 additions and 126 deletions
+41 -8
View File
@@ -2,6 +2,9 @@ import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:package_info_plus/package_info_plus.dart';
import 'package:terepi_seged/pages/ntrip_settings/presentation/views/ntrip_settings_sheet.dart';
import 'package:terepi_seged/routes/app_pages.dart';
import 'package:terepi_seged/services/ntrip_service.dart';
import 'package:terepi_seged/services/project_service.dart';
import '../services/gnss/gnss_connection.dart';
@@ -121,14 +124,33 @@ class AppDrawer extends StatelessWidget {
// ── 3. Beállítások ─────────────────────────────────
const _SectionLabel('Beállítások'),
ListTile(
leading: const Icon(Icons.cell_tower),
title: const Text('NTRIP'),
onTap: () {
Get.back();
// Get.to(() => const NtripSettingsView());
},
),
// NTRIP — gyors elérés terepre: subtitle mutatja
// a konfigurációt, a pötty a kapcsolat állapotát.
Obx(() {
final ntrip = NtripService.to;
final configured = ntrip.hasCompleteSettings;
return ListTile(
leading: const Icon(Icons.cell_tower),
title: const Text('NTRIP'),
subtitle: Text(
configured
? '${ntrip.host.value} · ${ntrip.mountpoint.value}'
: 'Nincs beállítva',
style: const TextStyle(fontSize: 12),
),
trailing: Icon(
Icons.circle,
size: 12,
color: ntrip.isConnected.value
? Colors.green
: (configured ? Colors.grey : Colors.orange),
),
onTap: () {
Get.back();
NtripSettingsSheet.show();
},
);
}),
ListTile(
leading: const Icon(Icons.map_outlined),
@@ -169,6 +191,17 @@ class AppDrawer extends StatelessWidget {
},
),
// Minden további beállítás a központi oldalon.
ListTile(
leading: const Icon(Icons.settings_outlined),
title: const Text('Minden beállítás'),
trailing: const Icon(Icons.arrow_forward_ios, size: 14),
onTap: () {
Get.back();
Get.toNamed(Routes.SETTINGS);
},
),
const Divider(height: 24),
// ── 4. Admin (kommentezve, később aktiválható) ──────