mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2025-04-24 14:47:13 -04:00
fix: click two times to enable local ai
This commit is contained in:
parent
530e076838
commit
40c1ae1d38
2 changed files with 19 additions and 16 deletions
|
@ -30,6 +30,10 @@ class LocalAiPluginBloc extends Bloc<LocalAiPluginEvent, LocalAiPluginState> {
|
|||
LocalAiPluginEvent event,
|
||||
Emitter<LocalAiPluginState> emit,
|
||||
) async {
|
||||
if (isClosed) {
|
||||
return;
|
||||
}
|
||||
|
||||
await event.when(
|
||||
didReceiveAiState: (aiState) {
|
||||
emit(
|
||||
|
@ -54,7 +58,9 @@ class LocalAiPluginBloc extends Bloc<LocalAiPluginEvent, LocalAiPluginState> {
|
|||
emit(LocalAiPluginState.loading());
|
||||
await AIEventToggleLocalAI().send().fold(
|
||||
(aiState) {
|
||||
add(LocalAiPluginEvent.didReceiveAiState(aiState));
|
||||
if (!isClosed) {
|
||||
add(LocalAiPluginEvent.didReceiveAiState(aiState));
|
||||
}
|
||||
},
|
||||
Log.error,
|
||||
);
|
||||
|
@ -69,10 +75,14 @@ class LocalAiPluginBloc extends Bloc<LocalAiPluginEvent, LocalAiPluginState> {
|
|||
void _startListening() {
|
||||
listener.start(
|
||||
stateCallback: (pluginState) {
|
||||
add(LocalAiPluginEvent.didReceiveAiState(pluginState));
|
||||
if (!isClosed) {
|
||||
add(LocalAiPluginEvent.didReceiveAiState(pluginState));
|
||||
}
|
||||
},
|
||||
resourceCallback: (data) {
|
||||
add(LocalAiPluginEvent.didReceiveLackOfResources(data));
|
||||
if (!isClosed) {
|
||||
add(LocalAiPluginEvent.didReceiveLackOfResources(data));
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
|
@ -80,7 +90,9 @@ class LocalAiPluginBloc extends Bloc<LocalAiPluginEvent, LocalAiPluginState> {
|
|||
void _getLocalAiState() {
|
||||
AIEventGetLocalAIState().send().fold(
|
||||
(aiState) {
|
||||
add(LocalAiPluginEvent.didReceiveAiState(aiState));
|
||||
if (!isClosed) {
|
||||
add(LocalAiPluginEvent.didReceiveAiState(aiState));
|
||||
}
|
||||
},
|
||||
Log.error,
|
||||
);
|
||||
|
|
|
@ -47,7 +47,6 @@ class _LocalAISettingState extends State<LocalAISetting> {
|
|||
),
|
||||
header: LocalAiSettingHeader(
|
||||
isEnabled: state.isEnabled,
|
||||
isToggleable: state is ReadyLocalAiPluginState,
|
||||
),
|
||||
collapsed: const SizedBox.shrink(),
|
||||
expanded: Padding(
|
||||
|
@ -65,11 +64,9 @@ class LocalAiSettingHeader extends StatelessWidget {
|
|||
const LocalAiSettingHeader({
|
||||
super.key,
|
||||
required this.isEnabled,
|
||||
required this.isToggleable,
|
||||
});
|
||||
|
||||
final bool isEnabled;
|
||||
final bool isToggleable;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
@ -91,15 +88,9 @@ class LocalAiSettingHeader extends StatelessWidget {
|
|||
],
|
||||
),
|
||||
),
|
||||
IgnorePointer(
|
||||
ignoring: !isToggleable,
|
||||
child: Opacity(
|
||||
opacity: isToggleable ? 1 : 0.5,
|
||||
child: Toggle(
|
||||
value: isEnabled,
|
||||
onChanged: (_) => _onToggleChanged(context),
|
||||
),
|
||||
),
|
||||
Toggle(
|
||||
value: isEnabled,
|
||||
onChanged: (_) => _onToggleChanged(context),
|
||||
),
|
||||
],
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue