imporved app bar; added quick actions;

This commit is contained in:
Fabian Freund
2024-07-09 09:26:21 +02:00
parent 28197ef59f
commit a38f50488c
17 changed files with 446 additions and 169 deletions
@@ -1,8 +1,15 @@
import 'package:flutter/widgets.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
enum KagiTool {
search,
summarizer,
search(MdiIcons.searchWeb),
summarizer(MdiIcons.text),
//Sort early access features last
assistant,
assistant(MdiIcons.brain);
final IconData icon;
const KagiTool(this.icon);
}
enum AssistantMode {
@@ -1,6 +1,8 @@
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
import 'package:fast_equatable/fast_equatable.dart';
sealed class Sheet {}
// ignore: missing_override_of_must_be_overridden
sealed class Sheet with FastEquatable {}
class CreateTab extends Sheet {
final String? content;
@@ -9,6 +11,18 @@ class CreateTab extends Sheet {
bool get hasParameters => content != null || preferredTool != null;
CreateTab({this.content, this.preferredTool});
@override
bool get cacheHash => true;
@override
List<Object?> get hashParameters => [content, preferredTool];
}
class ViewTabs extends Sheet {}
class ViewTabs extends Sheet {
@override
bool get cacheHash => true;
@override
List<Object?> get hashParameters => [];
}
@@ -33,11 +33,8 @@ class OverlayDialog extends _$OverlayDialog {
class BottomSheet extends _$BottomSheet {
@override
Sheet? build() {
return ref.watch(
createTabStreamProvider.select(
(value) => value.valueOrNull,
),
);
//Don't use select here because it will only fire on new != previous
return ref.watch(createTabStreamProvider).valueOrNull;
}
void show(Sheet sheet) {
@@ -172,7 +172,7 @@ final overlayDialogProvider =
);
typedef _$OverlayDialog = AutoDisposeNotifier<Widget?>;
String _$bottomSheetHash() => r'31108d6d80d5b858024a8a8ae9ebb9c650eabe70';
String _$bottomSheetHash() => r'4040ec50a488b4b12123bedceab6d8620e6abe3d';
/// See also [BottomSheet].
@ProviderFor(BottomSheet)