Skip to content

Commit 67a6c36

Browse files
Merge pull request #459 from QueryaHub/issue/447-ddl-overlay-pop
fix(ui): always pop DDL loading overlay (#447)
2 parents 8166790 + 2cd9b6c commit 67a6c36

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

‎lib/features/extensions/extension_table_view.dart‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ class _ExtensionTableViewState extends material.State<ExtensionTableView> {
177177
}
178178

179179
Future<void> _openDdlDialog() async {
180+
final navigator = material.Navigator.of(context, rootNavigator: true);
180181
unawaited(showAppDialog<void>(
181182
context: context,
182183
barrierDismissible: false,
@@ -191,8 +192,8 @@ class _ExtensionTableViewState extends material.State<ExtensionTableView> {
191192
nodeId: widget.tableName,
192193
nodeType: widget.isView ? 'view' : 'table',
193194
);
195+
if (navigator.canPop()) navigator.pop();
194196
if (!mounted) return;
195-
material.Navigator.of(context).pop();
196197

197198
final ddlText = meta.ddl?.trim().isNotEmpty == true
198199
? meta.ddl!
@@ -223,8 +224,8 @@ class _ExtensionTableViewState extends material.State<ExtensionTableView> {
223224
),
224225
);
225226
} catch (e) {
227+
if (navigator.canPop()) navigator.pop();
226228
if (!mounted) return;
227-
material.Navigator.of(context).pop();
228229
showAppToast(
229230
context: context,
230231
message: 'Failed to fetch DDL: $e',

‎lib/features/sqlite/sqlite_table_view.dart‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ class _SqliteTableViewState extends material.State<SqliteTableView> {
194194
Future<void> _showDdlDialog() async {
195195
final conn = _connection;
196196
if (conn == null || !conn.isConnected) return;
197+
final navigator = material.Navigator.of(context, rootNavigator: true);
197198
unawaited(showAppDialog<void>(
198199
context: context,
199200
barrierDismissible: false,
@@ -203,8 +204,8 @@ class _SqliteTableViewState extends material.State<SqliteTableView> {
203204
));
204205
try {
205206
final ddl = await conn.getObjectDdl(widget.tableName);
207+
if (navigator.canPop()) navigator.pop();
206208
if (!mounted) return;
207-
material.Navigator.of(context).pop();
208209
await showAppDialog<void>(
209210
context: context,
210211
builder: (ctx) => material.AlertDialog(
@@ -230,8 +231,8 @@ class _SqliteTableViewState extends material.State<SqliteTableView> {
230231
),
231232
);
232233
} catch (e) {
234+
if (navigator.canPop()) navigator.pop();
233235
if (!mounted) return;
234-
material.Navigator.of(context).pop();
235236
showAppToast(
236237
context: context,
237238
message: 'Failed to fetch DDL: $e',

0 commit comments

Comments
 (0)