diff --git a/surfsense_desktop/src/modules/menu.ts b/surfsense_desktop/src/modules/menu.ts
index 067a6e461..40e19398c 100644
--- a/surfsense_desktop/src/modules/menu.ts
+++ b/surfsense_desktop/src/modules/menu.ts
@@ -1,4 +1,4 @@
-import { app, Menu } from 'electron';
+import { app, Menu, shell } from 'electron';
import { checkForUpdatesManually } from './auto-updater';
const checkForUpdatesItem: Electron.MenuItemConstructorOptions = {
@@ -8,6 +8,20 @@ const checkForUpdatesItem: Electron.MenuItemConstructorOptions = {
},
};
+const privacyPolicyItem: Electron.MenuItemConstructorOptions = {
+ label: 'Privacy Policy',
+ click: () => {
+ void shell.openExternal('https://www.surfsense.com/privacy');
+ },
+};
+
+const termsOfServiceItem: Electron.MenuItemConstructorOptions = {
+ label: 'Terms of Service',
+ click: () => {
+ void shell.openExternal('https://www.surfsense.com/terms');
+ },
+};
+
export function setupMenu(): void {
const isMac = process.platform === 'darwin';
const template: Electron.MenuItemConstructorOptions[] = [
@@ -32,14 +46,19 @@ export function setupMenu(): void {
{ role: 'editMenu' as const },
{ role: 'viewMenu' as const },
{ role: 'windowMenu' as const },
- ...(!isMac
- ? [{
- role: 'help' as const,
- submenu: [
- checkForUpdatesItem,
- ],
- }]
- : []),
+ {
+ role: 'help' as const,
+ submenu: [
+ ...(!isMac
+ ? [
+ checkForUpdatesItem,
+ { type: 'separator' as const },
+ ]
+ : []),
+ privacyPolicyItem,
+ termsOfServiceItem,
+ ],
+ },
];
Menu.setApplicationMenu(Menu.buildFromTemplate(template));
}
diff --git a/surfsense_web/app/dashboard/[search_space_id]/user-settings/components/AgentPermissionsContent.tsx b/surfsense_web/app/dashboard/[search_space_id]/user-settings/components/AgentPermissionsContent.tsx
index 5af94f7e3..5919abcd6 100644
--- a/surfsense_web/app/dashboard/[search_space_id]/user-settings/components/AgentPermissionsContent.tsx
+++ b/surfsense_web/app/dashboard/[search_space_id]/user-settings/components/AgentPermissionsContent.tsx
@@ -474,8 +474,10 @@ export function AgentPermissionsContent() {
handleConfirmDelete();
}}
disabled={deleteMutation.isPending}
+ className="relative min-w-[88px]"
>
- {deleteMutation.isPending ? "Deleting…" : "Delete"}
+ Delete
+ {deleteMutation.isPending && }