diff --git a/packages/web/src/modals/NewObjectModal.svelte b/packages/web/src/modals/NewObjectModal.svelte
new file mode 100644
index 000000000..7c3af96c8
--- /dev/null
+++ b/packages/web/src/modals/NewObjectModal.svelte
@@ -0,0 +1,18 @@
+
+
+
+ {
+ newQuery({ multiTabIndex });
+ closeCurrentModal();
+ }}
+ />
+
diff --git a/packages/web/src/tabpanel/TabsPanel.svelte b/packages/web/src/tabpanel/TabsPanel.svelte
index bbb7c30a8..64ac65104 100644
--- a/packages/web/src/tabpanel/TabsPanel.svelte
+++ b/packages/web/src/tabpanel/TabsPanel.svelte
@@ -353,6 +353,7 @@
import { getConnectionLabel } from 'dbgate-tools';
import { handleAfterTabClick } from '../utility/changeCurrentDbByTab';
import { getBoolSettingsValue } from '../settings/settingsTools';
+ import NewObjectModal from '../modals/NewObjectModal.svelte';
export let multiTabIndex;
export let shownTab;
@@ -716,7 +717,7 @@
{/if}
newQuery({ multiTabIndex })}
+ on:click={() => showModal(NewObjectModal, { multiTabIndex })}
title="New query"
data-testid="TabsPanel_buttonNewQuery"
>
diff --git a/packages/web/src/widgets/WidgetIconPanel.svelte b/packages/web/src/widgets/WidgetIconPanel.svelte
index ead3e939e..1d374da0f 100644
--- a/packages/web/src/widgets/WidgetIconPanel.svelte
+++ b/packages/web/src/widgets/WidgetIconPanel.svelte
@@ -17,6 +17,8 @@
import { openWebLink } from '../utility/simpleTools';
import { apiCall } from '../utility/api';
import getElectron from '../utility/getElectron';
+ import { showModal } from '../modals/modalTools';
+ import NewObjectModal from '../modals/NewObjectModal.svelte';
let domSettings;
let domCloudAccount;
@@ -171,6 +173,15 @@
{/each}
+ showModal(NewObjectModal)}
+ data-testid="WidgetIconPanel_addButton"
+ title="Add New"
+ >
+
+
+