diff --git a/lib/widgets/splitview_dashboard.dart b/lib/widgets/splitview_dashboard.dart index 938c7b9b..ad27204f 100644 --- a/lib/widgets/splitview_dashboard.dart +++ b/lib/widgets/splitview_dashboard.dart @@ -19,10 +19,8 @@ class DashboardSplitView extends StatefulWidget { class DashboardSplitViewState extends State { final MultiSplitViewController _controller = MultiSplitViewController( areas: [ - Area(id: "sidebar", min: 220, size: 250, max: 300), // Absolute values - Area(id: "main", min: 600), - // Area(id: "sidebar", flex: 0.3, min: 0.25), // Flex values - // Area(id: "main", flex: 0.7, min: 0.7), + Area(id: "sidebar", min: 220, size: 250, max: 350), + Area(id: "main", min: 400), ], ); diff --git a/lib/widgets/splitview_equal.dart b/lib/widgets/splitview_equal.dart index d1d4dc78..b8d0309a 100644 --- a/lib/widgets/splitview_equal.dart +++ b/lib/widgets/splitview_equal.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:multi_split_view/multi_split_view.dart'; import 'package:apidash/consts.dart'; -class EqualSplitView extends StatefulWidget { +class EqualSplitView extends StatelessWidget { const EqualSplitView({ super.key, required this.leftWidget, @@ -12,17 +12,17 @@ class EqualSplitView extends StatefulWidget { final Widget leftWidget; final Widget rightWidget; - @override - State createState() => _EqualSplitViewState(); -} - -class _EqualSplitViewState extends State { - final MultiSplitViewController _controller = MultiSplitViewController( - areas: [ - Area(id: "left", min: 0.8), - Area(id: "right", min: 0.95), - ], - ); + getMinFractionWidth(double width) { + if (width < 900) { + return 0.9; + } else if (width < 1000) { + return 0.7; + } else if (width < 1200) { + return 0.5; + } else { + return 0.4; + } + } @override Widget build(BuildContext context) { @@ -39,18 +39,18 @@ class _EqualSplitViewState extends State { ), child: LayoutBuilder( builder: (context, constraints) { + final minWidth = getMinFractionWidth(constraints.maxWidth); return MultiSplitView( - controller: _controller, - // MultiSplitViewController( - // areas: [ - // Area(id: "left", size: constraints.maxWidth / 2, min: 240), - // Area(id: "right", size: constraints.maxWidth / 2, min: 260), - // ], - // ), + controller: MultiSplitViewController( + areas: [ + Area(id: "left", flex: 1, min: minWidth), + Area(id: "right", flex: 1, min: minWidth), + ], + ), builder: (context, area) { return switch (area.id) { - "left" => widget.leftWidget, - "right" => widget.rightWidget, + "left" => leftWidget, + "right" => rightWidget, _ => Container(), }; }, @@ -59,10 +59,4 @@ class _EqualSplitViewState extends State { ), ); } - -// @override -// void dispose() { -// _controller.dispose(); -// super.dispose(); -// } } diff --git a/lib/widgets/splitview_equal_temp.dart b/lib/widgets/splitview_equal_temp.dart deleted file mode 100644 index 90f20877..00000000 --- a/lib/widgets/splitview_equal_temp.dart +++ /dev/null @@ -1,80 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:multi_split_view/multi_split_view.dart'; -import 'package:apidash/consts.dart'; - -class EqualSplitView extends StatefulWidget { - const EqualSplitView({ - super.key, - required this.leftWidget, - required this.rightWidget, - }); - - final Widget leftWidget; - final Widget rightWidget; - - @override - State createState() => _EqualSplitViewState(); -} - -class _EqualSplitViewState extends State { - // final MultiSplitViewController _controller = MultiSplitViewController( - // areas: [ - // Area(id: "left", min: kMinRequestEditorDetailsCardPaneSize), - // Area(id: "right", min: kMinRequestEditorDetailsCardPaneSize), - // ], - // ); - - getMinFractionWidth(double width) { - if (width < 900) { - return 0.9; - } else if (width < 1000) { - return 0.7; - } else if (width < 1200) { - return 0.5; - } else { - return 0.4; - } - } - - @override - Widget build(BuildContext context) { - return MultiSplitViewTheme( - data: MultiSplitViewThemeData( - dividerThickness: 3, - dividerPainter: DividerPainters.background( - color: Theme.of(context).colorScheme.surfaceContainerHighest, - highlightedColor: Theme.of(context).colorScheme.outline.withOpacity( - kHintOpacity, - ), - animationEnabled: false, - ), - ), - child: LayoutBuilder( - builder: (context, constraints) { - final minWidth = getMinFractionWidth(constraints.maxWidth); - return MultiSplitView( - controller: MultiSplitViewController( - areas: [ - Area(id: "left", flex: 1, min: minWidth), - Area(id: "right", flex: 1, min: minWidth), - ], - ), - builder: (context, area) { - return switch (area.id) { - "left" => widget.leftWidget, - "right" => widget.rightWidget, - _ => Container(), - }; - }, - ); - }, - ), - ); - } - -// @override -// void dispose() { -// _controller.dispose(); -// super.dispose(); -// } -}