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 (