tab trees

This commit is contained in:
Fabian Freund
2025-06-23 19:43:36 +02:00
parent 8445b768f0
commit 4f682744da
28 changed files with 2687 additions and 2256 deletions
@@ -53,23 +53,27 @@ class TabRepository extends _$TabRepository {
.read(selectedContainerProvider.notifier)
.fetchData();
return ref.read(tabDatabaseProvider).tabDao.upsertContainerTabTransactional(
() {
return _tabsService.addTab(
url: url,
selectTab: selectTab,
startLoading: startLoading,
parentId: parentId,
flags: flags,
contextId: selectedContainer?.metadata.contextualIdentity,
source: source,
private: private,
historyMetadata: historyMetadata,
additionalHeaders: additionalHeaders,
return ref
.read(tabDatabaseProvider)
.tabDao
.upsertContainerTabTransactional(
() {
return _tabsService.addTab(
url: url,
selectTab: selectTab,
startLoading: startLoading,
parentId: parentId,
flags: flags,
contextId: selectedContainer?.metadata.contextualIdentity,
source: source,
private: private,
historyMetadata: historyMetadata,
additionalHeaders: additionalHeaders,
);
},
parentId: Value(parentId),
containerId: Value(selectedContainer?.id),
);
},
containerId: Value(selectedContainer?.id),
);
}
Future<String> duplicateTab({
@@ -83,16 +87,20 @@ class TabRepository extends _$TabRepository {
.getContainerData(containerId),
);
return ref.read(tabDatabaseProvider).tabDao.upsertContainerTabTransactional(
() {
return _tabsService.duplicateTab(
selectTabId: selectTabId,
newContextId: containerData?.metadata.contextualIdentity,
selectNewTab: selectTab,
return ref
.read(tabDatabaseProvider)
.tabDao
.upsertContainerTabTransactional(
() {
return _tabsService.duplicateTab(
selectTabId: selectTabId,
newContextId: containerData?.metadata.contextualIdentity,
selectNewTab: selectTab,
);
},
parentId: const Value.absent(),
containerId: Value(containerData?.id),
);
},
containerId: Value(containerData?.id),
);
}
Future<bool> selectPreviousTab() async {
@@ -227,6 +235,7 @@ class TabRepository extends _$TabRepository {
final containerId = ref.read(selectedContainerProvider);
await db.tabDao.upsertUnassignedTab(
tabId,
parentId: const Value.absent(),
containerId: Value(containerId),
);
});
@@ -6,7 +6,7 @@ part of 'tab.dart';
// RiverpodGenerator
// **************************************************************************
String _$tabRepositoryHash() => r'9b7ef03bec41f149b3cb456b73d7ee0e1b2804df';
String _$tabRepositoryHash() => r'db220096fef5d125a698063e9a88272db92e75c5';
/// See also [TabRepository].
@ProviderFor(TabRepository)