ui improvements
This commit is contained in:
+2
@@ -35,7 +35,9 @@ class ExtensionBadgeIcon extends StatelessWidget {
|
||||
label: hasBadge ? Text(state.badgeText!) : null,
|
||||
textColor: state.badgeTextColor,
|
||||
backgroundColor: state.badgeBackgroundColor,
|
||||
child: RepaintBoundary(
|
||||
child: RawImage(image: state.icon?.value, width: 24, height: 24),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
+26
-37
@@ -380,14 +380,20 @@ class ViewTabsSheetWidget extends HookConsumerWidget {
|
||||
return Stack(
|
||||
alignment: Alignment.bottomRight,
|
||||
children: [
|
||||
Column(
|
||||
children: [
|
||||
DraggableScrollableHeader(
|
||||
NestedScrollView(
|
||||
physics: const NeverScrollableScrollPhysics(),
|
||||
headerSliverBuilder: (context, innerBoxIsScrolled) => [
|
||||
SliverToBoxAdapter(
|
||||
child: DraggableScrollableHeader(
|
||||
controller: draggableScrollableController,
|
||||
child: _TabSheetHeader(onClose: onClose, treeViewEnabled: false),
|
||||
child: _TabSheetHeader(
|
||||
onClose: onClose,
|
||||
treeViewEnabled: false,
|
||||
),
|
||||
Expanded(
|
||||
child: HookConsumer(
|
||||
),
|
||||
),
|
||||
],
|
||||
body: HookConsumer(
|
||||
builder: (context, ref, child) {
|
||||
final gridViewKey = useMemoized(() => GlobalKey());
|
||||
|
||||
@@ -455,8 +461,7 @@ class ViewTabsSheetWidget extends HookConsumerWidget {
|
||||
() => sheetScrollController.hasClients,
|
||||
);
|
||||
|
||||
useEffect(
|
||||
() {
|
||||
useEffect(() {
|
||||
if (scrollControllerIsAttached) {
|
||||
if (lastScroll.value != activeTab) {
|
||||
final index = filteredTabEntities.value.indexWhere(
|
||||
@@ -482,13 +487,7 @@ class ViewTabsSheetWidget extends HookConsumerWidget {
|
||||
}
|
||||
|
||||
return null;
|
||||
},
|
||||
[
|
||||
filteredTabEntities,
|
||||
activeTab,
|
||||
scrollControllerIsAttached,
|
||||
],
|
||||
);
|
||||
}, [filteredTabEntities, activeTab, scrollControllerIsAttached]);
|
||||
|
||||
final tabs = useMemoized(() {
|
||||
return [
|
||||
@@ -496,10 +495,7 @@ class ViewTabsSheetWidget extends HookConsumerWidget {
|
||||
(entity) => CustomDraggable(
|
||||
key: Key(entity.tabId),
|
||||
data: TabDragData(entity.tabId),
|
||||
child: _TabDraggable(
|
||||
entity: entity,
|
||||
onClose: onClose,
|
||||
),
|
||||
child: _TabDraggable(entity: entity, onClose: onClose),
|
||||
),
|
||||
),
|
||||
...suggestedTabEntities.value.map(
|
||||
@@ -547,35 +543,31 @@ class ViewTabsSheetWidget extends HookConsumerWidget {
|
||||
return;
|
||||
}
|
||||
|
||||
final tabId =
|
||||
filteredTabEntities.value[oldIndex].tabId;
|
||||
final tabId = filteredTabEntities.value[oldIndex].tabId;
|
||||
final containerId = await ref
|
||||
.read(tabDataRepositoryProvider.notifier)
|
||||
.getContainerTabId(tabId);
|
||||
|
||||
final String key;
|
||||
if (newIndex <= 0) {
|
||||
key = await containerRepository
|
||||
.getLeadingOrderKey(containerId);
|
||||
key = await containerRepository.getLeadingOrderKey(
|
||||
containerId,
|
||||
);
|
||||
} else if (newIndex >=
|
||||
filteredTabEntities.value.length - 1) {
|
||||
key = await containerRepository
|
||||
.getTrailingOrderKey(containerId);
|
||||
key = await containerRepository.getTrailingOrderKey(
|
||||
containerId,
|
||||
);
|
||||
} else {
|
||||
if (newIndex < oldIndex) {
|
||||
key = await containerRepository
|
||||
.getOrderKeyAfterTab(
|
||||
filteredTabEntities
|
||||
.value[newIndex - 1]
|
||||
.tabId,
|
||||
key = await containerRepository.getOrderKeyAfterTab(
|
||||
filteredTabEntities.value[newIndex - 1].tabId,
|
||||
containerId,
|
||||
);
|
||||
} else {
|
||||
key = await containerRepository
|
||||
.getOrderKeyBeforeTab(
|
||||
filteredTabEntities
|
||||
.value[newIndex + 1]
|
||||
.tabId,
|
||||
filteredTabEntities.value[newIndex + 1].tabId,
|
||||
containerId,
|
||||
);
|
||||
}
|
||||
@@ -589,8 +581,7 @@ class ViewTabsSheetWidget extends HookConsumerWidget {
|
||||
return GridView.builder(
|
||||
key: gridViewKey,
|
||||
controller: controller,
|
||||
gridDelegate:
|
||||
SliverGridDelegateWithFixedCrossAxisCount(
|
||||
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
|
||||
//Sync values for itemHeight calculation _calculateItemHeight
|
||||
childAspectRatio: 0.75,
|
||||
mainAxisSpacing: 8.0,
|
||||
@@ -609,8 +600,6 @@ class ViewTabsSheetWidget extends HookConsumerWidget {
|
||||
},
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
top: _TabSheetHeader.headerSize + 4,
|
||||
|
||||
Reference in New Issue
Block a user