From 1ee77c28fe5ad5624add9f73e90b99498ac52e73 Mon Sep 17 00:00:00 2001
From: Ren Amamiya <123083837+reyamir@users.noreply.github.com>
Date: Fri, 21 Apr 2023 11:00:45 +0700
Subject: [PATCH] Revert "fixed nextjs build with super cringe solution (will
be revert in next commit)"
This reverts commit a2aad487abf806a50a7d07550937663b593cb05f.
---
src/app/nostr/channels/{ => [id]}/page.tsx | 12 ++++--------
src/app/nostr/chats/{ => [pubkey]}/page.tsx | 14 +++++---------
.../create/{step-2 => [...slug]}/page.tsx | 11 +++++------
src/app/onboarding/create/page.tsx | 4 +---
.../login/{step-2 => [privkey]}/page.tsx | 12 ++++--------
src/app/onboarding/login/page.tsx | 2 +-
src/app/page.tsx | 7 ++-----
src/components/appHeader/actions.tsx | 2 +-
src/components/channels/channelListItem.tsx | 2 +-
src/components/chats/chatList.tsx | 2 +-
src/components/chats/chatListItem.tsx | 2 +-
11 files changed, 26 insertions(+), 44 deletions(-)
rename src/app/nostr/channels/{ => [id]}/page.tsx (87%)
rename src/app/nostr/chats/{ => [pubkey]}/page.tsx (83%)
rename src/app/onboarding/create/{step-2 => [...slug]}/page.tsx (96%)
rename src/app/onboarding/login/{step-2 => [privkey]}/page.tsx (93%)
diff --git a/src/app/nostr/channels/page.tsx b/src/app/nostr/channels/[id]/page.tsx
similarity index 87%
rename from src/app/nostr/channels/page.tsx
rename to src/app/nostr/channels/[id]/page.tsx
index 9517bcf1..a25aec1e 100644
--- a/src/app/nostr/channels/page.tsx
+++ b/src/app/nostr/channels/[id]/page.tsx
@@ -12,13 +12,9 @@ import { dateToUnix, hoursAgo } from '@utils/getDate';
import useLocalStorage from '@rehooks/local-storage';
import { useSetAtom } from 'jotai';
import { useResetAtom } from 'jotai/utils';
-import { useSearchParams } from 'next/navigation';
import { useContext, useEffect, useRef } from 'react';
-export default function Page() {
- const searchParams = useSearchParams();
- const channelID = searchParams.get('id');
-
+export default function Page({ params }: { params: { id: string } }) {
const [pool]: any = useContext(RelayContext);
const [activeAccount]: any = useLocalStorage('account', {});
@@ -44,7 +40,7 @@ export default function Page() {
since: dateToUnix(hoursAgo(24, now.current)),
},
{
- '#e': [channelID],
+ '#e': [params.id],
kinds: [42],
since: dateToUnix(hoursAgo(24, now.current)),
},
@@ -70,13 +66,13 @@ export default function Page() {
return () => {
unsubscribe();
};
- }, [pool, activeAccount.pubkey, channelID, setChannelMessages, resetChannelReply, resetChannelMessages]);
+ }, [pool, activeAccount.pubkey, params.id, setChannelMessages, resetChannelReply, resetChannelMessages]);
return (
);
diff --git a/src/app/nostr/chats/page.tsx b/src/app/nostr/chats/[pubkey]/page.tsx
similarity index 83%
rename from src/app/nostr/chats/page.tsx
rename to src/app/nostr/chats/[pubkey]/page.tsx
index bfcf8619..aba3eaa8 100644
--- a/src/app/nostr/chats/page.tsx
+++ b/src/app/nostr/chats/[pubkey]/page.tsx
@@ -10,13 +10,9 @@ import { FULL_RELAYS } from '@stores/constants';
import useLocalStorage from '@rehooks/local-storage';
import { useSetAtom } from 'jotai';
import { useResetAtom } from 'jotai/utils';
-import { useSearchParams } from 'next/navigation';
import { Suspense, useCallback, useContext, useEffect, useRef } from 'react';
-export default function Page() {
- const searchParams = useSearchParams();
- const pubkey = searchParams.get('pubkey');
-
+export default function Page({ params }: { params: { pubkey: string } }) {
const [pool]: any = useContext(RelayContext);
const [activeAccount]: any = useLocalStorage('account', {});
@@ -30,13 +26,13 @@ export default function Page() {
[
{
kinds: [4],
- authors: [pubkey],
+ authors: [params.pubkey],
'#p': [activeAccount.pubkey],
},
{
kinds: [4],
authors: [activeAccount.pubkey],
- '#p': [pubkey],
+ '#p': [params.pubkey],
},
],
FULL_RELAYS,
@@ -44,7 +40,7 @@ export default function Page() {
setChatMessages((data) => [...data, event]);
}
);
- }, [activeAccount.pubkey, pubkey, pool, setChatMessages]);
+ }, [activeAccount.pubkey, params.pubkey, pool, setChatMessages]);
useEffect(() => {
// reset stored messages
@@ -65,7 +61,7 @@ export default function Page() {
-
+
);
diff --git a/src/app/onboarding/create/step-2/page.tsx b/src/app/onboarding/create/[...slug]/page.tsx
similarity index 96%
rename from src/app/onboarding/create/step-2/page.tsx
rename to src/app/onboarding/create/[...slug]/page.tsx
index af97bc31..60f84f2a 100644
--- a/src/app/onboarding/create/step-2/page.tsx
+++ b/src/app/onboarding/create/[...slug]/page.tsx
@@ -9,7 +9,7 @@ import { arrayToNIP02 } from '@utils/transform';
import { createClient } from '@supabase/supabase-js';
import { CheckCircle } from 'iconoir-react';
-import { useRouter, useSearchParams } from 'next/navigation';
+import { useRouter } from 'next/navigation';
import { getEventHash, signEvent } from 'nostr-tools';
import { Key, useCallback, useContext, useEffect, useState } from 'react';
@@ -53,12 +53,11 @@ const initialList = [
{ pubkey: 'ff04a0e6cd80c141b0b55825fed127d4532a6eecdb7e743a38a3c28bf9f44609' },
];
-export default function Page() {
+export default function Page({ params }: { params: { slug: string } }) {
const router = useRouter();
- const searchParams = useSearchParams();
- const pubkey = searchParams.get('pubkey');
- const privkey = searchParams.get('privkey');
+ const pubkey = params.slug[0];
+ const privkey = params.slug[1];
const [pool, relays]: any = useContext(RelayContext);
const [loading, setLoading] = useState(false);
@@ -100,7 +99,7 @@ export default function Page() {
// broadcast
pool.publish(event, relays);
// redirect to splashscreen
- router.replace('/', { forceOptimisticNavigation: true });
+ router.replace('/');
}, [pubkey, privkey, follows, pool, relays, router]);
useEffect(() => {
diff --git a/src/app/onboarding/create/page.tsx b/src/app/onboarding/create/page.tsx
index efce96fa..d38e5882 100644
--- a/src/app/onboarding/create/page.tsx
+++ b/src/app/onboarding/create/page.tsx
@@ -68,9 +68,7 @@ export default function Page() {
// broadcast
pool.publish(event, relays);
// redirect to next step
- router.replace(`/onboarding/create/step-2?pubkey=${pubkey}&privkey=${privkey}`, {
- forceOptimisticNavigation: true,
- });
+ router.push(`/onboarding/create/${pubkey}/${privkey}`);
}, [pool, pubkey, privkey, metadata, relays, router]);
return (
diff --git a/src/app/onboarding/login/step-2/page.tsx b/src/app/onboarding/login/[privkey]/page.tsx
similarity index 93%
rename from src/app/onboarding/login/step-2/page.tsx
rename to src/app/onboarding/login/[privkey]/page.tsx
index 1a178d17..430bfd13 100644
--- a/src/app/onboarding/login/step-2/page.tsx
+++ b/src/app/onboarding/login/[privkey]/page.tsx
@@ -11,16 +11,12 @@ import { nip02ToArray } from '@utils/transform';
import Image from 'next/image';
import Link from 'next/link';
-import { useSearchParams } from 'next/navigation';
import { getPublicKey } from 'nostr-tools';
import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
-export default function Page() {
- const searchParams = useSearchParams();
- const privkey = searchParams.get('privkey');
-
+export default function Page({ params }: { params: { privkey: string } }) {
const [pool, relays]: any = useContext(RelayContext);
- const pubkey = useMemo(() => (privkey ? getPublicKey(privkey) : null), [privkey]);
+ const pubkey = useMemo(() => (params.privkey ? getPublicKey(params.privkey) : null), [params.privkey]);
const timeout = useRef(null);
const [profile, setProfile] = useState({ metadata: null });
@@ -46,7 +42,7 @@ export default function Page() {
(event: any) => {
if (event.kind === 0) {
// create account
- createAccount(pubkey, privkey, event.content);
+ createAccount(pubkey, params.privkey, event.content);
// update state
setProfile({
metadata: JSON.parse(event.content),
@@ -74,7 +70,7 @@ export default function Page() {
unsubscribe;
clearTimeout(timeout.current);
};
- }, [pool, relays, pubkey, privkey, createPlebs]);
+ }, [pool, relays, pubkey, params.privkey, createPlebs]);
return (
diff --git a/src/app/onboarding/login/page.tsx b/src/app/onboarding/login/page.tsx
index a0eeccfa..dc2adca1 100644
--- a/src/app/onboarding/login/page.tsx
+++ b/src/app/onboarding/login/page.tsx
@@ -40,7 +40,7 @@ export default function Page() {
privkey = nip19.decode(privkey).data;
}
if (typeof getPublicKey(privkey) === 'string') {
- router.push(`/onboarding/login/step-2?privkey=${privkey}`, { forceOptimisticNavigation: true });
+ router.push(`/onboarding/login/${privkey}`);
}
} catch (error) {
setError('key', {
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 5d365624..52aa4101 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -125,10 +125,7 @@ export default function Page() {
undefined,
() => {
updateLastLogin(dateToUnix(now.current));
- timeout.current = setTimeout(
- () => router.replace('/nostr/newsfeed/following', { forceOptimisticNavigation: true }),
- 5000
- );
+ timeout.current = setTimeout(() => router.replace('/nostr/newsfeed/following'), 5000);
},
{
unsubscribeOnEose: true,
@@ -157,7 +154,7 @@ export default function Page() {
// fetch data
fetchData(account, account.follows);
} else {
- router.replace('/onboarding', { forceOptimisticNavigation: true });
+ router.replace('/onboarding');
}
})
.catch(console.error);
diff --git a/src/components/appHeader/actions.tsx b/src/components/appHeader/actions.tsx
index 2a9c5007..b8c13ada 100644
--- a/src/components/appHeader/actions.tsx
+++ b/src/components/appHeader/actions.tsx
@@ -18,7 +18,7 @@ export default function AppActions() {
};
const reload = () => {
- window.location.reload();
+ router.refresh();
};
useLayoutEffect(() => {
diff --git a/src/components/channels/channelListItem.tsx b/src/components/channels/channelListItem.tsx
index 28be73e6..c687c811 100644
--- a/src/components/channels/channelListItem.tsx
+++ b/src/components/channels/channelListItem.tsx
@@ -10,7 +10,7 @@ export const ChannelListItem = ({ data }: { data: any }) => {
return (
diff --git a/src/components/chats/chatList.tsx b/src/components/chats/chatList.tsx
index ddd4573e..5fc443f7 100644
--- a/src/components/chats/chatList.tsx
+++ b/src/components/chats/chatList.tsx
@@ -18,7 +18,7 @@ export default function ChatList() {
const profile = JSON.parse(activeAccount.metadata);
const openSelfChat = () => {
- router.push(`/nostr/chats?pubkey=${activeAccount.pubkey}`);
+ router.push(`/nostr/chats/${activeAccount.pubkey}`);
};
useEffect(() => {
diff --git a/src/components/chats/chatListItem.tsx b/src/components/chats/chatListItem.tsx
index d9da48ec..c5f29ad7 100644
--- a/src/components/chats/chatListItem.tsx
+++ b/src/components/chats/chatListItem.tsx
@@ -11,7 +11,7 @@ export const ChatListItem = ({ pubkey }: { pubkey: string }) => {
return (