diff --git a/README.md b/README.md
index ceaca5d97..9799f1cf3 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# noStrudel
-> NOTE: This client is still in development and is buggy
+> NOTE: This client is still in development and will have bugs
## noStrudel is my personal nostr client.
@@ -10,7 +10,7 @@ There are many features missing from this client and I wont get around to implem
Live Instance: [nostrudel.ninja](https://nostrudel.ninja)
-You can find better clients with more features in the [awesome-nostr](https://github.com/aljazceru/awesome-nostr) repo.
+You can find better clients with more features on [nostrapps.com](https://www.nostrapps.com/) or in the [awesome-nostr](https://github.com/aljazceru/awesome-nostr) repo.
## Please don't trust my app with your nsec
@@ -30,7 +30,7 @@ docker run --rm -p 8080:80 ghcr.io/hzrd149/nostrudel
git clone git@github.com:hzrd149/nostrudel.git
cd nostrudel
yarn install
-yarn start
+yarn dev
```
## Contributing
diff --git a/cypress/e2e/embeds.cy.ts b/cypress/e2e/embeds.cy.ts
index 2116fa165..054d29f4f 100644
--- a/cypress/e2e/embeds.cy.ts
+++ b/cypress/e2e/embeds.cy.ts
@@ -2,7 +2,7 @@ describe("Embeds", () => {
describe("hashtags", () => {
it('should handle uppercase hashtags and ","', () => {
cy.visit(
- "#/n/nevent1qqsrj5ns6wva3fcghlyx0hp7hhajqtqk3kuckp7xhhscrm4jl7futegpz9mhxue69uhkummnw3e82efwvdhk6qgswaehxw309ahx7um5wgh8w6twv5pkpt8l",
+ "#/n/nevent1qqsrj5ns6wva3fcghlyx0hp7hhajqtqk3kuckp7xhhscrm4jl7futegpz9mhxue69uhkummnw3e82efwvdhk6qgswaehxw309ahx7um5wgh8w6twv5pkpt8l"
);
cy.findByRole("link", { name: "#Japan" }).should("be.visible");
@@ -15,18 +15,18 @@ describe("Embeds", () => {
describe("links", () => {
it("embed trustless.computer links", () => {
cy.visit(
- "#/n/nevent1qqsfn2mv3pe2v7jak4r5wnyengt36t0rx26w04hgysrmtpml8jnlk5cprdmhxue69uhkvet9v3ejumn0wd68ytnzv9hxgtmdv4kk2qgawaehxw309ahx7um5wgkhqatz9emk2mrvdaexgetj9ehx2aq2wry06",
+ "#/n/nevent1qqsfn2mv3pe2v7jak4r5wnyengt36t0rx26w04hgysrmtpml8jnlk5cprdmhxue69uhkvet9v3ejumn0wd68ytnzv9hxgtmdv4kk2qgawaehxw309ahx7um5wgkhqatz9emk2mrvdaexgetj9ehx2aq2wry06"
);
cy.get('[href="https://trustless.computer/"]').should("be.visible");
cy.get(
- '[href="https://mempool.space/tx/461c6f56015c94d74837b68c9d08f4b80e7db7ca1e5ac4c53d9aa8c76b667672"]',
+ '[href="https://mempool.space/tx/461c6f56015c94d74837b68c9d08f4b80e7db7ca1e5ac4c53d9aa8c76b667672"]'
).should("be.visible");
});
it("embeds links", () => {
cy.visit(
- "#/n/nevent1qqsvg6kt4hl79qpp5p673g7ref6r0c5jvp4yys7mmvs4m50t30sy9dgpz9mhxue69uhkummnw3e82efwvdhk6qgjwaehxw309aex2mrp0yhxvdm69e5k7r3xlpe",
+ "#/n/nevent1qqsvg6kt4hl79qpp5p673g7ref6r0c5jvp4yys7mmvs4m50t30sy9dgpz9mhxue69uhkummnw3e82efwvdhk6qgjwaehxw309aex2mrp0yhxvdm69e5k7r3xlpe"
);
cy.get('[href="https://getalby.com/"]').should("exist");
@@ -38,11 +38,11 @@ describe("Embeds", () => {
it("embeds simplex.chat links", () => {
cy.visit(
- "#/n/nevent1qqsymds0vlpp4f5s0dckjf4qz283pdsen0rmx8lu7ct6hpnxag2hpacpremhxue69uhkummnw3ez6un9d3shjtnwda4k7arpwfhjucm0d5q3qamnwvaz7tmwdaehgu3wwa5kueghxyq76",
+ "#/n/nevent1qqsymds0vlpp4f5s0dckjf4qz283pdsen0rmx8lu7ct6hpnxag2hpacpremhxue69uhkummnw3ez6un9d3shjtnwda4k7arpwfhjucm0d5q3qamnwvaz7tmwdaehgu3wwa5kueghxyq76"
);
cy.get(
- '[href="https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2F0YuTwO05YJWS8rkjn9eLJDjQhFKvIYd8d4xG8X1blIU%3D%40smp8.simplex.im%2FVlHiRmia02CDgga7w-uNb2FQZTZsj3UR%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAd2GEWU9Zjrljhw8O4FldcxrqehkDWezXl-cWD-VkeEw%253D%26srv%3Dbeccx4yfxxbvyhqypaavemqurytl6hozr47wfc7uuecacjqdvwpw2xid.onion"]',
+ '[href="https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2F0YuTwO05YJWS8rkjn9eLJDjQhFKvIYd8d4xG8X1blIU%3D%40smp8.simplex.im%2FVlHiRmia02CDgga7w-uNb2FQZTZsj3UR%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAd2GEWU9Zjrljhw8O4FldcxrqehkDWezXl-cWD-VkeEw%253D%26srv%3Dbeccx4yfxxbvyhqypaavemqurytl6hozr47wfc7uuecacjqdvwpw2xid.onion"]'
).should("be.visible");
});
});
@@ -50,7 +50,7 @@ describe("Embeds", () => {
describe("Nostr links", () => {
it("should embed noub1...", () => {
cy.visit(
- "#/n/nevent1qqsd5yw7sntqfc4e7u4aempvgctry2plz653t9gpf97ctk5vc0ftskgpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3zamnwvaz7tmwdaehgun4v5hxxmmdfxdj3a",
+ "#/n/nevent1qqsd5yw7sntqfc4e7u4aempvgctry2plz653t9gpf97ctk5vc0ftskgpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3zamnwvaz7tmwdaehgun4v5hxxmmdfxdj3a"
);
cy.contains("Alby team");
@@ -69,7 +69,7 @@ describe("Embeds", () => {
describe("youtube", () => {
it("should embed playlists", () => {
cy.visit(
- "#/n/nevent1qqs8w6e63smpr5ccmz4l0w5pvnkp6r7z2fxaadjwu2g74y95pl9xv0cpzpmhxue69uhkummnw3ezuamfdejszrthwden5te0dehhxtnvdakqqkgf54",
+ "#/n/nevent1qqs8w6e63smpr5ccmz4l0w5pvnkp6r7z2fxaadjwu2g74y95pl9xv0cpzpmhxue69uhkummnw3ezuamfdejszrthwden5te0dehhxtnvdakqqkgf54"
);
cy.findByTitle(/youtube video player/i).should("be.visible");
@@ -80,31 +80,31 @@ describe("Embeds", () => {
describe("Music", () => {
it("should handle wavlake links", () => {
cy.visit(
- "#/n/nevent1qqsve4ud5v8gjds2f2h7exlmjvhqayu4s520pge7frpwe22wezny0pcpp4mhxue69uhkummn9ekx7mqprdmhxue69uhkvet9v3ejumn0wd68ytnzv9hxgtmdv4kk2mxs3z0",
+ "#/n/nevent1qqsve4ud5v8gjds2f2h7exlmjvhqayu4s520pge7frpwe22wezny0pcpp4mhxue69uhkummn9ekx7mqprdmhxue69uhkvet9v3ejumn0wd68ytnzv9hxgtmdv4kk2mxs3z0"
);
cy.findByTitle("Wavlake Embed").should("be.visible");
});
it("should handle spotify links", () => {
cy.visit(
- "#/n/nevent1qqsx0lz7m72qzq499exwhnfszvgwea8tv38x9wkv32yhkmwwmhgs7jgprdmhxue69uhkvet9v3ejumn0wd68ytnzv9hxgtmdv4kk25m3sln",
+ "#/n/nevent1qqsx0lz7m72qzq499exwhnfszvgwea8tv38x9wkv32yhkmwwmhgs7jgprdmhxue69uhkvet9v3ejumn0wd68ytnzv9hxgtmdv4kk25m3sln"
);
cy.findByTitle("Spotify List Embed").should("exist");
cy.visit(
- "#/n/nevent1qqsqxkmz49hydf8ppa9k6x6zrcq7m4evhhlye0j3lcnz8hrl2q6np4spz3mhxue69uhhyetvv9ujuerpd46hxtnfdult02qz",
+ "#/n/nevent1qqsqxkmz49hydf8ppa9k6x6zrcq7m4evhhlye0j3lcnz8hrl2q6np4spz3mhxue69uhhyetvv9ujuerpd46hxtnfdult02qz"
);
cy.findByTitle("Spotify Embed").should("exist");
});
it("should handle apple music links", () => {
cy.visit(
- "#/n/nevent1qqs9kqt9d7r4zjpawcyl82x5qsn4hals4wn294dv95knrahs4mggwasprdmhxue69uhkvet9v3ejumn0wd68ytnzv9hxgtmdv4kk2whhzvz",
+ "#/n/nevent1qqs9kqt9d7r4zjpawcyl82x5qsn4hals4wn294dv95knrahs4mggwasprdmhxue69uhkvet9v3ejumn0wd68ytnzv9hxgtmdv4kk2whhzvz"
);
cy.findByTitle("Apple Music Embed").should("exist");
cy.visit(
- "#/n/nevent1qqszyrz4uug75j4086kj4f8peg3g0v8g9f04zjxplnpq0uxljtthggqprdmhxue69uhkvet9v3ejumn0wd68ytnzv9hxgtmdv4kk2aeexmq",
+ "#/n/nevent1qqszyrz4uug75j4086kj4f8peg3g0v8g9f04zjxplnpq0uxljtthggqprdmhxue69uhkvet9v3ejumn0wd68ytnzv9hxgtmdv4kk2aeexmq"
);
cy.findByTitle("Apple Music List Embed").should("exist");
});
@@ -118,7 +118,7 @@ describe("Embeds", () => {
describe("Emoji", () => {
it("should embed emojis", () => {
cy.visit(
- "#/n/nevent1qqsdj7k47uh4z0ypl2m29lvd4ar9zpf6dcy7ls0q6g6qctnxfj5n3pcpzpmhxue69uhkummnw3ezuamfdejszrthwden5te0dehhxtnvdakqdyqlpq",
+ "#/n/nevent1qqsdj7k47uh4z0ypl2m29lvd4ar9zpf6dcy7ls0q6g6qctnxfj5n3pcpzpmhxue69uhkummnw3ezuamfdejszrthwden5te0dehhxtnvdakqdyqlpq"
);
cy.findByRole("img", { name: /pepeD/i }).should("be.visible");
diff --git a/cypress/e2e/login.cy.ts b/cypress/e2e/login.cy.ts
index 00a7770a5..e068c957a 100644
--- a/cypress/e2e/login.cy.ts
+++ b/cypress/e2e/login.cy.ts
@@ -50,7 +50,7 @@ describe("Login view", () => {
it("should redirect after login", () => {
cy.visit(
- "#/n/nevent1qqs88gdxv36qsjfwr66k7wxuq9r2tg8rsdcnfkcqdg4sc6vlnsma98qpzpmhxue69uhkummnw3ezuamfdejsz9rhwden5te0wfjkccte9ejxzmt4wvhxjmccew89d",
+ "#/n/nevent1qqs88gdxv36qsjfwr66k7wxuq9r2tg8rsdcnfkcqdg4sc6vlnsma98qpzpmhxue69uhkummnw3ezuamfdejsz9rhwden5te0wfjkccte9ejxzmt4wvhxjmccew89d"
);
cy.findByRole("link", { name: /login/i }).click();
diff --git a/cypress/e2e/profile.cy.ts b/cypress/e2e/profile.cy.ts
index 5f6d3ad38..d175f099d 100644
--- a/cypress/e2e/profile.cy.ts
+++ b/cypress/e2e/profile.cy.ts
@@ -1,7 +1,7 @@
describe("Profile view", () => {
it("should load a rss feed profile", () => {
cy.visit(
- "#/u/nprofile1qqsp6hxqjatvxtesgszs8aee0fcjccxa3ef3mzjva4uv2yr5lucp6jcpzemhxue69uhhyumnd3shjtnwdaehgu3wd4hk2s8c5un",
+ "#/u/nprofile1qqsp6hxqjatvxtesgszs8aee0fcjccxa3ef3mzjva4uv2yr5lucp6jcpzemhxue69uhhyumnd3shjtnwdaehgu3wd4hk2s8c5un"
);
cy.contains("fjsmu");
diff --git a/cypress/e2e/public.cy.ts b/cypress/e2e/public.cy.ts
index 499d320b2..8aeae9332 100644
--- a/cypress/e2e/public.cy.ts
+++ b/cypress/e2e/public.cy.ts
@@ -2,7 +2,7 @@ describe("No account", () => {
describe("note view", () => {
it("should fetch and render note", () => {
cy.visit(
- "#/n/nevent1qqs84hwdlls703w4yf66qsszxjqfc0xselfxrzr6n4qp40vzdnczragpr4mhxue69uhkummnw3ez6ur4vgh8wetvd3hhyer9wghxuet5jcwczn",
+ "#/n/nevent1qqs84hwdlls703w4yf66qsszxjqfc0xselfxrzr6n4qp40vzdnczragpr4mhxue69uhkummnw3ez6ur4vgh8wetvd3hhyer9wghxuet5jcwczn"
);
cy.get(".chakra-card")
diff --git a/cypress/e2e/thread.cy.ts b/cypress/e2e/thread.cy.ts
index 0a1d37156..313aca5de 100644
--- a/cypress/e2e/thread.cy.ts
+++ b/cypress/e2e/thread.cy.ts
@@ -1,7 +1,7 @@
describe("Thread", () => {
it("should handle quote notes with e tags correctly", () => {
cy.visit(
- "#/n/nevent1qqsx2lnyuke6vmsrz9fdrd6uwjy0g0e9l6menfgdj5truugkh9qmkkgpzpmhxue69uhkummnw3ezuamfdejszrthwden5te0dehhxtnvdakqgc9md6",
+ "#/n/nevent1qqsx2lnyuke6vmsrz9fdrd6uwjy0g0e9l6menfgdj5truugkh9qmkkgpzpmhxue69uhkummnw3ezuamfdejszrthwden5te0dehhxtnvdakqgc9md6"
);
// find first note
diff --git a/index.html b/index.html
index 42965167e..f80fce05e 100644
--- a/index.html
+++ b/index.html
@@ -1,4 +1,4 @@
-
+
diff --git a/package.json b/package.json
index 5341b9d17..d86a7a8fb 100644
--- a/package.json
+++ b/package.json
@@ -5,6 +5,7 @@
"license": "MIT",
"scripts": {
"start": "vite serve",
+ "dev": "vite serve",
"build": "tsc --project tsconfig.json && vite build",
"format": "prettier --ignore-path .prettierignore -w .",
"e2e": "cypress open",
diff --git a/src/components/connected-relays.tsx b/src/components/connected-relays.tsx
index 719e47d8a..64e9e1493 100644
--- a/src/components/connected-relays.tsx
+++ b/src/components/connected-relays.tsx
@@ -21,7 +21,6 @@ import {
import relayPoolService from "../services/relay-pool";
import { useInterval } from "react-use";
import { RelayStatus } from "./relay-status";
-import { useIsMobile } from "../hooks/use-is-mobile";
import { RelayIcon } from "./icons";
import { Relay } from "../classes/relay";
import { RelayFavicon } from "./relay-favicon";
@@ -29,7 +28,6 @@ import relayScoreboardService from "../services/relay-scoreboard";
import { RelayScoreBreakdown } from "./relay-score-breakdown";
export const ConnectedRelays = () => {
- const isMobile = useIsMobile();
const { isOpen, onOpen, onClose } = useDisclosure();
const [relays, setRelays] = useState(relayPoolService.getRelays());
const sortedRelays = useMemo(() => relayScoreboardService.getRankedRelays(relays.map((r) => r.url)), [relays]);
diff --git a/src/components/embed-types/emoji.tsx b/src/components/embed-types/emoji.tsx
index cd57136f3..505cc400d 100644
--- a/src/components/embed-types/emoji.tsx
+++ b/src/components/embed-types/emoji.tsx
@@ -7,7 +7,7 @@ export function embedEmoji(content: EmbedableContent, note: NostrEvent | DraftNo
regexp: /:([a-zA-Z0-9_]+):/i,
render: (match) => {
const emojiTag = note.tags.find(
- (tag) => tag[0] === "emoji" && tag[1].toLowerCase() === match[1].toLowerCase() && tag[2],
+ (tag) => tag[0] === "emoji" && tag[1].toLowerCase() === match[1].toLowerCase() && tag[2]
);
if (emojiTag) {
return (
diff --git a/src/components/note/index.tsx b/src/components/note/index.tsx
index a876baef1..6529818a3 100644
--- a/src/components/note/index.tsx
+++ b/src/components/note/index.tsx
@@ -53,7 +53,7 @@ export const Note = React.memo(({ event, variant = "outline" }: NoteProps) => {
-
+
diff --git a/src/components/note/note-relays.tsx b/src/components/note/note-relays.tsx
index 77a42b857..daa3fb090 100644
--- a/src/components/note/note-relays.tsx
+++ b/src/components/note/note-relays.tsx
@@ -3,16 +3,16 @@ import { getEventRelays } from "../../services/event-relays";
import { NostrEvent } from "../../types/nostr-event";
import useSubject from "../../hooks/use-subject";
import { RelayIconStack } from "../relay-icon-stack";
-import { useIsMobile } from "../../hooks/use-is-mobile";
import { getEventUID } from "../../helpers/nostr/event";
+import { useBreakpointValue } from "@chakra-ui/react";
export type NoteRelaysProps = {
event: NostrEvent;
};
export const EventRelays = memo(({ event }: NoteRelaysProps) => {
- const isMobile = useIsMobile();
+ const maxRelays = useBreakpointValue({ base: 3, md: undefined });
const eventRelays = useSubject(getEventRelays(getEventUID(event)));
- return ;
+ return ;
});
diff --git a/src/components/note/note-zaps-modal.tsx b/src/components/note/note-zaps-modal.tsx
index 2b93f8f3d..82cc39d46 100644
--- a/src/components/note/note-zaps-modal.tsx
+++ b/src/components/note/note-zaps-modal.tsx
@@ -17,11 +17,10 @@ import { UserAvatarLink } from "../user-avatar-link";
import { UserLink } from "../user-link";
import dayjs from "dayjs";
import { DislikeIcon, LightningIcon, LikeIcon } from "../icons";
-import { ParsedZap, parseZapEvent } from "../../helpers/zaps";
+import { ParsedZap } from "../../helpers/zaps";
import { readablizeSats } from "../../helpers/bolt11";
import useEventReactions from "../../hooks/use-event-reactions";
import useEventZaps from "../../hooks/use-event-zaps";
-import { useIsMobile } from "../../hooks/use-is-mobile";
function getReactionIcon(content: string) {
switch (content) {
@@ -48,12 +47,10 @@ const ReactionEvent = React.memo(({ event }: { event: NostrEvent }) => (
));
const ZapEvent = React.memo(({ zap }: { zap: ParsedZap }) => {
- const isMobile = useIsMobile();
-
if (!zap.payment.amount) return null;
return (
-
+
@@ -80,14 +77,13 @@ export default function NoteReactionsModal({
const zaps = useEventZaps(noteId, [], true) ?? [];
const reactions = useEventReactions(noteId, [], true) ?? [];
const [selected, setSelected] = useState("zaps");
- const isMobile = useIsMobile();
return (
-
+
diff --git a/src/views/messages/index.tsx b/src/views/messages/index.tsx
index 305aff68f..e9d2d0a2d 100644
--- a/src/views/messages/index.tsx
+++ b/src/views/messages/index.tsx
@@ -23,7 +23,6 @@ import useSubject from "../../hooks/use-subject";
import { useUserMetadata } from "../../hooks/use-user-metadata";
import directMessagesService from "../../services/direct-messages";
import { ExternalLinkIcon } from "../../components/icons";
-import { useIsMobile } from "../../hooks/use-is-mobile";
import RequireCurrentAccount from "../../providers/require-current-account";
function ContactCard({ pubkey }: { pubkey: string }) {
@@ -47,7 +46,6 @@ function ContactCard({ pubkey }: { pubkey: string }) {
}
function DirectMessagesPage() {
- const isMobile = useIsMobile();
const [from, setFrom] = useState(dayjs().subtract(2, "days"));
const conversations = useSubject(directMessagesService.conversations);
@@ -97,7 +95,7 @@ function DirectMessagesPage() {
-
+
Give Blowater a try
diff --git a/src/views/note/thread-post.tsx b/src/views/note/thread-post.tsx
index f32ac1077..4c5a45ddc 100644
--- a/src/views/note/thread-post.tsx
+++ b/src/views/note/thread-post.tsx
@@ -3,7 +3,6 @@ import { useState } from "react";
import { ArrowDownSIcon, ArrowUpSIcon } from "../../components/icons";
import { Note } from "../../components/note";
import { countReplies, ThreadItem as ThreadItemData } from "../../helpers/thread";
-import { useIsMobile } from "../../hooks/use-is-mobile";
import { TrustProvider } from "../../providers/trust";
export type ThreadItemProps = {
@@ -13,7 +12,6 @@ export type ThreadItemProps = {
};
export const ThreadPost = ({ post, initShowReplies, focusId }: ThreadItemProps) => {
- const isMobile = useIsMobile();
const [showReplies, setShowReplies] = useState(initShowReplies ?? post.replies.length === 1);
const toggle = () => setShowReplies((v) => !v);
@@ -31,7 +29,7 @@ export const ThreadPost = ({ post, initShowReplies, focusId }: ThreadItemProps)
{showReplies ? : }
{showReplies && (
-
+
{post.replies.map((child) => (
))}
diff --git a/src/views/profile/edit.tsx b/src/views/profile/edit.tsx
index 509dabe99..26b99cb1b 100644
--- a/src/views/profile/edit.tsx
+++ b/src/views/profile/edit.tsx
@@ -206,7 +206,7 @@ export const ProfileEditView = () => {
nip05: metadata?.nip05,
lightningAddress: metadata?.lud16 || metadata?.lud06,
}),
- [metadata],
+ [metadata]
);
const handleSubmit = async (data: FormData) => {
diff --git a/src/views/relays/index.tsx b/src/views/relays/index.tsx
index 47b7ed699..d2fba1e6b 100644
--- a/src/views/relays/index.tsx
+++ b/src/views/relays/index.tsx
@@ -25,7 +25,7 @@ export default function RelaysView() {
.map((r) => r.url)
.filter(safeRelayUrl);
const { value: onlineRelays = [] } = useAsync(async () =>
- fetch("https://api.nostr.watch/v1/online").then((res) => res.json() as Promise),
+ fetch("https://api.nostr.watch/v1/online").then((res) => res.json() as Promise)
);
const filteredRelays = useMemo(() => {
@@ -51,9 +51,9 @@ export default function RelaysView() {
Add Custom
-
+
{filteredRelays.map((url) => (
-
+
))}
@@ -61,9 +61,9 @@ export default function RelaysView() {
<>
Discovered Relays
-
+
{discoveredRelays.map((url) => (
-
+
))}
>
diff --git a/src/views/relays/relay.tsx b/src/views/relays/relay.tsx
index 9d3bf2fa8..739ce6786 100644
--- a/src/views/relays/relay.tsx
+++ b/src/views/relays/relay.tsx
@@ -105,7 +105,11 @@ function RelayPage({ relay }: { relay: string }) {
- {info?.supported_nips?.map((nip) => )}
+
+ {info?.supported_nips?.map((nip) => (
+
+ ))}
+
Reviews
diff --git a/src/views/search/index.tsx b/src/views/search/index.tsx
index 8f7feb904..4b5b86846 100644
--- a/src/views/search/index.tsx
+++ b/src/views/search/index.tsx
@@ -87,7 +87,7 @@ function SearchResults({ search }: { search: string }) {
`search`,
searchRelays,
{ search: search || "", kinds: [Kind.Metadata] },
- { enabled: !!search },
+ { enabled: !!search }
);
const events = useSubject(timeline?.timeline) ?? [];
@@ -96,7 +96,7 @@ function SearchResults({ search }: { search: string }) {
return (
-
+
{events.map((event) => (
))}
@@ -148,17 +148,19 @@ export function SearchPage() {
};
return (
-
+
diff --git a/src/views/streams/index.tsx b/src/views/streams/index.tsx
index 81672c806..ec1a40c53 100644
--- a/src/views/streams/index.tsx
+++ b/src/views/streams/index.tsx
@@ -27,7 +27,7 @@ function StreamsPage() {
} catch (e) {}
return false;
},
- [filterStatus],
+ [filterStatus]
);
const { people } = usePeopleListContext();
@@ -49,18 +49,18 @@ function StreamsPage() {
return (
-
-
-