timetracker/lib/features/timer/presentation/widgets/project_picker_chip.dart
2026-08-03 21:51:48 +02:00

43 lines
1.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:timetrack/features/projects/domain/project.dart';
import 'package:timetrack/features/timer/presentation/widgets/project_picker_sheet.dart';
class ProjectPickerChip extends StatelessWidget {
const ProjectPickerChip({
super.key,
required this.project,
required this.onChanged,
this.enabled = true,
});
final Project? project;
final ValueChanged<Project?> onChanged;
final bool enabled;
@override
Widget build(BuildContext context) {
final colorScheme = Theme.of(context).colorScheme;
final hasProject = project != null;
return ActionChip(
key: const Key('project_picker_chip'),
avatar: hasProject
? CircleAvatar(
backgroundColor: Color(project!.colorValue),
radius: 10,
)
: Icon(Icons.folder_outlined, size: 18, color: colorScheme.onSurfaceVariant),
label: Text(hasProject ? project!.name : 'Select project'),
onPressed: enabled
? () async {
final selected = await ProjectPickerSheet.show(context);
if (selected != null) onChanged(selected);
}
: null,
backgroundColor: hasProject
? colorScheme.secondaryContainer
: colorScheme.surfaceContainerHighest,
);
}
}