aboutsummaryrefslogtreecommitdiffstats
path: root/apps/web/components/ui
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-03-19 12:41:06 +0000
committerMohamedBassem <me@mbassem.com>2024-03-19 12:44:12 +0000
commit64fb87d0ceb591a49aacad39bf5e885cab7decfa (patch)
treeda60a56a0f6546d20d753519e525e9259f789e9c /apps/web/components/ui
parentf94432b94512cef90cca6d0d5396b4547ccbe68b (diff)
downloadkarakeep-64fb87d0ceb591a49aacad39bf5e885cab7decfa.tar.zst
feature(web): Add support for demo mode
Diffstat (limited to 'apps/web/components/ui')
-rw-r--r--apps/web/components/ui/action-button.tsx9
1 files changed, 8 insertions, 1 deletions
diff --git a/apps/web/components/ui/action-button.tsx b/apps/web/components/ui/action-button.tsx
index 11b02a5f..5b862e07 100644
--- a/apps/web/components/ui/action-button.tsx
+++ b/apps/web/components/ui/action-button.tsx
@@ -1,3 +1,5 @@
+import { useClientConfig } from "@/lib/clientConfig";
+
import type { ButtonProps } from "./button";
import { Button } from "./button";
import LoadingSpinner from "./spinner";
@@ -7,13 +9,18 @@ export function ActionButton({
loading,
spinner,
disabled,
+ ignoreDemoMode = false,
...props
}: ButtonProps & {
loading: boolean;
spinner?: React.ReactNode;
+ ignoreDemoMode?: boolean;
}) {
+ const clientConfig = useClientConfig();
spinner ||= <LoadingSpinner />;
- if (disabled !== undefined) {
+ if (!ignoreDemoMode && clientConfig.demoMode) {
+ disabled = true;
+ } else if (disabled !== undefined) {
disabled ||= loading;
} else if (loading) {
disabled = true;