diff --git a/src/app/auth/create/step-4.tsx b/src/app/auth/create/step-4.tsx
index b99a08b2..21356b8a 100644
--- a/src/app/auth/create/step-4.tsx
+++ b/src/app/auth/create/step-4.tsx
@@ -12,9 +12,9 @@ import { usePublish } from '@utils/hooks/usePublish';
export function CreateStep4Screen() {
const navigate = useNavigate();
- const publish = usePublish();
const profile = useOnboarding((state) => state.profile);
+ const { publish } = usePublish();
const { account } = useAccount();
const [username, setUsername] = useState('');
diff --git a/src/app/auth/create/step-5.tsx b/src/app/auth/create/step-5.tsx
index 28f75dfa..85abb199 100644
--- a/src/app/auth/create/step-5.tsx
+++ b/src/app/auth/create/step-5.tsx
@@ -114,11 +114,11 @@ const INITIAL_LIST = [
export function CreateStep5Screen() {
const queryClient = useQueryClient();
const navigate = useNavigate();
- const publish = usePublish();
const [loading, setLoading] = useState(false);
const [follows, setFollows] = useState([]);
+ const { publish } = usePublish();
const { account } = useAccount();
const { status, data } = useQuery(['trending-profiles'], async () => {
const res = await fetch('https://api.nostr.band/v0/trending/profiles');
diff --git a/src/app/auth/onboarding.tsx b/src/app/auth/onboarding.tsx
index 1da80940..15977e30 100644
--- a/src/app/auth/onboarding.tsx
+++ b/src/app/auth/onboarding.tsx
@@ -9,10 +9,11 @@ import { useAccount } from '@utils/hooks/useAccount';
import { usePublish } from '@utils/hooks/usePublish';
export function OnboardingScreen() {
- const publish = usePublish();
const navigate = useNavigate();
+ const { publish } = usePublish();
const { status, account } = useAccount();
+
const [loading, setLoading] = useState(false);
const submit = async () => {
diff --git a/src/app/chat/components/messages/form.tsx b/src/app/chat/components/messages/form.tsx
index b3ed2b8e..570fdb89 100644
--- a/src/app/chat/components/messages/form.tsx
+++ b/src/app/chat/components/messages/form.tsx
@@ -14,7 +14,7 @@ export function ChatMessageForm({
userPubkey: string;
userPrivkey: string;
}) {
- const publish = usePublish();
+ const { publish } = usePublish();
const [value, setValue] = useState('');
const encryptMessage = useCallback(async () => {
diff --git a/src/app/space/components/addImage.tsx b/src/app/space/components/addImage.tsx
index a6c32c22..4a25931b 100644
--- a/src/app/space/components/addImage.tsx
+++ b/src/app/space/components/addImage.tsx
@@ -19,7 +19,7 @@ import { usePublish } from '@utils/hooks/usePublish';
export function AddImageBlock() {
const queryClient = useQueryClient();
- const publish = usePublish();
+ const { publish } = usePublish();
const [loading, setLoading] = useState(false);
const [isOpen, setIsOpen] = useState(false);
diff --git a/src/app/space/index.tsx b/src/app/space/index.tsx
index 607ea55f..8492ea12 100644
--- a/src/app/space/index.tsx
+++ b/src/app/space/index.tsx
@@ -1,13 +1,13 @@
import { useQuery } from '@tanstack/react-query';
import { useCallback } from 'react';
-import { UserBlock } from '@app/space//components/blocks/user';
import { AddBlock } from '@app/space/components/add';
import { FeedBlock } from '@app/space/components/blocks/feed';
import { FollowingBlock } from '@app/space/components/blocks/following';
import { HashtagBlock } from '@app/space/components/blocks/hashtag';
import { ImageBlock } from '@app/space/components/blocks/image';
import { ThreadBlock } from '@app/space/components/blocks/thread';
+import { UserBlock } from '@app/space/components/blocks/user';
import { getBlocks } from '@libs/storage';
diff --git a/src/shared/composer/composer.tsx b/src/shared/composer/composer.tsx
index 7832f4e7..ca2a7308 100644
--- a/src/shared/composer/composer.tsx
+++ b/src/shared/composer/composer.tsx
@@ -57,7 +57,7 @@ export function Composer() {
});
const upload = useImageUploader();
- const publish = usePublish();
+ const { publish } = usePublish();
const uploadImage = async (file?: string) => {
const image = await upload(file);
diff --git a/src/shared/editProfileModal.tsx b/src/shared/editProfileModal.tsx
index a97ab1d5..2af76409 100644
--- a/src/shared/editProfileModal.tsx
+++ b/src/shared/editProfileModal.tsx
@@ -17,7 +17,6 @@ import { usePublish } from '@utils/hooks/usePublish';
export function EditProfileModal() {
const queryClient = useQueryClient();
- const publish = usePublish();
const [isOpen, setIsOpen] = useState(false);
const [loading, setLoading] = useState(false);
@@ -25,6 +24,7 @@ export function EditProfileModal() {
const [banner, setBanner] = useState('');
const [nip05, setNIP05] = useState({ verified: false, text: '' });
+ const { publish } = usePublish();
const { account } = useAccount();
const {
register,
diff --git a/src/shared/notes/actions.tsx b/src/shared/notes/actions.tsx
index a2ea5352..624d3ba0 100644
--- a/src/shared/notes/actions.tsx
+++ b/src/shared/notes/actions.tsx
@@ -28,7 +28,7 @@ export function NoteActions({
-
+
{!noOpenThread && (
<>
diff --git a/src/shared/notes/actions/reaction.tsx b/src/shared/notes/actions/reaction.tsx
index 83889974..4fa7d31c 100644
--- a/src/shared/notes/actions/reaction.tsx
+++ b/src/shared/notes/actions/reaction.tsx
@@ -32,7 +32,7 @@ export function NoteReaction({ id, pubkey }: { id: string; pubkey: string }) {
const [open, setOpen] = useState(false);
const [reaction, setReaction] = useState(null);
- const publish = usePublish();
+ const { publish } = usePublish();
const getReactionImage = (content: string) => {
const reaction: { img: string } = REACTIONS.find((el) => el.content === content);
diff --git a/src/shared/notes/actions/repost.tsx b/src/shared/notes/actions/repost.tsx
index 0bfd214b..0a08324a 100644
--- a/src/shared/notes/actions/repost.tsx
+++ b/src/shared/notes/actions/repost.tsx
@@ -7,7 +7,7 @@ import { FULL_RELAYS } from '@stores/constants';
import { usePublish } from '@utils/hooks/usePublish';
export function NoteRepost({ id, pubkey }: { id: string; pubkey: string }) {
- const publish = usePublish();
+ const { publish } = usePublish();
const submit = async () => {
const tags = [
diff --git a/src/shared/notes/actions/zap.tsx b/src/shared/notes/actions/zap.tsx
index a6407fc0..c073d096 100644
--- a/src/shared/notes/actions/zap.tsx
+++ b/src/shared/notes/actions/zap.tsx
@@ -1,13 +1,26 @@
+import { NostrEvent } from '@nostr-dev-kit/ndk';
import * as Tooltip from '@radix-ui/react-tooltip';
import { ZapIcon } from '@shared/icons';
-export function NoteZap() {
+import { useEvent } from '@utils/hooks/useEvent';
+import { usePublish } from '@utils/hooks/usePublish';
+
+export function NoteZap({ id }: { id: string }) {
+ const { createZap } = usePublish();
+ const { data: event } = useEvent(id);
+
+ const submit = async () => {
+ const res = await createZap(event as NostrEvent, 21000);
+ console.log(res);
+ };
+
return (