From 3f182c5f93f537c2947a6a1c4880d967f9f82303 Mon Sep 17 00:00:00 2001
From: unbedenklich <106080544+unbedenklich@users.noreply.github.com>
Date: Thu, 29 Jan 2026 21:20:09 +0100
Subject: [PATCH 1/2] button card
---
.claude/settings.local.json | 53 ++++++++++---------
src/lib/cards/ButtonCard/ButtonCard.svelte | 18 +++++++
.../ButtonCard/ButtonCardSettings.svelte | 34 ++++++++++++
.../cards/ButtonCard/EditingButtonCard.svelte | 19 +++++++
src/lib/cards/ButtonCard/index.ts | 31 +++++++++++
src/lib/cards/index.ts | 2 +
6 files changed, 131 insertions(+), 26 deletions(-)
create mode 100644 src/lib/cards/ButtonCard/ButtonCard.svelte
create mode 100644 src/lib/cards/ButtonCard/ButtonCardSettings.svelte
create mode 100644 src/lib/cards/ButtonCard/EditingButtonCard.svelte
create mode 100644 src/lib/cards/ButtonCard/index.ts
diff --git a/.claude/settings.local.json b/.claude/settings.local.json
index 591f662..fe14c0b 100644
--- a/.claude/settings.local.json
+++ b/.claude/settings.local.json
@@ -1,28 +1,29 @@
{
- "permissions": {
- "allow": [
- "Bash(pnpm check:*)",
- "mcp__ide__getDiagnostics",
- "mcp__plugin_svelte_svelte__svelte-autofixer",
- "mcp__plugin_svelte_svelte__list-sections",
- "Bash(pkill:*)",
- "Bash(timeout 8 pnpm dev:*)",
- "Bash(git checkout:*)",
- "Bash(npx svelte-kit:*)",
- "Bash(ls:*)",
- "Bash(pnpm format:*)",
- "Bash(pnpm add:*)",
- "WebSearch",
- "WebFetch(domain:github.com)",
- "WebFetch(domain:flipclockjs.com)",
- "WebFetch(domain:codepen.io)",
- "WebFetch(domain:flo-bit.dev)",
- "Bash(pnpm install)",
- "Bash(pnpm install:*)",
- "Bash(pnpm config:*)",
- "Bash(lsof:*)",
- "Bash(pnpm dev)",
- "Bash(pnpm exec svelte-kit:*)"
- ]
- }
+ "permissions": {
+ "allow": [
+ "Bash(pnpm check:*)",
+ "mcp__ide__getDiagnostics",
+ "mcp__plugin_svelte_svelte__svelte-autofixer",
+ "mcp__plugin_svelte_svelte__list-sections",
+ "Bash(pkill:*)",
+ "Bash(timeout 8 pnpm dev:*)",
+ "Bash(git checkout:*)",
+ "Bash(npx svelte-kit:*)",
+ "Bash(ls:*)",
+ "Bash(pnpm format:*)",
+ "Bash(pnpm add:*)",
+ "WebSearch",
+ "WebFetch(domain:github.com)",
+ "WebFetch(domain:flipclockjs.com)",
+ "WebFetch(domain:codepen.io)",
+ "WebFetch(domain:flo-bit.dev)",
+ "Bash(pnpm install)",
+ "Bash(pnpm install:*)",
+ "Bash(pnpm config:*)",
+ "Bash(lsof:*)",
+ "Bash(pnpm dev)",
+ "Bash(pnpm exec svelte-kit:*)",
+ "Bash(pnpm build:*)"
+ ]
+ }
}
diff --git a/src/lib/cards/ButtonCard/ButtonCard.svelte b/src/lib/cards/ButtonCard/ButtonCard.svelte
new file mode 100644
index 0000000..d8048e5
--- /dev/null
+++ b/src/lib/cards/ButtonCard/ButtonCard.svelte
@@ -0,0 +1,18 @@
+
+
+
+
+ {item.cardData.text || 'Click me'}
+
+
diff --git a/src/lib/cards/ButtonCard/ButtonCardSettings.svelte b/src/lib/cards/ButtonCard/ButtonCardSettings.svelte
new file mode 100644
index 0000000..a248500
--- /dev/null
+++ b/src/lib/cards/ButtonCard/ButtonCardSettings.svelte
@@ -0,0 +1,34 @@
+
+
+
+
+
+ {
+ if (event.code === 'Enter') {
+ event.preventDefault();
+ confirmUrl();
+ }
+ }}
+ />
+
+
diff --git a/src/lib/cards/ButtonCard/EditingButtonCard.svelte b/src/lib/cards/ButtonCard/EditingButtonCard.svelte
new file mode 100644
index 0000000..d39a5b1
--- /dev/null
+++ b/src/lib/cards/ButtonCard/EditingButtonCard.svelte
@@ -0,0 +1,19 @@
+
+
+
diff --git a/src/lib/cards/ButtonCard/index.ts b/src/lib/cards/ButtonCard/index.ts
new file mode 100644
index 0000000..e5c0080
--- /dev/null
+++ b/src/lib/cards/ButtonCard/index.ts
@@ -0,0 +1,31 @@
+import type { CardDefinition } from '../types';
+import ButtonCard from './ButtonCard.svelte';
+import EditingButtonCard from './EditingButtonCard.svelte';
+import ButtonCardSettings from './ButtonCardSettings.svelte';
+
+export const ButtonCardDefinition: CardDefinition = {
+ type: 'button',
+ contentComponent: ButtonCard,
+ editingContentComponent: EditingButtonCard,
+ settingsComponent: ButtonCardSettings,
+ sidebarButtonText: 'Button',
+
+ createNew: (card) => {
+ card.cardData = {
+ text: 'Click me'
+ };
+ card.w = 2;
+ card.h = 1;
+ card.mobileW = 4;
+ card.mobileH = 2;
+ },
+
+ defaultColor: 'transparent',
+ allowSetColor: true,
+ canHaveLabel: false,
+
+ minW: 2,
+ minH: 1,
+ maxW: 8,
+ maxH: 4
+};
diff --git a/src/lib/cards/index.ts b/src/lib/cards/index.ts
index 1aa9e96..59e41cf 100644
--- a/src/lib/cards/index.ts
+++ b/src/lib/cards/index.ts
@@ -31,9 +31,11 @@ import { VCardCardDefinition } from './VCardCard';
import { DrawCardDefinition } from './DrawCard';
import { TimerCardDefinition } from './TimerCard';
import { SpotifyCardDefinition } from './SpotifyCard';
+import { ButtonCardDefinition } from './ButtonCard';
// import { Model3DCardDefinition } from './Model3DCard';
export const AllCardDefinitions = [
+ ButtonCardDefinition,
ImageCardDefinition,
VideoCardDefinition,
TextCardDefinition,
--
2.51.2
From 246e5608e70ae18c58d0166669fe8c3bfe8c0f49 Mon Sep 17 00:00:00 2001
From: unbedenklich <106080544+unbedenklich@users.noreply.github.com>
Date: Thu, 29 Jan 2026 21:21:41 +0100
Subject: [PATCH 2/2] run format
---
.claude/settings.local.json | 54 ++++++++++++++++++-------------------
1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/.claude/settings.local.json b/.claude/settings.local.json
index fe14c0b..03896c1 100644
--- a/.claude/settings.local.json
+++ b/.claude/settings.local.json
@@ -1,29 +1,29 @@
{
- "permissions": {
- "allow": [
- "Bash(pnpm check:*)",
- "mcp__ide__getDiagnostics",
- "mcp__plugin_svelte_svelte__svelte-autofixer",
- "mcp__plugin_svelte_svelte__list-sections",
- "Bash(pkill:*)",
- "Bash(timeout 8 pnpm dev:*)",
- "Bash(git checkout:*)",
- "Bash(npx svelte-kit:*)",
- "Bash(ls:*)",
- "Bash(pnpm format:*)",
- "Bash(pnpm add:*)",
- "WebSearch",
- "WebFetch(domain:github.com)",
- "WebFetch(domain:flipclockjs.com)",
- "WebFetch(domain:codepen.io)",
- "WebFetch(domain:flo-bit.dev)",
- "Bash(pnpm install)",
- "Bash(pnpm install:*)",
- "Bash(pnpm config:*)",
- "Bash(lsof:*)",
- "Bash(pnpm dev)",
- "Bash(pnpm exec svelte-kit:*)",
- "Bash(pnpm build:*)"
- ]
- }
+ "permissions": {
+ "allow": [
+ "Bash(pnpm check:*)",
+ "mcp__ide__getDiagnostics",
+ "mcp__plugin_svelte_svelte__svelte-autofixer",
+ "mcp__plugin_svelte_svelte__list-sections",
+ "Bash(pkill:*)",
+ "Bash(timeout 8 pnpm dev:*)",
+ "Bash(git checkout:*)",
+ "Bash(npx svelte-kit:*)",
+ "Bash(ls:*)",
+ "Bash(pnpm format:*)",
+ "Bash(pnpm add:*)",
+ "WebSearch",
+ "WebFetch(domain:github.com)",
+ "WebFetch(domain:flipclockjs.com)",
+ "WebFetch(domain:codepen.io)",
+ "WebFetch(domain:flo-bit.dev)",
+ "Bash(pnpm install)",
+ "Bash(pnpm install:*)",
+ "Bash(pnpm config:*)",
+ "Bash(lsof:*)",
+ "Bash(pnpm dev)",
+ "Bash(pnpm exec svelte-kit:*)",
+ "Bash(pnpm build:*)"
+ ]
+ }
}
--
2.51.2