Skip to content

Commit 543bbe5

Browse files
committed
Improve drag stacked cards
1 parent 4f583fd commit 543bbe5

File tree

4 files changed

+41
-26
lines changed

4 files changed

+41
-26
lines changed

app/lib/board/hand/item.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ abstract class HandItem<T> extends PositionComponent
184184
void onDragUpdate(DragUpdateEvent event) {
185185
super.onDragUpdate(event);
186186
if (!(isMouseOrLongPressing ?? false)) {
187-
hand.scroll(event.localDelta.x);
187+
hand.dragScroll(event.localDelta.x);
188188
return;
189189
}
190190
if (_label.parent != null) _label.removeFromParent();

app/lib/board/hand/view.dart

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@ class GameHand extends CustomPainterComponent
9797
previousState.showDuplicates != newState.showDuplicates ||
9898
previousState.searchTerm != newState.searchTerm;
9999
static const itemAngle = 0.01;
100-
static const activeItemWidth = 100;
101-
static const itemWidth = 60;
100+
static const activeItemWidth = 130;
101+
static const itemWidth = 80;
102102
static const itemYOffset = 3;
103103
void _layoutChildren() {
104104
final childrenLength = children.length;
@@ -236,7 +236,7 @@ class GameHand extends CustomPainterComponent
236236
..continuePropagation = true;
237237
return;
238238
}
239-
scroll(event.localDelta.x);
239+
dragScroll(event.localDelta.x);
240240
}
241241

242242
@override
@@ -249,7 +249,7 @@ class GameHand extends CustomPainterComponent
249249
delta = info.scrollDelta.global.y;
250250
}
251251
delta /= 4;
252-
scroll(-delta / game.settingsCubit.state.scrollSensitivity);
252+
scroll(delta > 0 ? -1 : 1);
253253
return true;
254254
}
255255

@@ -264,9 +264,11 @@ class GameHand extends CustomPainterComponent
264264
super.onDragEnd(event);
265265
}
266266

267+
void dragScroll(double delta) => scroll(delta * 0.1);
268+
267269
void scroll(double delta) {
268270
if (!isShowing) return;
269-
_currentScroll += delta < 0 ? -1 : 1;
271+
_currentScroll += delta;
270272
_needsLayout = true;
271273
}
272274
}

app/lib/main.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import 'package:flutter/foundation.dart';
44
import 'package:flutter/material.dart';
55
import 'package:flutter_bloc/flutter_bloc.dart';
66
import 'package:go_router/go_router.dart';
7+
import 'package:setonix/pages/settings/input.dart';
78
import 'package:setonix/src/generated/i18n/app_localizations.dart';
89
import 'package:flutter_web_plugins/url_strategy.dart';
910
import 'package:material_leap/material_leap.dart';
@@ -171,6 +172,10 @@ class SetonixApp extends StatelessWidget {
171172
builder: (context, state) =>
172173
const PersonalizationSettingsPage(),
173174
),
175+
GoRoute(
176+
path: 'inputs',
177+
builder: (context, state) => const InputsSettingsPage(),
178+
),
174179
],
175180
),
176181
],

app/rust_builder/cargokit/build_tool/pubspec.lock

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,14 @@ packages:
4949
url: "https://pub.dev"
5050
source: hosted
5151
version: "2.1.2"
52+
cli_config:
53+
dependency: transitive
54+
description:
55+
name: cli_config
56+
sha256: ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec
57+
url: "https://pub.dev"
58+
source: hosted
59+
version: "0.2.0"
5260
collection:
5361
dependency: "direct main"
5462
description:
@@ -69,10 +77,10 @@ packages:
6977
dependency: transitive
7078
description:
7179
name: coverage
72-
sha256: e3493833ea012784c740e341952298f1cc77f1f01b1bbc3eb4eecf6984fb7f43
80+
sha256: "802bd084fb82e55df091ec8ad1553a7331b61c08251eef19a508b6f3f3a9858d"
7381
url: "https://pub.dev"
7482
source: hosted
75-
version: "1.11.1"
83+
version: "1.13.1"
7684
crypto:
7785
dependency: "direct main"
7886
description:
@@ -213,10 +221,10 @@ packages:
213221
dependency: transitive
214222
description:
215223
name: meta
216-
sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
224+
sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394"
217225
url: "https://pub.dev"
218226
source: hosted
219-
version: "1.16.0"
227+
version: "1.17.0"
220228
mime:
221229
dependency: transitive
222230
description:
@@ -237,10 +245,10 @@ packages:
237245
dependency: transitive
238246
description:
239247
name: package_config
240-
sha256: "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67"
248+
sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc
241249
url: "https://pub.dev"
242250
source: hosted
243-
version: "2.1.1"
251+
version: "2.2.0"
244252
path:
245253
dependency: "direct main"
246254
description:
@@ -269,10 +277,10 @@ packages:
269277
dependency: transitive
270278
description:
271279
name: pub_semver
272-
sha256: "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd"
280+
sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585"
273281
url: "https://pub.dev"
274282
source: hosted
275-
version: "2.1.5"
283+
version: "2.2.0"
276284
shelf:
277285
dependency: transitive
278286
description:
@@ -365,26 +373,26 @@ packages:
365373
dependency: "direct dev"
366374
description:
367375
name: test
368-
sha256: "301b213cd241ca982e9ba50266bd3f5bd1ea33f1455554c5abb85d1be0e2d87e"
376+
sha256: "65e29d831719be0591f7b3b1a32a3cda258ec98c58c7b25f7b84241bc31215bb"
369377
url: "https://pub.dev"
370378
source: hosted
371-
version: "1.25.15"
379+
version: "1.26.2"
372380
test_api:
373381
dependency: transitive
374382
description:
375383
name: test_api
376-
sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
384+
sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00"
377385
url: "https://pub.dev"
378386
source: hosted
379-
version: "0.7.4"
387+
version: "0.7.6"
380388
test_core:
381389
dependency: transitive
382390
description:
383391
name: test_core
384-
sha256: "84d17c3486c8dfdbe5e12a50c8ae176d15e2a771b96909a9442b40173649ccaa"
392+
sha256: "80bf5a02b60af04b09e14f6fe68b921aad119493e26e490deaca5993fef1b05a"
385393
url: "https://pub.dev"
386394
source: hosted
387-
version: "0.6.8"
395+
version: "0.6.11"
388396
toml:
389397
dependency: "direct main"
390398
description:
@@ -413,10 +421,10 @@ packages:
413421
dependency: transitive
414422
description:
415423
name: vm_service
416-
sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
424+
sha256: "6f82e9ee8e7339f5d8b699317f6f3afc17c80a68ebef1bc0d6f52a678c14b1e6"
417425
url: "https://pub.dev"
418426
source: hosted
419-
version: "15.0.0"
427+
version: "15.0.1"
420428
watcher:
421429
dependency: transitive
422430
description:
@@ -437,18 +445,18 @@ packages:
437445
dependency: transitive
438446
description:
439447
name: web_socket
440-
sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83"
448+
sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c"
441449
url: "https://pub.dev"
442450
source: hosted
443-
version: "0.1.6"
451+
version: "1.0.1"
444452
web_socket_channel:
445453
dependency: transitive
446454
description:
447455
name: web_socket_channel
448-
sha256: "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5"
456+
sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8
449457
url: "https://pub.dev"
450458
source: hosted
451-
version: "3.0.2"
459+
version: "3.0.3"
452460
webkit_inspection_protocol:
453461
dependency: transitive
454462
description:

0 commit comments

Comments
 (0)