aboutsummaryrefslogtreecommitdiffstats
path: root/apps/web/components/settings
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-04-27 00:02:20 +0100
committerGitHub <noreply@github.com>2025-04-27 00:02:20 +0100
commit136f126296af65f50da598d084d1485c0e40437a (patch)
tree2725c7932ebbcb9b48b5af98eb9b72329a400260 /apps/web/components/settings
parentca47be7fe7be128f459c37614a04902a873fe289 (diff)
downloadkarakeep-136f126296af65f50da598d084d1485c0e40437a.tar.zst
feat: Implement generic rule engine (#1318)
* Add schema for the new rule engine * Add rule engine backend logic * Implement the worker logic and event firing * Implement the UI changesfor the rule engine * Ensure that when a referenced list or tag are deleted, the corresponding event/action is * Dont show smart lists in rule engine events * Add privacy validations for attached tag and list ids * Move the rules logic into a models
Diffstat (limited to 'apps/web/components/settings')
-rw-r--r--apps/web/components/settings/AddApiKey.tsx6
-rw-r--r--apps/web/components/settings/FeedSettings.tsx3
-rw-r--r--apps/web/components/settings/WebhookSettings.tsx12
3 files changed, 17 insertions, 4 deletions
diff --git a/apps/web/components/settings/AddApiKey.tsx b/apps/web/components/settings/AddApiKey.tsx
index 00e70d3f..b41701ba 100644
--- a/apps/web/components/settings/AddApiKey.tsx
+++ b/apps/web/components/settings/AddApiKey.tsx
@@ -30,6 +30,7 @@ import { toast } from "@/components/ui/use-toast";
import { useTranslation } from "@/lib/i18n/client";
import { api } from "@/lib/trpc";
import { zodResolver } from "@hookform/resolvers/zod";
+import { PlusCircle } from "lucide-react";
import { useForm } from "react-hook-form";
import { z } from "zod";
@@ -135,7 +136,10 @@ export default function AddApiKey() {
return (
<Dialog open={dialogOpen} onOpenChange={setDialogOpen}>
<DialogTrigger asChild>
- <Button>{t("settings.api_keys.new_api_key")}</Button>
+ <Button>
+ <PlusCircle className="mr-2 h-4 w-4" />
+ {t("settings.api_keys.new_api_key")}
+ </Button>
</DialogTrigger>
<DialogContent>
<DialogHeader>
diff --git a/apps/web/components/settings/FeedSettings.tsx b/apps/web/components/settings/FeedSettings.tsx
index f5e72372..ff8590c9 100644
--- a/apps/web/components/settings/FeedSettings.tsx
+++ b/apps/web/components/settings/FeedSettings.tsx
@@ -22,6 +22,7 @@ import {
ArrowDownToLine,
CheckCircle,
CircleDashed,
+ CirclePlus,
Edit,
FlaskConical,
Plus,
@@ -93,7 +94,7 @@ export function FeedsEditorDialog() {
<Dialog open={open} onOpenChange={setOpen}>
<DialogTrigger asChild>
<Button>
- <Plus className="mr-2 size-4" />
+ <CirclePlus className="mr-2 size-4" />
{t("settings.feeds.add_a_subscription")}
</Button>
</DialogTrigger>
diff --git a/apps/web/components/settings/WebhookSettings.tsx b/apps/web/components/settings/WebhookSettings.tsx
index 05ca0615..8efd3ba6 100644
--- a/apps/web/components/settings/WebhookSettings.tsx
+++ b/apps/web/components/settings/WebhookSettings.tsx
@@ -16,7 +16,15 @@ import { toast } from "@/components/ui/use-toast";
import { useTranslation } from "@/lib/i18n/client";
import { api } from "@/lib/trpc";
import { zodResolver } from "@hookform/resolvers/zod";
-import { Edit, KeyRound, Plus, Save, Trash2, X } from "lucide-react";
+import {
+ Edit,
+ KeyRound,
+ Plus,
+ PlusCircle,
+ Save,
+ Trash2,
+ X,
+} from "lucide-react";
import { useForm } from "react-hook-form";
import { z } from "zod";
@@ -82,7 +90,7 @@ export function WebhooksEditorDialog() {
<Dialog open={open} onOpenChange={setOpen}>
<DialogTrigger asChild>
<Button>
- <Plus className="mr-2 size-4" />
+ <PlusCircle className="mr-2 size-4" />
{t("settings.webhooks.create_webhook")}
</Button>
</DialogTrigger>