use global state to memorize assistant options
This commit is contained in:
@@ -4,6 +4,7 @@ import 'dart:async';
|
||||
|
||||
import 'package:bang_navigator/features/bangs/data/models/bang_data.dart';
|
||||
import 'package:bang_navigator/features/bangs/domain/repositories/data.dart';
|
||||
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
|
||||
import 'package:bang_navigator/features/search_browser/domain/entities/sheet.dart';
|
||||
import 'package:bang_navigator/features/search_browser/domain/services/create_tab.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
@@ -91,3 +92,39 @@ Stream<BangData?> selectedBangData(SelectedBangDataRef ref, {String? domain}) {
|
||||
ref.watch(selectedBangTriggerProvider(domain: domain));
|
||||
return repository.watchBang(selectedBangTrigger);
|
||||
}
|
||||
|
||||
@Riverpod(keepAlive: true)
|
||||
class LastUsedAssistantMode extends _$LastUsedAssistantMode {
|
||||
void update(AssistantMode mode) {
|
||||
state = mode;
|
||||
}
|
||||
|
||||
@override
|
||||
AssistantMode build() {
|
||||
return AssistantMode.research;
|
||||
}
|
||||
}
|
||||
|
||||
@Riverpod(keepAlive: true)
|
||||
class ActiveResearchVariant extends _$ActiveResearchVariant {
|
||||
void update(ResearchVariant mode) {
|
||||
state = mode;
|
||||
}
|
||||
|
||||
@override
|
||||
ResearchVariant build() {
|
||||
return ResearchVariant.expert;
|
||||
}
|
||||
}
|
||||
|
||||
@Riverpod(keepAlive: true)
|
||||
class ActiveChatModel extends _$ActiveChatModel {
|
||||
void update(ChatModel model) {
|
||||
state = model;
|
||||
}
|
||||
|
||||
@override
|
||||
ChatModel build() {
|
||||
return ChatModel.gpt4o;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -345,5 +345,56 @@ class _SelectedBangTriggerProviderElement
|
||||
@override
|
||||
String? get domain => (origin as SelectedBangTriggerProvider).domain;
|
||||
}
|
||||
|
||||
String _$lastUsedAssistantModeHash() =>
|
||||
r'1255a2754a3ea5ea058d110fd9743897fe103a69';
|
||||
|
||||
/// See also [LastUsedAssistantMode].
|
||||
@ProviderFor(LastUsedAssistantMode)
|
||||
final lastUsedAssistantModeProvider =
|
||||
NotifierProvider<LastUsedAssistantMode, AssistantMode>.internal(
|
||||
LastUsedAssistantMode.new,
|
||||
name: r'lastUsedAssistantModeProvider',
|
||||
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
|
||||
? null
|
||||
: _$lastUsedAssistantModeHash,
|
||||
dependencies: null,
|
||||
allTransitiveDependencies: null,
|
||||
);
|
||||
|
||||
typedef _$LastUsedAssistantMode = Notifier<AssistantMode>;
|
||||
String _$activeResearchVariantHash() =>
|
||||
r'8c65a3f5ead6cc4f9e2af85b607b7a49b0764ee3';
|
||||
|
||||
/// See also [ActiveResearchVariant].
|
||||
@ProviderFor(ActiveResearchVariant)
|
||||
final activeResearchVariantProvider =
|
||||
NotifierProvider<ActiveResearchVariant, ResearchVariant>.internal(
|
||||
ActiveResearchVariant.new,
|
||||
name: r'activeResearchVariantProvider',
|
||||
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
|
||||
? null
|
||||
: _$activeResearchVariantHash,
|
||||
dependencies: null,
|
||||
allTransitiveDependencies: null,
|
||||
);
|
||||
|
||||
typedef _$ActiveResearchVariant = Notifier<ResearchVariant>;
|
||||
String _$activeChatModelHash() => r'675f406af8b4aa92699d59e37b5805a81d03a799';
|
||||
|
||||
/// See also [ActiveChatModel].
|
||||
@ProviderFor(ActiveChatModel)
|
||||
final activeChatModelProvider =
|
||||
NotifierProvider<ActiveChatModel, ChatModel>.internal(
|
||||
ActiveChatModel.new,
|
||||
name: r'activeChatModelProvider',
|
||||
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
|
||||
? null
|
||||
: _$activeChatModelHash,
|
||||
dependencies: null,
|
||||
allTransitiveDependencies: null,
|
||||
);
|
||||
|
||||
typedef _$ActiveChatModel = Notifier<ChatModel>;
|
||||
// ignore_for_file: type=lint
|
||||
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
|
||||
|
||||
Reference in New Issue
Block a user