Selaa lähdekoodia

feat: add "active tab" option in switch tab block

Ahmad Kholid 3 vuotta sitten
vanhempi
commit
537723d87e

+ 3 - 2
src/background/workflowEngine/blocksHandler/handlerSwitchTab.js

@@ -12,6 +12,7 @@ export default async function ({ data, outputs }) {
     return error;
   };
   this.windowId = null;
+  const activeTab = data.activeTab ?? true;
   let [tab] = await browser.tabs.query({ url: data.matchPattern });
 
   if (!tab) {
@@ -21,7 +22,7 @@ export default async function ({ data, outputs }) {
       }
 
       tab = await browser.tabs.create({
-        active: true,
+        active: activeTab,
         url: data.url,
         windowId: this.windowId,
       });
@@ -29,7 +30,7 @@ export default async function ({ data, outputs }) {
       throw generateError('no-match-tab', { pattern: data.matchPattern });
     }
   } else {
-    await browser.tabs.update(tab.id, { active: true });
+    await browser.tabs.update(tab.id, { active: activeTab });
   }
 
   if (this.settings.debugMode) {

+ 7 - 0
src/components/newtab/workflow/edit/EditSwitchTab.vue

@@ -41,6 +41,13 @@
         @change="updateData({ url: $event })"
       />
     </edit-autocomplete>
+    <ui-checkbox
+      :model-value="data.activeTab"
+      class="my-2"
+      @change="updateData({ activeTab: $event })"
+    >
+      {{ t('workflow.blocks.new-tab.activeTab') }}
+    </ui-checkbox>
   </div>
 </template>
 <script setup>

+ 2 - 2
src/newtab/pages/Welcome.vue

@@ -1,9 +1,9 @@
 <template>
   <div class="py-16 max-w-xl mx-auto">
-    <h1 class="font-semibold text-2xl mb-8">
+    <h1 class="font-semibold text-3xl mb-8">
       {{ t('welcome.title') }}
     </h1>
-    <p>
+    <p class="text-lg">
       Get started by reading the documentation or browsing workflows in the
       Automa Marketplace. <br />
       To learn how to use Automa, watch the tutorials on our YouTube Channel.

+ 1 - 0
src/utils/shared.js

@@ -125,6 +125,7 @@ export const tasks = {
       description: '',
       url: '',
       matchPattern: '',
+      activeTab: true,
       createIfNoMatch: false,
     },
   },

+ 0 - 4
webpack.config.js

@@ -165,10 +165,6 @@ const options = {
             };
             const isChrome = env.BROWSER === 'chrome';
 
-            if (env.NODE_ENV === 'development' && !isChrome) {
-              manifestObj.content_security_policy =
-                "script-src 'self' 'unsafe-eval'; object-src 'self'";
-            }
             if (manifestObj.version.includes('-')) {
               const [version, preRelease] = manifestObj.version.split('-');