Use ontology traits in map UI
All checks were successful
Build and deploy Flutter Web / build (push) Successful in 3m17s

This commit is contained in:
Ruslan Bakiev
2026-05-08 16:22:36 +07:00
parent 238521b11b
commit 277888c407
4 changed files with 47 additions and 123 deletions

View File

@@ -75,7 +75,7 @@ class _MapContent extends ConsumerWidget {
SafeArea(
child: Align(
alignment: Alignment.topCenter,
child: _IntentBar(intent: state.intent),
child: _TraitBar(selectedTrait: state.selectedTrait),
),
),
Align(
@@ -187,10 +187,10 @@ class _MapError extends StatelessWidget {
}
}
class _IntentBar extends ConsumerWidget {
const _IntentBar({required this.intent});
class _TraitBar extends ConsumerWidget {
const _TraitBar({required this.selectedTrait});
final UserIntent intent;
final PlaceTrait selectedTrait;
@override
Widget build(BuildContext context, WidgetRef ref) {
@@ -201,15 +201,15 @@ class _IntentBar extends ConsumerWidget {
margin: const EdgeInsets.fromLTRB(10, 8, 10, 0),
child: ListView.separated(
scrollDirection: Axis.horizontal,
itemCount: UserIntent.values.length,
itemCount: PlaceTrait.values.length,
separatorBuilder: (_, _) => const SizedBox(width: 8),
itemBuilder: (context, index) {
final item = UserIntent.values[index];
final item = PlaceTrait.values[index];
return ChoiceChip(
avatar: Icon(item.icon, size: 17),
label: Text(item.title),
selected: item == intent,
onSelected: (_) => controller.selectIntent(item),
label: Text(item.label),
selected: item == selectedTrait,
onSelected: (_) => controller.selectTrait(item),
backgroundColor: const Color(0xFFFFFBF5),
selectedColor: Theme.of(context).colorScheme.primaryContainer,
padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 10),