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