diff --git a/package-lock.json b/package-lock.json
index a819cc6..e5af65a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -41,7 +41,6 @@
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-i18next": "^15.2.0",
- "react-resizable-panels": "^2.1.7",
"react-simple-pull-to-refresh": "^1.3.3",
"react-string-replace": "^1.1.1",
"tailwind-merge": "^2.5.5",
@@ -7562,15 +7561,6 @@
}
}
},
- "node_modules/react-resizable-panels": {
- "version": "2.1.7",
- "resolved": "https://registry.npmjs.org/react-resizable-panels/-/react-resizable-panels-2.1.7.tgz",
- "integrity": "sha512-JtT6gI+nURzhMYQYsx8DKkx6bSoOGFp7A3CwMrOb8y5jFHFyqwo9m68UhmXRw57fRVJksFn1TSlm3ywEQ9vMgA==",
- "peerDependencies": {
- "react": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc",
- "react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
- }
- },
"node_modules/react-simple-pull-to-refresh": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/react-simple-pull-to-refresh/-/react-simple-pull-to-refresh-1.3.3.tgz",
diff --git a/package.json b/package.json
index 4ce7249..9c1c681 100644
--- a/package.json
+++ b/package.json
@@ -51,7 +51,6 @@
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-i18next": "^15.2.0",
- "react-resizable-panels": "^2.1.7",
"react-simple-pull-to-refresh": "^1.3.3",
"react-string-replace": "^1.1.1",
"tailwind-merge": "^2.5.5",
diff --git a/src/PageManager.tsx b/src/PageManager.tsx
index 2799c49..536ba85 100644
--- a/src/PageManager.tsx
+++ b/src/PageManager.tsx
@@ -1,5 +1,4 @@
import Sidebar from '@/components/Sidebar'
-import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from '@/components/ui/resizable'
import { Separator } from '@/components/ui/separator'
import { cn } from '@/lib/utils'
import NoteListPage from '@/pages/primary/NoteListPage'
@@ -268,11 +267,12 @@ export function PageManager({ maxStackSize = 5 }: { maxStackSize?: number }) {
-
-
+
+
{primaryPages.map(({ name, element }) => (
))}
-
-
-
+
+
+
{secondaryStack.length ? (
secondaryStack.map((item, index) => (
)}
-
-
+
+
diff --git a/src/components/AccountManager/index.tsx b/src/components/AccountManager/index.tsx
index 215ea9f..2d7353e 100644
--- a/src/components/AccountManager/index.tsx
+++ b/src/components/AccountManager/index.tsx
@@ -86,14 +86,14 @@ function AccountManagerNav({
}}
className="w-full mt-4"
>
- {t('Signup with Nstart wizard')}
+ {t('Sign up')}
{accounts.length > 0 && (
diff --git a/src/components/ui/resizable.tsx b/src/components/ui/resizable.tsx
deleted file mode 100644
index 97463fa..0000000
--- a/src/components/ui/resizable.tsx
+++ /dev/null
@@ -1,40 +0,0 @@
-import { GripVertical } from 'lucide-react'
-import * as ResizablePrimitive from 'react-resizable-panels'
-
-import { cn } from '@/lib/utils'
-
-const ResizablePanelGroup = ({
- className,
- ...props
-}: React.ComponentProps) => (
-
-)
-
-const ResizablePanel = ResizablePrimitive.Panel
-
-const ResizableHandle = ({
- withHandle,
- className,
- ...props
-}: React.ComponentProps & {
- withHandle?: boolean
-}) => (
- div]:rotate-90',
- className
- )}
- {...props}
- >
- {withHandle && (
-
-
-
- )}
-
-)
-
-export { ResizablePanelGroup, ResizablePanel, ResizableHandle }
diff --git a/src/i18n/en.ts b/src/i18n/en.ts
index 0473309..32b8e84 100644
--- a/src/i18n/en.ts
+++ b/src/i18n/en.ts
@@ -132,7 +132,7 @@ export default {
'read & write relays notice':
'The number of read and write servers should ideally be kept between 2 and 4.',
"Don't have an account yet?": "Don't have an account yet?",
- 'or generate your private key here': 'or generate your private key here',
+ 'or simply generate a private key': 'or simply generate a private key',
'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.':
'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.',
Edit: 'Edit',
@@ -146,7 +146,7 @@ export default {
Back: 'Back',
'optional: encrypt nsec': 'optional: encrypt nsec',
password: 'password',
- 'Signup with Nstart wizard': 'Signup with Nstart wizard',
+ 'Sign up': 'Sign up',
'Save to': 'Save to',
'Enter a name for the new relay set': 'Enter a name for the new relay set',
'Save to a new relay set': 'Save to a new relay set',
diff --git a/src/i18n/zh.ts b/src/i18n/zh.ts
index f8f7231..5ddb754 100644
--- a/src/i18n/zh.ts
+++ b/src/i18n/zh.ts
@@ -132,7 +132,7 @@ export default {
'写服务器用于发布您的事件。其他用户会从您的写服务器寻找您发布的事件。',
'read & write relays notice': '读服务器和写服务器的数量都应尽量保持在 2 到 4 个之间。',
"Don't have an account yet?": '还没有账户?',
- 'or generate your private key here': '或者直接生成私钥',
+ 'or simply generate a private key': '或者简单生成一个私钥',
'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.':
'这是私钥,请勿与他人分享。请妥善保管,否则将无法找回。',
Edit: '编辑',
@@ -147,7 +147,7 @@ export default {
'password (optional): encrypt nsec': '密码 (可选): 加密 nsec',
'optional: encrypt nsec': '可选: 加密 nsec',
password: '密码',
- 'Signup with Nstart wizard': '使用 Nstart 向导注册',
+ 'Sign up': '注册',
'Save to': '保存到',
'Enter a name for the new relay set': '输入新服务器组的名称',
'Save to a new relay set': '保存到新服务器组',
diff --git a/src/layouts/PrimaryPageLayout/index.tsx b/src/layouts/PrimaryPageLayout/index.tsx
index 99c14c4..356dd81 100644
--- a/src/layouts/PrimaryPageLayout/index.tsx
+++ b/src/layouts/PrimaryPageLayout/index.tsx
@@ -67,7 +67,7 @@ const PrimaryPageLayout = forwardRef(
{titlebar && {titlebar}}
diff --git a/src/layouts/SecondaryPageLayout/index.tsx b/src/layouts/SecondaryPageLayout/index.tsx
index 36c6fbe..55e332e 100644
--- a/src/layouts/SecondaryPageLayout/index.tsx
+++ b/src/layouts/SecondaryPageLayout/index.tsx
@@ -76,7 +76,7 @@ const SecondaryPageLayout = forwardRef(
{
setDeepBrowsing(false)
@@ -48,6 +49,7 @@ export function DeepBrowsingProvider({
const scrollTop = (!scrollAreaRef ? window.scrollY : scrollAreaRef.current?.scrollTop) || 0
const diff = scrollTop - lastScrollTopRef.current
lastScrollTopRef.current = scrollTop
+ setLastScrollTop(scrollTop)
if (scrollTop <= 800) {
setDeepBrowsing(false)
return
@@ -74,7 +76,7 @@ export function DeepBrowsingProvider({
}, [active])
return (
-
+
{children}
)
diff --git a/src/providers/FeedProvider.tsx b/src/providers/FeedProvider.tsx
index 6a80068..752ebc9 100644
--- a/src/providers/FeedProvider.tsx
+++ b/src/providers/FeedProvider.tsx
@@ -1,5 +1,6 @@
import { BIG_RELAY_URLS } from '@/constants'
import { isWebsocketUrl, normalizeUrl } from '@/lib/url'
+import client from '@/services/client.service'
import storage from '@/services/storage.service'
import { TFeedType } from '@/types'
import { Filter } from 'nostr-tools'
@@ -37,6 +38,7 @@ export function FeedProvider({ children }: { children: React.ReactNode }) {
const { getFollowings } = useFollowList()
const { relaySets } = useRelaySets()
const feedTypeRef = useRef(storage.getFeedType())
+ const [feedType, setFeedType] = useState(feedTypeRef.current)
const [relayUrls, setRelayUrls] = useState([])
const [temporaryRelayUrls, setTemporaryRelayUrls] = useState([])
const [filter, setFilter] = useState({})
@@ -93,11 +95,13 @@ export function FeedProvider({ children }: { children: React.ReactNode }) {
(relaySets.length > 0 ? relaySets[0] : null)
if (relaySet) {
feedTypeRef.current = feedType
+ setFeedType(feedType)
setRelayUrls(relaySet.relayUrls)
setActiveRelaySetId(relaySet.id)
setFilter({})
storage.setActiveRelaySetId(relaySet.id)
storage.setFeedType(feedType)
+ client.setCurrentRelayUrls(relaySet.relayUrls)
}
return setIsReady(true)
}
@@ -106,6 +110,7 @@ export function FeedProvider({ children }: { children: React.ReactNode }) {
return setIsReady(true)
}
feedTypeRef.current = feedType
+ setFeedType(feedType)
setActiveRelaySetId(null)
const [relayList, followings] = await Promise.all([
getRelayList(options.pubkey),
@@ -125,10 +130,12 @@ export function FeedProvider({ children }: { children: React.ReactNode }) {
}
feedTypeRef.current = feedType
+ setFeedType(feedType)
setTemporaryRelayUrls(urls)
setRelayUrls(urls)
setActiveRelaySetId(null)
setFilter({})
+ client.setCurrentRelayUrls(urls)
return setIsReady(true)
}
setIsReady(true)
@@ -137,7 +144,7 @@ export function FeedProvider({ children }: { children: React.ReactNode }) {
return (