From 022c1f993e11115fd8c57988f092d8bb2389daa6 Mon Sep 17 00:00:00 2001 From: ZhuchkaTriplesix Date: Tue, 28 Jul 2026 22:43:25 +0300 Subject: [PATCH] ui(connections): migrate connection forms to QueryaDialogCard Align create/edit shells with Preferences and Extension Manager so dialog chrome uses the shared Material + ambient text/icon pattern. --- .../extension_connection_form.dart | 20 ++++++------------ .../connections/sqlite_connection_form.dart | 21 +++++++------------ .../mongodb/mongodb_connection_form.dart | 18 +++++----------- lib/features/mysql/mysql_connection_form.dart | 18 +++++----------- .../postgresql_connection_form.dart | 18 +++++----------- lib/features/redis/redis_connection_form.dart | 18 +++++----------- 6 files changed, 33 insertions(+), 80 deletions(-) diff --git a/lib/features/connections/extension_connection_form.dart b/lib/features/connections/extension_connection_form.dart index 587dfad..13845d8 100644 --- a/lib/features/connections/extension_connection_form.dart +++ b/lib/features/connections/extension_connection_form.dart @@ -190,27 +190,20 @@ class _ExtensionConnectionFormContentState @override material.Widget build(material.BuildContext context) { final theme = Theme.of(context).colorScheme; - final radius = Theme.of(context).radiusXxl; final title = _isEditing ? 'Edit ${widget.driver.displayName}' : widget.driver.displayName; - return material.Container( + return QueryaDialogCard( constraints: WindowLayout.dialogConstraints( context, maxWidth: WindowLayout.connectionFormMaxWidth, minWidth: 440, ), - decoration: material.BoxDecoration( - color: theme.popover, - borderRadius: material.BorderRadius.circular(radius), - border: material.Border.all(color: theme.muted), - ), - child: material.ClipRRect( - borderRadius: material.BorderRadius.circular(radius), - child: material.Column( - mainAxisSize: material.MainAxisSize.min, - crossAxisAlignment: material.CrossAxisAlignment.stretch, - children: [ + borderColor: theme.muted, + child: material.Column( + mainAxisSize: material.MainAxisSize.min, + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ material.Padding( padding: const material.EdgeInsets.fromLTRB(24, 24, 24, 8), child: material.Column( @@ -315,7 +308,6 @@ class _ExtensionConnectionFormContentState ), ], ), - ), ); } } diff --git a/lib/features/connections/sqlite_connection_form.dart b/lib/features/connections/sqlite_connection_form.dart index 1ca2f71..5185f21 100644 --- a/lib/features/connections/sqlite_connection_form.dart +++ b/lib/features/connections/sqlite_connection_form.dart @@ -174,21 +174,14 @@ class _SqliteConnectionFormContentState final dialogH = WindowLayout.newConnectionDialogHeight(context); final scrollH = dialogH - 120.0; // Subtract header and footer heights - return material.Container( + return material.SizedBox( width: dialogMaxW, - constraints: material.BoxConstraints( - maxWidth: dialogMaxW, - maxHeight: dialogH, - ), - decoration: material.BoxDecoration( - color: theme.popover, - borderRadius: - material.BorderRadius.circular(Theme.of(context).radiusXxl), - border: material.Border.all(color: theme.muted), - ), - child: material.ClipRRect( - borderRadius: - material.BorderRadius.circular(Theme.of(context).radiusXxl), + child: QueryaDialogCard( + constraints: material.BoxConstraints( + maxWidth: dialogMaxW, + maxHeight: dialogH, + ), + borderColor: theme.muted, child: material.Column( mainAxisSize: material.MainAxisSize.min, crossAxisAlignment: material.CrossAxisAlignment.stretch, diff --git a/lib/features/mongodb/mongodb_connection_form.dart b/lib/features/mongodb/mongodb_connection_form.dart index 8ca301f..88bf852 100644 --- a/lib/features/mongodb/mongodb_connection_form.dart +++ b/lib/features/mongodb/mongodb_connection_form.dart @@ -330,24 +330,17 @@ class _MongoConnectionFormContentState @override material.Widget build(material.BuildContext context) { final theme = Theme.of(context).colorScheme; - final radius = Theme.of(context).radiusXxl; - return material.Container( + return QueryaDialogCard( constraints: WindowLayout.dialogConstraints( context, maxWidth: WindowLayout.connectionFormMaxWidth, maxHeight: WindowLayout.connectionFormMongoMaxHeight, ), - decoration: material.BoxDecoration( - color: theme.popover, - borderRadius: material.BorderRadius.circular(radius), - border: material.Border.all(color: theme.muted), - ), - child: material.ClipRRect( - borderRadius: material.BorderRadius.circular(radius), - child: material.Column( - crossAxisAlignment: material.CrossAxisAlignment.stretch, - children: [ + borderColor: theme.muted, + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ material.Padding( padding: const material.EdgeInsets.fromLTRB(24, 24, 24, 16), child: Column( @@ -706,7 +699,6 @@ class _MongoConnectionFormContentState ), ], ), - ), ); } } diff --git a/lib/features/mysql/mysql_connection_form.dart b/lib/features/mysql/mysql_connection_form.dart index 7c1d6af..de32365 100644 --- a/lib/features/mysql/mysql_connection_form.dart +++ b/lib/features/mysql/mysql_connection_form.dart @@ -295,24 +295,17 @@ class _MysqlConnectionFormContentState @override material.Widget build(material.BuildContext context) { final theme = Theme.of(context).colorScheme; - final radius = Theme.of(context).radiusXxl; - return material.Container( + return QueryaDialogCard( constraints: WindowLayout.dialogConstraints( context, maxWidth: WindowLayout.connectionFormMaxWidth, maxHeight: WindowLayout.connectionFormMaxHeight, ), - decoration: material.BoxDecoration( - color: theme.popover, - borderRadius: material.BorderRadius.circular(radius), - border: material.Border.all(color: theme.muted), - ), - child: material.ClipRRect( - borderRadius: material.BorderRadius.circular(radius), - child: material.Column( - crossAxisAlignment: material.CrossAxisAlignment.stretch, - children: [ + borderColor: theme.muted, + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ material.Padding( padding: const material.EdgeInsets.fromLTRB(24, 24, 24, 16), child: material.Column( @@ -619,7 +612,6 @@ class _MysqlConnectionFormContentState ), ], ), - ), ); } } diff --git a/lib/features/postgresql/postgresql_connection_form.dart b/lib/features/postgresql/postgresql_connection_form.dart index 98bec1c..b66d9e2 100644 --- a/lib/features/postgresql/postgresql_connection_form.dart +++ b/lib/features/postgresql/postgresql_connection_form.dart @@ -412,24 +412,17 @@ class _PostgresConnectionFormContentState @override material.Widget build(material.BuildContext context) { final theme = Theme.of(context).colorScheme; - final radius = Theme.of(context).radiusXxl; - return material.Container( + return QueryaDialogCard( constraints: WindowLayout.dialogConstraints( context, maxWidth: WindowLayout.connectionFormMaxWidth, maxHeight: WindowLayout.connectionFormMaxHeight, ), - decoration: material.BoxDecoration( - color: theme.popover, - borderRadius: material.BorderRadius.circular(radius), - border: material.Border.all(color: theme.muted), - ), - child: material.ClipRRect( - borderRadius: material.BorderRadius.circular(radius), - child: material.Column( - crossAxisAlignment: material.CrossAxisAlignment.stretch, - children: [ + borderColor: theme.muted, + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ // Header material.Padding( padding: const material.EdgeInsets.fromLTRB(24, 24, 24, 16), @@ -765,7 +758,6 @@ class _PostgresConnectionFormContentState ), ], ), - ), ); } } diff --git a/lib/features/redis/redis_connection_form.dart b/lib/features/redis/redis_connection_form.dart index 8c2fbe1..f006c45 100644 --- a/lib/features/redis/redis_connection_form.dart +++ b/lib/features/redis/redis_connection_form.dart @@ -269,24 +269,17 @@ class _RedisConnectionFormContentState @override material.Widget build(material.BuildContext context) { final theme = Theme.of(context).colorScheme; - final radius = Theme.of(context).radiusXxl; - return material.Container( + return QueryaDialogCard( constraints: WindowLayout.dialogConstraints( context, maxWidth: WindowLayout.connectionFormMaxWidth, maxHeight: WindowLayout.connectionFormMaxHeight, ), - decoration: material.BoxDecoration( - color: theme.popover, - borderRadius: material.BorderRadius.circular(radius), - border: material.Border.all(color: theme.muted), - ), - child: material.ClipRRect( - borderRadius: material.BorderRadius.circular(radius), - child: material.Column( - crossAxisAlignment: material.CrossAxisAlignment.stretch, - children: [ + borderColor: theme.muted, + child: material.Column( + crossAxisAlignment: material.CrossAxisAlignment.stretch, + children: [ material.Padding( padding: const material.EdgeInsets.fromLTRB(24, 24, 24, 16), child: material.Column( @@ -563,7 +556,6 @@ class _RedisConnectionFormContentState ), ], ), - ), ); } }