Browse Source

feat: reload when permission granted

Ahmad Kholid 3 years ago
parent
commit
fbf68c9315

+ 1 - 1
src/components/newtab/workflow/edit/Trigger/TriggerContextMenu.vue

@@ -4,7 +4,7 @@
       <p>
         {{ t('workflow.blocks.trigger.contextMenus.noPermission') }}
       </p>
-      <ui-button class="mt-2" @click="permission.request">
+      <ui-button class="mt-2" @click="permission.request(true)">
         {{ t('workflow.blocks.trigger.contextMenus.grantPermission') }}
       </ui-button>
     </template>

+ 1 - 1
src/components/newtab/workflow/settings/SettingsGeneral.vue

@@ -52,7 +52,7 @@
       :model-value="settings.notification"
       @change="updateSetting('notification', $event)"
     />
-    <ui-button v-else @click="permissions.request">
+    <ui-button v-else @click="permissions.request(true)">
       {{ t('workflow.blocks.clipboard.grantPermission') }}
     </ui-button>
   </div>

+ 6 - 1
src/composable/hasPermissions.js

@@ -7,7 +7,7 @@ export function useHasPermissions(permissions) {
   function handlePermission(name, status) {
     hasPermissions[name] = status;
   }
-  function request() {
+  function request(needReload = false) {
     const reqPermissions = permissions.filter(
       (permission) => !hasPermissions[permission]
     );
@@ -20,6 +20,11 @@ export function useHasPermissions(permissions) {
         reqPermissions.forEach((permission) => {
           handlePermission(permission, true);
         });
+
+        if (needReload) {
+          alert('Automa needs to reload to make this feature work');
+          browser.runtime.reload();
+        }
       })
       .catch((error) => {
         console.error(error);