update selected container
This commit is contained in:
@@ -1,8 +1,10 @@
|
|||||||
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
|
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
|
||||||
|
import 'package:lensai/features/geckoview/domain/providers/selected_tab.dart';
|
||||||
import 'package:lensai/features/geckoview/features/tabs/data/models/container_data.dart';
|
import 'package:lensai/features/geckoview/features/tabs/data/models/container_data.dart';
|
||||||
import 'package:lensai/features/geckoview/features/tabs/data/providers.dart';
|
import 'package:lensai/features/geckoview/features/tabs/data/providers.dart';
|
||||||
import 'package:lensai/features/geckoview/features/tabs/domain/providers.dart';
|
import 'package:lensai/features/geckoview/features/tabs/domain/providers.dart';
|
||||||
import 'package:lensai/features/geckoview/features/tabs/domain/repositories/container.dart';
|
import 'package:lensai/features/geckoview/features/tabs/domain/repositories/container.dart';
|
||||||
|
import 'package:lensai/features/geckoview/features/tabs/domain/repositories/tab.dart';
|
||||||
import 'package:lensai/features/user/domain/services/local_authentication.dart';
|
import 'package:lensai/features/user/domain/services/local_authentication.dart';
|
||||||
import 'package:riverpod/riverpod.dart';
|
import 'package:riverpod/riverpod.dart';
|
||||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||||
@@ -81,6 +83,22 @@ class SelectedContainer extends _$SelectedContainer {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
ref.listen(selectedTabProvider, (previous, next) async {
|
||||||
|
if (next != null) {
|
||||||
|
final tabContainerId = await ref
|
||||||
|
.read(tabDataRepositoryProvider.notifier)
|
||||||
|
.containerTabId(next);
|
||||||
|
|
||||||
|
if (tabContainerId != stateOrNull) {
|
||||||
|
if (tabContainerId != null) {
|
||||||
|
await setContainerId(tabContainerId);
|
||||||
|
} else {
|
||||||
|
clearContainer();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, fireImmediately: true);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ final selectedContainerDataProvider =
|
|||||||
@Deprecated('Will be removed in 3.0. Use Ref instead')
|
@Deprecated('Will be removed in 3.0. Use Ref instead')
|
||||||
// ignore: unused_element
|
// ignore: unused_element
|
||||||
typedef SelectedContainerDataRef = AutoDisposeStreamProviderRef<ContainerData?>;
|
typedef SelectedContainerDataRef = AutoDisposeStreamProviderRef<ContainerData?>;
|
||||||
String _$selectedContainerHash() => r'f3fbe035aff6902c8e140f02a3efeca20a75a70f';
|
String _$selectedContainerHash() => r'07f534f8570135cdc47a2332d0eba9ff6fc5cf44';
|
||||||
|
|
||||||
/// See also [SelectedContainer].
|
/// See also [SelectedContainer].
|
||||||
@ProviderFor(SelectedContainer)
|
@ProviderFor(SelectedContainer)
|
||||||
|
|||||||
Reference in New Issue
Block a user