From a2c5a8e2ff98e54570ae3db0404aa34127d9ace5 Mon Sep 17 00:00:00 2001
From: Jon Staab
Date: Mon, 27 Jul 2026 15:38:23 -0700
Subject: [PATCH] Clean up convention violations, dead code, and daisyUI
leftovers
---
AGENTS.md | 2 +-
eslint.config.js | 4 +
package.json | 2 +-
pnpm-lock.yaml | Bin 367701 -> 368711 bytes
pnpm-workspace.yaml | 2 +-
src/app/access.ts | 31 +-----
src/app/call.ts | 11 ---
src/app/components/ChatItem.svelte | 8 +-
src/app/components/ChatMembers.svelte | 4 +-
src/app/components/ChatMessage.svelte | 3 +-
src/app/components/EventInfo.svelte | 3 +-
src/app/components/InfoBunker.svelte | 4 +-
src/app/components/InfoHandle.svelte | 4 +-
src/app/components/InfoNostr.svelte | 4 +-
src/app/components/InfoRelay.svelte | 4 +-
src/app/components/PinForm.svelte | 7 +-
src/app/components/PinboardEdit.svelte | 4 +-
src/app/components/PollActions.svelte | 2 +-
src/app/components/PrimaryNav.svelte | 3 +-
src/app/components/ProfileInfo.svelte | 3 +-
src/app/components/ProfileList.svelte | 4 +-
src/app/components/RoomChat.svelte | 5 +-
src/app/components/RoomCompose.svelte | 2 +-
src/app/components/SpaceMenu.svelte | 6 +-
src/app/components/Toast.svelte | 11 ++-
src/app/components/VideoCallContent.svelte | 2 +-
src/app/feeds.ts | 93 +-----------------
src/app/members.ts | 36 +++----
src/lib/components/Badge.svelte | 13 +--
src/lib/components/Card.svelte | 19 ++--
src/lib/components/CardButton.svelte | 3 +-
src/lib/components/ContentSearch.svelte | 2 +-
src/lib/components/DateTimeInput.svelte | 2 +-
src/lib/components/DateTimeRangeInput.svelte | 2 +-
src/lib/components/Input.svelte | 17 ++--
src/lib/components/Masonry.svelte | 8 +-
src/lib/components/PageContent.svelte | 2 +-
.../[relay]/library/[address]/+page.svelte | 12 ++-
38 files changed, 120 insertions(+), 224 deletions(-)
diff --git a/AGENTS.md b/AGENTS.md
index a15e538e..59363a72 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -6,7 +6,7 @@ Flotilla is a Nostr "relays as groups" community chat client. It implements NIP-
- SvelteKit 5.48+ with TypeScript 5.9+
- Capacitor for cross-platform (Web/PWA, Android, iOS)
-- TailwindCSS + DaisyUI for styling
+- TailwindCSS for styling
- Welshman library suite for Nostr protocol
- IndexedDB for local storage
- Vite for building
diff --git a/eslint.config.js b/eslint.config.js
index 89e6c12b..7d6c1ba2 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -26,6 +26,10 @@ export default [
parser: ts.parser,
},
},
+ rules: {
+ // eslint doesn't see type parameters declared by
@@ -28,6 +30,6 @@
-
+
diff --git a/src/app/components/ChatMessage.svelte b/src/app/components/ChatMessage.svelte
index 6aeeb72f..ce372e21 100644
--- a/src/app/components/ChatMessage.svelte
+++ b/src/app/components/ChatMessage.svelte
@@ -72,8 +72,7 @@
{/if}
+ class={cx("group flex items-center justify-end gap-1 px-2", {"flex-row-reverse": !isOwn})}>
{#if !isMobile}
clip(nevent1)
const copyPubkey = () => clip(npub1)
const copyJson = () => clip(json)
+ const back = () => history.back()
const formatter = new Intl.DateTimeFormat(LOCALE, {
dateStyle: "long",
@@ -110,6 +111,6 @@
-
+
diff --git a/src/app/components/InfoBunker.svelte b/src/app/components/InfoBunker.svelte
index d40f286e..11246146 100644
--- a/src/app/components/InfoBunker.svelte
+++ b/src/app/components/InfoBunker.svelte
@@ -6,6 +6,8 @@
import ModalHeader from "@lib/components/ModalHeader.svelte"
import ModalTitle from "@lib/components/ModalTitle.svelte"
import {PLATFORM_NAME} from "@app/env"
+
+ const back = () => history.back()
nostrapps.com.
-
+
diff --git a/src/app/components/InfoHandle.svelte b/src/app/components/InfoHandle.svelte
index d8556d52..c007f8d6 100644
--- a/src/app/components/InfoHandle.svelte
+++ b/src/app/components/InfoHandle.svelte
@@ -6,6 +6,8 @@
import ModalHeader from "@lib/components/ModalHeader.svelte"
import ModalTitle from "@lib/components/ModalTitle.svelte"
import {PLATFORM_NAME} from "@app/env"
+
+ const back = () => history.back()
nostr.how.
-
+
diff --git a/src/app/components/InfoNostr.svelte b/src/app/components/InfoNostr.svelte
index 7ccfb190..86d89df7 100644
--- a/src/app/components/InfoNostr.svelte
+++ b/src/app/components/InfoNostr.svelte
@@ -5,6 +5,8 @@
import ModalBody from "@lib/components/ModalBody.svelte"
import ModalHeader from "@lib/components/ModalHeader.svelte"
import ModalTitle from "@lib/components/ModalTitle.svelte"
+
+ const back = () => history.back()
nosta.me.
-
+
diff --git a/src/app/components/InfoRelay.svelte b/src/app/components/InfoRelay.svelte
index 73e2cdbd..48889868 100644
--- a/src/app/components/InfoRelay.svelte
+++ b/src/app/components/InfoRelay.svelte
@@ -7,6 +7,8 @@
import Modal from "@lib/components/Modal.svelte"
import ModalBody from "@lib/components/ModalBody.svelte"
import {PLATFORM_NAME} from "@app/env"
+
+ const back = () => history.back()
@@ -27,6 +29,6 @@
-
+
diff --git a/src/app/components/PinForm.svelte b/src/app/components/PinForm.svelte
index bc522181..1ae65e64 100644
--- a/src/app/components/PinForm.svelte
+++ b/src/app/components/PinForm.svelte
@@ -88,10 +88,7 @@
Title
{/snippet}
{#snippet input()}
-
+
{/snippet}
@@ -133,7 +130,7 @@
A URL or nostr link (note, nevent, naddr, npub, or nprofile).
{/snippet}
{#snippet input()}
-
+
{/snippet}
diff --git a/src/app/components/PinboardEdit.svelte b/src/app/components/PinboardEdit.svelte
index 936a196d..e233c752 100644
--- a/src/app/components/PinboardEdit.svelte
+++ b/src/app/components/PinboardEdit.svelte
@@ -65,7 +65,7 @@
Title
{/snippet}
{#snippet input()}
-
+
{/snippet}
@@ -75,7 +75,7 @@
{#snippet input()}
{/snippet}
diff --git a/src/app/components/PollActions.svelte b/src/app/components/PollActions.svelte
index fb7421c4..bf154b22 100644
--- a/src/app/components/PollActions.svelte
+++ b/src/app/components/PollActions.svelte
@@ -12,7 +12,7 @@
import {canEnforceNip70} from "@app/relays"
import {makePollPath, makeSpacePath} from "@app/routes"
- interface Props {
+ type Props = {
url: string
event: TrustedEvent
showRoom?: boolean
diff --git a/src/app/components/PrimaryNav.svelte b/src/app/components/PrimaryNav.svelte
index f88a0195..cb1b12f7 100644
--- a/src/app/components/PrimaryNav.svelte
+++ b/src/app/components/PrimaryNav.svelte
@@ -1,5 +1,6 @@
-
+
{#if PLATFORM_RELAYS.length > 0}
diff --git a/src/app/components/ProfileInfo.svelte b/src/app/components/ProfileInfo.svelte
index 4af6cc63..198d6fe1 100644
--- a/src/app/components/ProfileInfo.svelte
+++ b/src/app/components/ProfileInfo.svelte
@@ -41,6 +41,7 @@
const copyLink = () => clip(nprofile1)
const copyPubkey = () => clip(npub1)
const copyJson = () => clip(json)
+ const back = () => history.back()
const formatter = new Intl.DateTimeFormat(LOCALE, {
dateStyle: "long",
@@ -116,6 +117,6 @@
-
+
diff --git a/src/app/components/ProfileList.svelte b/src/app/components/ProfileList.svelte
index 9eaaabbe..f1fe3258 100644
--- a/src/app/components/ProfileList.svelte
+++ b/src/app/components/ProfileList.svelte
@@ -16,6 +16,8 @@
}
const {subtitle = "", pubkeys, url, ...restProps}: Props = $props()
+
+ const back = () => history.back()
@@ -31,6 +33,6 @@
{/each}
-
+
diff --git a/src/app/components/RoomChat.svelte b/src/app/components/RoomChat.svelte
index 8fe4274c..a8d49490 100644
--- a/src/app/components/RoomChat.svelte
+++ b/src/app/components/RoomChat.svelte
@@ -515,8 +515,9 @@
{#if type === "new-messages"}
+ class={cx("flex items-center py-2 text-xs transition-colors", {
+ "opacity-0": showFixedNewMessages,
+ })}>
-
+