Online tracking, deviceidentityservice

This commit is contained in:
2026-06-23 15:21:20 +02:00
parent 65b355edd9
commit aa78c7bb6f
13 changed files with 850 additions and 33 deletions
+21 -21
View File
@@ -127,28 +127,28 @@ class ShellMapAppBar extends StatelessWidget implements PreferredSizeWidget {
// ),
// );
// }),
Obx(() {
final connected = controller.gpsIsConnected;
// Obx(() {
// final connected = controller.gpsIsConnected;
return IconButton(
tooltip: connected
? 'GNSS vevő csatlakozva'
: 'GNSS vevő nincs csatlakoztatva',
visualDensity: VisualDensity.compact,
padding: EdgeInsets.zero,
constraints: const BoxConstraints(
minWidth: 40,
minHeight: 44,
),
icon: GnssReceiverIcon(
size: 24,
color: connected
? Colors.green.shade700
: Theme.of(context).colorScheme.onSurfaceVariant,
),
onPressed: () {},
);
}),
// return IconButton(
// tooltip: connected
// ? 'GNSS vevő csatlakozva'
// : 'GNSS vevő nincs csatlakoztatva',
// visualDensity: VisualDensity.compact,
// padding: EdgeInsets.zero,
// constraints: const BoxConstraints(
// minWidth: 40,
// minHeight: 44,
// ),
// icon: GnssReceiverIcon(
// size: 24,
// color: connected
// ? Colors.green.shade700
// : Theme.of(context).colorScheme.onSurfaceVariant,
// ),
// onPressed: () {},
// );
// }),
TrackRecordingAction(
controller: TrackingController.to,
onTap: () => _openTrackingSheet(context),
+49
View File
@@ -0,0 +1,49 @@
import 'package:flutter/material.dart';
class TeamMemberWidget extends StatelessWidget {
final String name;
final Color color;
const TeamMemberWidget({required this.name, required this.color});
@override
Widget build(BuildContext context) {
return Column(
mainAxisSize: MainAxisSize.min,
children: [
// Névbuborék
Container(
padding: const EdgeInsets.symmetric(horizontal: 6, vertical: 1),
decoration: BoxDecoration(
color: color,
borderRadius: BorderRadius.circular(5),
boxShadow: [
BoxShadow(
color: Colors.black26,
blurRadius: 3,
offset: const Offset(0, 1)),
],
),
child: Text(
name,
style: const TextStyle(
color: Colors.white,
fontSize: 11,
fontWeight: FontWeight.w600,
),
overflow: TextOverflow.ellipsis,
maxLines: 1,
),
),
// Nyíl / lokátor ikon
Icon(
Icons.person_pin_circle,
color: color,
size: 24,
shadows: const [
Shadow(color: Colors.black26, blurRadius: 4),
],
),
],
);
}
}
+1 -1
View File
@@ -91,7 +91,7 @@ class SharedMapWidget extends StatelessWidget {
),
if (controls.showZoomLevel && currentZoom != null)
Positioned(
bottom: 150,
bottom: 200,
left: 4,
child: Obx(() => _ZoomLabel(currentZoom!.value)),
),