From a4c2618474e96f99c2ceb49c28c0a05cd5d92fca Mon Sep 17 00:00:00 2001 From: klockky Date: Thu, 11 Jun 2026 17:24:01 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B2=D0=B5=D1=80=D0=BD=D1=83=D0=BB=20?= =?UTF-8?q?=D0=BD=D0=BE=D1=80=D0=BC=D0=B0=D0=BB=D1=8C=D0=BD=D1=83=D1=8E=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D0=BE=D1=81=D0=BA=D1=83=20=D0=B2=D1=8B=D0=B1?= =?UTF-8?q?=D0=BE=D1=80=D0=B0=20=D1=82=D0=B8=D0=BF=D0=B0=20=D0=BC=D0=B5?= =?UTF-8?q?=D0=B4=D0=B8=D0=B0=20=D0=B2=20=D1=88=D1=82=D0=BE=D1=80=D0=BA?= =?UTF-8?q?=D0=B5=20=D0=B2=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D0=B9=20(?= =?UTF-8?q?=D0=BD=D0=B0=D0=B7=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20+=20=D1=80?= =?UTF-8?q?=D0=B0=D1=81=D1=88=D0=B8=D1=80=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B0?= =?UTF-8?q?=D0=BA=D1=82=D0=B8=D0=B2=D0=BD=D0=BE=D0=B9=20=D0=B2=D0=BA=D0=BB?= =?UTF-8?q?=D0=B0=D0=B4=D0=BA=D0=B8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../widgets/attachment/attachment_sheet.dart | 54 ++++++++++--------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/lib/frontend/widgets/attachment/attachment_sheet.dart b/lib/frontend/widgets/attachment/attachment_sheet.dart index 24e3e89..4d8009d 100644 --- a/lib/frontend/widgets/attachment/attachment_sheet.dart +++ b/lib/frontend/widgets/attachment/attachment_sheet.dart @@ -587,32 +587,36 @@ class _AttachmentSheetState extends State { } Widget _buildPillNav() { - final geometry = PillNavGeometry.equal(54, _navItems.length); - return Align( + return LayoutBuilder( key: const ValueKey('nav'), - child: GestureDetector( - behavior: HitTestBehavior.opaque, - onHorizontalDragStart: (_) => _onPillDragStart(), - onHorizontalDragUpdate: (d) => - _onPillDragUpdate(d.delta.dx, geometry.inactiveWidth), - onHorizontalDragEnd: (_) => _onPillDragEnd(), - onHorizontalDragCancel: _onPillDragEnd, - child: AnimatedBuilder( - animation: _pageController, - builder: (context, _) { - final cs = Theme.of(context).colorScheme; - return SlidingPillNav( - items: _navItems, - position: _currentPageT(), - geometry: geometry, - onTap: _onSectionTap, - iconsOnly: true, - backgroundColor: _composerColor(cs), - borderColor: _composerBorderColor(cs), - ); - }, - ), - ), + builder: (context, constraints) { + final geometry = PillNavGeometry.fromInnerWidth( + constraints.maxWidth - 4, + _navItems.length, + ); + return GestureDetector( + behavior: HitTestBehavior.opaque, + onHorizontalDragStart: (_) => _onPillDragStart(), + onHorizontalDragUpdate: (d) => + _onPillDragUpdate(d.delta.dx, geometry.inactiveWidth), + onHorizontalDragEnd: (_) => _onPillDragEnd(), + onHorizontalDragCancel: _onPillDragEnd, + child: AnimatedBuilder( + animation: _pageController, + builder: (context, _) { + final cs = Theme.of(context).colorScheme; + return SlidingPillNav( + items: _navItems, + position: _currentPageT(), + geometry: geometry, + onTap: _onSectionTap, + backgroundColor: _composerColor(cs), + borderColor: _composerBorderColor(cs), + ); + }, + ), + ); + }, ); }