Kitűzési panel szövegmegjelenítési hibájának javítása

This commit is contained in:
2026-07-08 14:47:32 +02:00
parent b1efaff34a
commit d7bbbcae77
@@ -84,18 +84,31 @@ class StakeoutPanel extends StatelessWidget {
IconButton(
icon: const Icon(Icons.skip_previous),
visualDensity: VisualDensity.compact,
padding: EdgeInsets.zero,
constraints:
const BoxConstraints(minWidth: 36, minHeight: 36),
onPressed: () => svc.advance(backwards: true),
),
// A cím rugalmas: szűk helyen ZSUGORODIK (FittedBox),
// sosem tördelődik karakterenként.
Expanded(
child: Column(
children: [
Text(t.displayId,
FittedBox(
fit: BoxFit.scaleDown,
child: Text(
t.displayId,
maxLines: 1,
style: const TextStyle(
fontSize: 12, fontWeight: FontWeight.w700)),
fontSize: 17, fontWeight: FontWeight.w700),
),
),
if (progress != null)
Text(
'${progress.staked}/${progress.total} kitűzve'
'${t.isOffset ? ' · ELTOLT PONT' : ''}',
'${t.isOffset ? ' · ELTOLT' : ''}',
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontSize: 11, color: Colors.grey.shade600),
),
@@ -105,14 +118,19 @@ class StakeoutPanel extends StatelessWidget {
IconButton(
icon: const Icon(Icons.skip_next),
visualDensity: VisualDensity.compact,
padding: EdgeInsets.zero,
constraints:
const BoxConstraints(minWidth: 36, minHeight: 36),
onPressed: () => svc.advance(),
),
const TiltBubble(),
PopupMenuButton<StakeoutOrder>(
icon: Icon(switch (svc.orderMode.value) {
StakeoutOrder.idAsc => Icons.trending_up,
StakeoutOrder.idDesc => Icons.trending_down,
StakeoutOrder.nearest => Icons.near_me,
}),
padding: EdgeInsets.zero,
tooltip: 'Sorrend',
onSelected: (m) => svc.orderMode.value = m,
itemBuilder: (_) => const [
@@ -127,37 +145,40 @@ class StakeoutPanel extends StatelessWidget {
child: Text('Legközelebbi')),
],
),
Obx(() => IconButton(
icon: Icon(svc.hapticsEnabled.value
? Icons.vibration
: Icons.phonelink_erase),
visualDensity: VisualDensity.compact,
tooltip: 'Haptikus visszajelzés',
onPressed: () => svc.hapticsEnabled.toggle(),
)),
const TiltBubble(),
const SizedBox(width: 2),
IconButton(
icon: const Icon(Icons.list_alt),
visualDensity: VisualDensity.compact,
tooltip: 'Pontlista / export',
onPressed: () => StakeoutListSheet.show(),
),
IconButton(
icon: Icon(Icons.tune),
visualDensity: VisualDensity.compact,
tooltip: 'Kitűzési beálítások',
onPressed: () => showStakeoutSettingsDialog(),
),
IconButton(
icon: const Icon(Icons.upload_file),
visualDensity: VisualDensity.compact,
tooltip: 'Pontok importja',
onPressed: () => Get.toNamed(Routes.STAKEOUT_IMPORT),
// A ritkán használt műveletek EGY menüben — a fejléc
// így keskeny kijelzőn / nagy betűméretnél is kifér.
PopupMenuButton<String>(
icon: const Icon(Icons.more_vert),
padding: EdgeInsets.zero,
tooltip: 'További műveletek',
onSelected: (a) {
switch (a) {
case 'list':
StakeoutListSheet.show();
case 'settings':
showStakeoutSettingsDialog();
case 'import':
Get.toNamed(Routes.STAKEOUT_IMPORT);
case 'haptics':
svc.hapticsEnabled.toggle();
}
},
itemBuilder: (_) => [
const PopupMenuItem(
value: 'list', child: Text('Pontlista / export')),
const PopupMenuItem(
value: 'settings',
child: Text('Kitűzési beállítások')),
const PopupMenuItem(
value: 'import', child: Text('Pontok importja')),
CheckedPopupMenuItem(
value: 'haptics',
checked: svc.hapticsEnabled.value,
child: const Text('Haptikus visszajelzés')),
],
),
],
),
// ── Fázis-tartalom ───────────────────────────────────
if (!svc.hasPosition.value)
const Padding(