From 417482060dea39cdd721b03cb21faf5e6395aff1 Mon Sep 17 00:00:00 2001 From: plebeius Date: Mon, 9 Mar 2026 17:01:35 +0800 Subject: [PATCH] refactor: org name changed from bitsocialhq to bitsocialnet --- README.md | 22 +++++++++---------- docs/agent-playbooks/known-surprises.md | 2 +- index.html | 12 +++++----- package.json | 2 +- public/llms.txt | 20 ++++++++--------- public/robots.txt | 2 +- public/translations/ar/default.json | 2 +- public/translations/bn/default.json | 2 +- public/translations/cs/default.json | 2 +- public/translations/da/default.json | 2 +- public/translations/de/default.json | 2 +- public/translations/el/default.json | 2 +- public/translations/en/default.json | 2 +- public/translations/es/default.json | 2 +- public/translations/fa/default.json | 2 +- public/translations/fi/default.json | 2 +- public/translations/fil/default.json | 2 +- public/translations/fr/default.json | 2 +- public/translations/he/default.json | 2 +- public/translations/hi/default.json | 2 +- public/translations/hu/default.json | 2 +- public/translations/id/default.json | 2 +- public/translations/it/default.json | 2 +- public/translations/ja/default.json | 2 +- public/translations/ko/default.json | 2 +- public/translations/mr/default.json | 2 +- public/translations/nl/default.json | 2 +- public/translations/no/default.json | 2 +- public/translations/pl/default.json | 2 +- public/translations/pt/default.json | 2 +- public/translations/ro/default.json | 2 +- public/translations/ru/default.json | 2 +- public/translations/sq/default.json | 2 +- public/translations/sv/default.json | 2 +- public/translations/te/default.json | 2 +- public/translations/th/default.json | 2 +- public/translations/tr/default.json | 2 +- public/translations/uk/default.json | 2 +- public/translations/ur/default.json | 2 +- public/translations/vi/default.json | 2 +- public/translations/zh/default.json | 2 +- scripts/deploy.sh | 2 +- scripts/patch-bitsocial-react-hooks-esm.cjs | 4 ++-- scripts/release-body.js | 2 +- scripts/sync-directories.js | 2 +- src/__tests__/app.test.tsx | 2 +- src/app.tsx | 2 +- .../blotter-message/blotter-message.tsx | 2 +- .../__tests__/board-buttons.test.tsx | 2 +- .../board-buttons/board-buttons.tsx | 2 +- .../__tests__/board-header.test.tsx | 6 ++--- src/components/board-header/board-header.tsx | 6 ++--- .../board-offline-alert.tsx | 2 +- .../boards-bar-edit-modal.tsx | 2 +- .../boards-bar/__tests__/boards-bar.test.tsx | 4 ++-- src/components/boards-bar/boards-bar.tsx | 4 ++-- .../__tests__/catalog-row.test.tsx | 4 ++-- src/components/catalog-row/catalog-row.tsx | 2 +- .../__tests__/challenge-modal.test.tsx | 2 +- .../challenge-modal/challenge-modal.tsx | 2 +- .../__tests__/comment-content.test.tsx | 4 ++-- .../comment-content/comment-content.tsx | 4 ++-- .../create-board-modal/create-board-modal.tsx | 4 ++-- .../directory-modal/directory-modal.tsx | 4 ++-- .../edit-menu/__tests__/edit-menu.test.tsx | 2 +- src/components/edit-menu/edit-menu.tsx | 2 +- .../footer/__tests__/footer.test.tsx | 2 +- src/components/footer/footer.tsx | 2 +- .../markdown/__tests__/markdown.test.tsx | 4 ++-- src/components/markdown/markdown.tsx | 4 ++-- src/components/post-desktop/post-desktop.tsx | 4 ++-- .../__tests__/post-menu-desktop.test.tsx | 2 +- .../post-form/__tests__/post-form.test.tsx | 6 ++--- src/components/post-form/post-form.tsx | 4 ++-- .../__tests__/post-menu-mobile.test.tsx | 4 ++-- .../post-menu-mobile/post-menu-mobile.tsx | 2 +- src/components/post-mobile/post-mobile.tsx | 2 +- .../__tests__/reply-modal.test.tsx | 4 ++-- src/components/reply-modal/reply-modal.tsx | 2 +- .../__tests__/reply-quote-preview.test.tsx | 2 +- .../reply-quote-preview.tsx | 2 +- .../__tests__/account-settings.test.tsx | 2 +- .../account-settings/account-settings.tsx | 2 +- .../__tests__/advanced-settings.test.tsx | 2 +- .../advanced-settings/advanced-settings.tsx | 2 +- .../crypto-address-setting.tsx | 2 +- .../crypto-wallets-setting.tsx | 2 +- .../interface-settings/interface-settings.tsx | 6 ++--- .../media-hosting-settings.tsx | 2 +- .../__tests__/subscriptions-setting.test.tsx | 2 +- .../subscriptions-setting.tsx | 2 +- .../site-legal-meta/site-legal-meta.tsx | 4 ++-- src/components/version/version.tsx | 2 +- src/data/5chan-directories.json | 2 +- src/hooks/__tests__/selector-hooks.test.tsx | 4 ++-- .../use-fetch-gif-first-frame.test.tsx | 2 +- .../__tests__/use-post-page-number.test.tsx | 4 ++-- src/hooks/__tests__/use-publish-post.test.tsx | 2 +- .../__tests__/use-publish-reply.test.tsx | 2 +- src/hooks/__tests__/use-state-string.test.tsx | 2 +- src/hooks/use-account-subplebbit-addresses.ts | 2 +- .../use-account-subplebbits-with-metadata.ts | 2 +- src/hooks/use-author-privileges.ts | 2 +- src/hooks/use-catalog-feed-rows.ts | 2 +- src/hooks/use-count-links-in-replies.ts | 4 ++-- src/hooks/use-directories.ts | 2 +- src/hooks/use-fetch-gif-first-frame.ts | 2 +- src/hooks/use-hide.ts | 2 +- src/hooks/use-is-subplebbit-offline.ts | 2 +- src/hooks/use-popular-posts.ts | 2 +- src/hooks/use-post-page-number.ts | 4 ++-- src/hooks/use-publish-post.ts | 2 +- src/hooks/use-publish-reply.ts | 2 +- src/hooks/use-quoted-by-map.ts | 2 +- src/hooks/use-stable-subplebbit.ts | 2 +- src/hooks/use-state-string.ts | 2 +- src/hooks/use-subplebbits-stats.ts | 2 +- src/hooks/use-theme.ts | 2 +- src/lib/utils/__tests__/media-utils.test.ts | 2 +- src/lib/utils/__tests__/pattern-utils.test.ts | 2 +- src/lib/utils/challenge-utils.ts | 2 +- src/lib/utils/media-utils.ts | 2 +- src/lib/utils/pattern-utils.ts | 4 ++-- src/lib/utils/post-menu-props.ts | 2 +- src/lib/utils/quote-link-utils.ts | 2 +- src/stores/__tests__/theme-store.test.ts | 2 +- src/stores/use-catalog-filters-store.ts | 2 +- src/stores/use-challenges-store.ts | 2 +- src/stores/use-post-number-store.ts | 2 +- src/stores/use-publish-post-store.ts | 2 +- src/stores/use-publish-reply-store.ts | 2 +- src/stores/use-theme-store.ts | 2 +- .../__tests__/account-data-editor.test.tsx | 2 +- .../account-data-editor.tsx | 2 +- src/views/board/__tests__/board.test.tsx | 2 +- src/views/board/board.tsx | 2 +- src/views/catalog/__tests__/catalog.test.tsx | 2 +- src/views/catalog/catalog.tsx | 2 +- src/views/faq/faq.tsx | 4 ++-- src/views/home/__tests__/home.test.tsx | 2 +- src/views/home/home.tsx | 8 +++---- .../popular-threads-box.tsx | 2 +- src/views/mod-queue/mod-queue.tsx | 2 +- .../__tests__/pending-post.test.tsx | 2 +- src/views/pending-post/pending-post.tsx | 2 +- src/views/post/__tests__/post.test.tsx | 4 ++-- src/views/post/post.tsx | 4 ++-- src/views/rules/rules.tsx | 2 +- vite.config.js | 2 +- yarn.lock | 4 ++-- 150 files changed, 209 insertions(+), 209 deletions(-) diff --git a/README.md b/README.md index 94e64612..c477711c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -[![Build Status](https://img.shields.io/github/actions/workflow/status/bitsocialhq/5chan/ci.yml?branch=master)](https://github.com/bitsocialhq/5chan/actions/workflows/ci.yml) -[![Release](https://img.shields.io/github/v/release/bitsocialhq/5chan)](https://github.com/bitsocialhq/5chan/releases/latest) -[![License](https://img.shields.io/badge/license-GPL--2.0--only-red.svg)](https://github.com/bitsocialhq/5chan/blob/master/LICENSE) +[![Build Status](https://img.shields.io/github/actions/workflow/status/bitsocialnet/5chan/ci.yml?branch=master)](https://github.com/bitsocialnet/5chan/actions/workflows/ci.yml) +[![Release](https://img.shields.io/github/v/release/bitsocialnet/5chan)](https://github.com/bitsocialnet/5chan/releases/latest) +[![License](https://img.shields.io/badge/license-GPL--2.0--only-red.svg)](https://github.com/bitsocialnet/5chan/blob/master/LICENSE) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) @@ -14,7 +14,7 @@ _Telegram group for this repo https://t.me/fivechandev_ ## Key Features ### Decentralized Board Ownership -Unlike traditional imageboards, 5chan has no global admins or central authority. Anyone can create unlimited boards using their own [bitsocial node](https://github.com/bitsocialhq/bitsocial-cli). Each board owner runs their own P2P node that users connect to peer-to-peer, giving them complete control over their board's content, moderation, and rules. +Unlike traditional imageboards, 5chan has no global admins or central authority. Anyone can create unlimited boards using their own [bitsocial node](https://github.com/bitsocialnet/bitsocial-cli). Each board owner runs their own P2P node that users connect to peer-to-peer, giving them complete control over their board's content, moderation, and rules. ### Competitive Directory System 5chan maintains the familiar imageboard directory structure (Japanese Culture, Video Games, Interests, Creative, etc.), but introduces competition: **multiple boards can compete for each directory slot**. For example, there can be unlimited "Business & Finance" boards, but only the highest-voted one appears in the directory on the homepage. @@ -23,7 +23,7 @@ Currently, directory assignments are temporarily handpicked by developers throug ### How It Works -- **Current System**: Developers manually curate directory assignments by reviewing pull requests to the [5chan-directories.json](https://github.com/bitsocialhq/lists/blob/master/5chan-directories.json) file. +- **Current System**: Developers manually curate directory assignments by reviewing pull requests to the [5chan-directories.json](https://github.com/bitsocialnet/lists/blob/master/5chan-directories.json) file. - **Future System**: Directory board assignments will be determined through gasless voting using pubsub. Community members will vote on which board should be assigned to each directory, and the highest-voted board will automatically become the directory board. This creates a competitive marketplace where board quality and community engagement determine directory placement. @@ -48,14 +48,14 @@ This feature is on the pkc-js roadmap but hasn't been implemented yet. ## Downloads - **Web version**: https://5chan.app (also available using Brave/IPFS Companion on https://5chan.eth) -- **Desktop version** (full P2P bitsocial node, seeds automatically): Available for Mac/Windows/Linux, [download from the release page](https://github.com/bitsocialhq/5chan/releases/latest) -- **Mobile version**: Available for Android, [download from the release page](https://github.com/bitsocialhq/5chan/releases/latest) +- **Desktop version** (full P2P bitsocial node, seeds automatically): Available for Mac/Windows/Linux, [download from the release page](https://github.com/bitsocialnet/5chan/releases/latest) +- **Mobile version**: Available for Android, [download from the release page](https://github.com/bitsocialnet/5chan/releases/latest) ## Creating a Board In the bitsocial protocol, a 5chan board is called a _community_. To create and run a community: -1. Install bitsocial-cli, available for Windows, macOS, and Linux: [latest release](https://github.com/bitsocialhq/bitsocial-cli/releases/latest); +1. Install bitsocial-cli, available for Windows, macOS, and Linux: [latest release](https://github.com/bitsocialnet/bitsocial-cli/releases/latest); 2. Follow the instructions in the repo's README; 3. When running the daemon for the first time, it will output WebUI links you can use to manage your bitsocial community with a GUI. @@ -72,7 +72,7 @@ To have your board appear in a directory on the 5chan homepage: - Relevant to the directory category - **99% uptime** (since a board acts like its own server—it's a P2P node) -2. Open a pull request on GitHub by editing the [5chan-directories.json](https://github.com/bitsocialhq/lists/blob/master/5chan-directories.json) file +2. Open a pull request on GitHub by editing the [5chan-directories.json](https://github.com/bitsocialnet/lists/blob/master/5chan-directories.json) file 3. Add your board's entry with: - Title: in the format `/directoryCode/ - Title`, e.g. "/biz/ - Business & Finance"; @@ -109,11 +109,11 @@ The dev server runs at http://5chan.localhost:1355 via [Portless](https://port13 ### Challenge Types -Bitsocial communities can require users to solve one or more anti-spam challenges before a publication is accepted. 5chan already supports multiple challenge types, including `url/iframe` challenges so [Mintpass](https://github.com/bitsocialhq/mintpass) communities can run their iframe flow directly inside a modal. The modal first shows a hostname confirmation (showing only the host for mintpass.org, full URL otherwise), then opens the HTTPS iframe with the current theme, replaces `{userAddress}` tokens with the signed-in address, and submits automatically when the user finishes. +Bitsocial communities can require users to solve one or more anti-spam challenges before a publication is accepted. 5chan already supports multiple challenge types, including `url/iframe` challenges so [Mintpass](https://github.com/bitsocialnet/mintpass) communities can run their iframe flow directly inside a modal. The modal first shows a hostname confirmation (showing only the host for mintpass.org, full URL otherwise), then opens the HTTPS iframe with the current theme, replaces `{userAddress}` tokens with the signed-in address, and submits automatically when the user finishes. ### Build -The Linux/Windows/macOS/Android build scripts are in [.github/workflows/release.yml](https://github.com/bitsocialhq/5chan/blob/master/.github/workflows/release.yml) +The Linux/Windows/macOS/Android build scripts are in [.github/workflows/release.yml](https://github.com/bitsocialnet/5chan/blob/master/.github/workflows/release.yml) ## License diff --git a/docs/agent-playbooks/known-surprises.md b/docs/agent-playbooks/known-surprises.md index 7376b034..1646c8e3 100644 --- a/docs/agent-playbooks/known-surprises.md +++ b/docs/agent-playbooks/known-surprises.md @@ -43,7 +43,7 @@ If uncertain, ask the developer before adding an entry. - **Date:** 2026-03-07 - **Observed by:** Codex - **Context:** Adding `knip` exposed `electron/start-plebbit-rpc.js` importing `@plebbit/plebbit-js/rpc` as an unlisted dependency. -- **What was surprising:** Even though that file imports `@plebbit/plebbit-js` directly, repository policy is to depend only on `@bitsocialhq/bitsocial-react-hooks` and use its transitive copy of `plebbit-js`. +- **What was surprising:** Even though that file imports `@plebbit/plebbit-js` directly, repository policy is to depend only on `@bitsocialnet/bitsocial-react-hooks` and use its transitive copy of `plebbit-js`. - **Impact:** Agents may “fix” the unlisted import by adding `@plebbit/plebbit-js` to `package.json`, which violates project policy. - **Mitigation:** Do not add `@plebbit/plebbit-js` to `package.json` for this repo. If `knip` flags `electron/start-plebbit-rpc.js`, handle it with a targeted `ignoreIssues` entry instead. - **Status:** confirmed diff --git a/index.html b/index.html index d1dcc59e..de1d1e74 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,7 @@ - + @@ -39,17 +39,17 @@ "offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" }, "author": { "@type": "Organization", - "name": "bitsocialhq", - "url": "https://github.com/bitsocialhq" + "name": "bitsocialnet", + "url": "https://github.com/bitsocialnet" }, "license": "https://www.gnu.org/licenses/old-licenses/gpl-2.0.html", "sourceOrganization": { "@type": "Organization", - "name": "bitsocialhq", - "url": "https://github.com/bitsocialhq" + "name": "bitsocialnet", + "url": "https://github.com/bitsocialnet" }, "isAccessibleForFree": true, - "codeRepository": "https://github.com/bitsocialhq/5chan" + "codeRepository": "https://github.com/bitsocialnet/5chan" } diff --git a/package.json b/package.json index 533c588c..992df9ed 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "license": "GPL-2.0-only", "private": true, "dependencies": { - "@bitsocialhq/bitsocial-react-hooks": "https://github.com/bitsocialhq/bitsocial-react-hooks.git#4eebec914a3a918d5984777e11a9fc6ef8e821a9", + "@bitsocialnet/bitsocial-react-hooks": "https://github.com/bitsocialnet/bitsocial-react-hooks.git#4eebec914a3a918d5984777e11a9fc6ef8e821a9", "@capacitor/app": "7.0.1", "@capacitor/status-bar": "7.0.1", "@capawesome/capacitor-android-edge-to-edge-support": "7.2.2", diff --git a/public/llms.txt b/public/llms.txt index 62ec30a5..1acc45a8 100644 --- a/public/llms.txt +++ b/public/llms.txt @@ -2,7 +2,7 @@ 5chan is a serverless, adminless, decentralized, open-source imageboard client built on the Bitsocial protocol. -The canonical web app is https://5chan.app and the source repository is https://github.com/bitsocialhq/5chan. +The canonical web app is https://5chan.app and the source repository is https://github.com/bitsocialnet/5chan. ## Summary @@ -29,13 +29,13 @@ This repository primarily contains the client application. It is a React and Typ ## Canonical Public Links - App: https://5chan.app -- Repository: https://github.com/bitsocialhq/5chan -- Releases: https://github.com/bitsocialhq/5chan/releases/latest -- README: https://github.com/bitsocialhq/5chan/blob/master/README.md -- Agent instructions: https://github.com/bitsocialhq/5chan/blob/master/AGENTS.md +- Repository: https://github.com/bitsocialnet/5chan +- Releases: https://github.com/bitsocialnet/5chan/releases/latest +- README: https://github.com/bitsocialnet/5chan/blob/master/README.md +- Agent instructions: https://github.com/bitsocialnet/5chan/blob/master/AGENTS.md - Bitsocial protocol site: https://bitsocial.net -- Bitsocial CLI: https://github.com/bitsocialhq/bitsocial-cli -- Directory list source: https://github.com/bitsocialhq/lists/blob/master/5chan-directories.json +- Bitsocial CLI: https://github.com/bitsocialnet/bitsocial-cli +- Directory list source: https://github.com/bitsocialnet/lists/blob/master/5chan-directories.json ## Architecture @@ -133,7 +133,7 @@ In the Bitsocial protocol, a board is a community. Board operators run their own Boards can be submitted for directory inclusion by editing the list maintained at: -https://github.com/bitsocialhq/lists/blob/master/5chan-directories.json +https://github.com/bitsocialnet/lists/blob/master/5chan-directories.json ## Preferred Framing @@ -164,5 +164,5 @@ The project values: For deeper contributor guidance, read: -- https://github.com/bitsocialhq/5chan/blob/master/AGENTS.md -- https://github.com/bitsocialhq/5chan/blob/master/README.md +- https://github.com/bitsocialnet/5chan/blob/master/AGENTS.md +- https://github.com/bitsocialnet/5chan/blob/master/README.md diff --git a/public/robots.txt b/public/robots.txt index e15e9315..a22d9534 100644 --- a/public/robots.txt +++ b/public/robots.txt @@ -4,4 +4,4 @@ Disallow: Sitemap: https://5chan.app/sitemap.xml # 5chan — open-source decentralized imageboard -# Source: https://github.com/bitsocialhq/5chan +# Source: https://github.com/bitsocialnet/5chan diff --git a/public/translations/ar/default.json b/public/translations/ar/default.json index 01216e50..6c73b5a0 100644 --- a/public/translations/ar/default.json +++ b/public/translations/ar/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "غير متاح حتى الآن. سيتمكن المستخدمون من إرسال لوحاتهم الخاصة والتصويت عليها للمنافسة على فتحات الدليل، مثل /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "تصبح /{{boardIdentifier}}/ الأكثر تصويتاً هي /{{boardIdentifier}}/ الرسمية.", "upload_failed": "فشل التحميل", - "upload_not_supported_web": "رفع الوسائط غير مدعوم من متصفحك بسبب قيود تقنية (CORS). إنه مدعوم في تطبيق 5chan لـ Android والتطبيق المكتبي لـ Mac/Linux/Windows. التحميل من صفحة الإصدار الرسمية: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "رفع الوسائط غير مدعوم من متصفحك بسبب قيود تقنية (CORS). إنه مدعوم في تطبيق 5chan لـ Android والتطبيق المكتبي لـ Mac/Linux/Windows. التحميل من صفحة الإصدار الرسمية: https://github.com/bitsocialnet/5chan/releases/latest", "file": "ملف", "media_hosting_none": "لا شيء", "media_hosting_none_tip": "إخفاء زر تحميل الملف من نماذج المنشورات والردود", diff --git a/public/translations/bn/default.json b/public/translations/bn/default.json index 48030598..00b87b6b 100644 --- a/public/translations/bn/default.json +++ b/public/translations/bn/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "এখনও উপলব্ধ নয়। ব্যবহারকারীরা তাদের নিজস্ব বোর্ড জমা দিতে এবং সেগুলির জন্য ভোট দিতে সক্ষম হবে, যেমন /{{boardIdentifier}}/ এর জন্য ডিরেক্টরি স্লটের জন্য প্রতিযোগিতা করতে।", "vote_button_unavailable_outro": "সর্বাধিক ভোটপ্রাপ্ত /{{boardIdentifier}}/ আনুষ্ঠানিক /{{boardIdentifier}}/ হয়ে ওঠে।", "upload_failed": "আপলোড ব্যর্থ", - "upload_not_supported_web": "প্রযুক্তিগত সীমাবদ্ধতার কারণে (CORS) আপনার ব্রাউজার মিডিয়া আপলোড সমর্থন করে না। এটি 5chan অ্যান্ড্রয়েড অ্যাপ এবং Mac/Linux/Windows ডেস্কটপ অ্যাপে সমর্থিত। অফিসিয়াল রিলিজ পৃষ্ঠা থেকে ডাউনলোড করুন: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "প্রযুক্তিগত সীমাবদ্ধতার কারণে (CORS) আপনার ব্রাউজার মিডিয়া আপলোড সমর্থন করে না। এটি 5chan অ্যান্ড্রয়েড অ্যাপ এবং Mac/Linux/Windows ডেস্কটপ অ্যাপে সমর্থিত। অফিসিয়াল রিলিজ পৃষ্ঠা থেকে ডাউনলোড করুন: https://github.com/bitsocialnet/5chan/releases/latest", "file": "ফাইল", "media_hosting_none": "কোনো নয়", "media_hosting_none_tip": "পোস্ট এবং রিপ্লাই ফর্ম থেকে ফাইল আপলোড বাটন লুকায়", diff --git a/public/translations/cs/default.json b/public/translations/cs/default.json index 0452b99c..a49ca4a9 100644 --- a/public/translations/cs/default.json +++ b/public/translations/cs/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Zatím není k dispozici. Uživatelé budou moci odesílat vlastní desky a hlasovat pro ně, aby konkurovali o místa v adresáři, jako je /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "Nejvíce hlasovaná /{{boardIdentifier}}/ se stane oficiální /{{boardIdentifier}}/.", "upload_failed": "Nahrávání se nezdařilo", - "upload_not_supported_web": "Nahrávání médií není vaším prohlížečem podporováno z důvodu technických omezení (CORS). Je podporováno v aplikaci 5chan pro Android a desktopové aplikaci pro Mac/Linux/Windows. Stáhněte si z oficiální stránky vydání: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Nahrávání médií není vaším prohlížečem podporováno z důvodu technických omezení (CORS). Je podporováno v aplikaci 5chan pro Android a desktopové aplikaci pro Mac/Linux/Windows. Stáhněte si z oficiální stránky vydání: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Soubor", "media_hosting_none": "Žádné", "media_hosting_none_tip": "Skrývá tlačítko pro nahrávání souborů z formulářů příspěvků a odpovědí", diff --git a/public/translations/da/default.json b/public/translations/da/default.json index 7fddce09..8832d0d1 100644 --- a/public/translations/da/default.json +++ b/public/translations/da/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Ikke tilgængelig endnu. Brugere vil kunne indsende deres egne boards og stemme for dem for at konkurrere om katalogpladser, såsom /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "Det /{{boardIdentifier}}/ med flest stemmer bliver den officielle /{{boardIdentifier}}/.", "upload_failed": "Upload mislykkedes", - "upload_not_supported_web": "Upload af medier understøttes ikke af din browser på grund af tekniske begrænsninger (CORS). Det understøttes i 5chan Android-appen og Mac/Linux/Windows desktop-appen. Download fra den officielle udgivelsesside: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Upload af medier understøttes ikke af din browser på grund af tekniske begrænsninger (CORS). Det understøttes i 5chan Android-appen og Mac/Linux/Windows desktop-appen. Download fra den officielle udgivelsesside: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Fil", "media_hosting_none": "Ingen", "media_hosting_none_tip": "Skjuler filoverføringsknappen fra post- og svarformularer", diff --git a/public/translations/de/default.json b/public/translations/de/default.json index 38736604..c73a5922 100644 --- a/public/translations/de/default.json +++ b/public/translations/de/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Noch nicht verfügbar. Benutzer können ihre eigenen Boards einreichen und dafür abstimmen, um um Verzeichnisplätze zu konkurrieren, wie /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "Das am meisten abgestimmte /{{boardIdentifier}}/ wird zum offiziellen /{{boardIdentifier}}/.", "upload_failed": "Upload fehlgeschlagen", - "upload_not_supported_web": "Das Hochladen von Medien wird von Ihrem Browser aufgrund technischer Einschränkungen (CORS) nicht unterstützt. Es wird in der 5chan-Android-App und der Mac/Linux/Windows-Desktop-App unterstützt. Download von der offiziellen Release-Seite: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Das Hochladen von Medien wird von Ihrem Browser aufgrund technischer Einschränkungen (CORS) nicht unterstützt. Es wird in der 5chan-Android-App und der Mac/Linux/Windows-Desktop-App unterstützt. Download von der offiziellen Release-Seite: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Datei", "media_hosting_none": "Keine", "media_hosting_none_tip": "Verbirgt die Datei-Upload-Schaltfläche aus Post- und Antwortformularen", diff --git a/public/translations/el/default.json b/public/translations/el/default.json index 525360bf..eddf427a 100644 --- a/public/translations/el/default.json +++ b/public/translations/el/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Δεν είναι διαθέσιμο ακόμα. Οι χρήστες θα μπορούν να υποβάλουν τις δικές τους σανίδες και να ψηφίσουν γι' αυτές ώστε να ανταγωνίζονται για θέσεις σε φακέλους, όπως /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "Η /{{boardIdentifier}}/ με τους περισσότερους ψήφους γίνεται η επίσημη /{{boardIdentifier}}/.", "upload_failed": "Αποτυχία μεταφόρτωσης", - "upload_not_supported_web": "Η μεταφόρτωση πολυμέσων δεν υποστηρίζεται από το πρόγραμμα περιήγησής σας λόγω τεχνικών περιορισμών (CORS). Υποστηρίζεται στην εφαρμογή 5chan για Android και την εφαρμογή επιφάνειας εργασίας Mac/Linux/Windows. Λήψη από τη σελίδα επίσημης έκδοσης: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Η μεταφόρτωση πολυμέσων δεν υποστηρίζεται από το πρόγραμμα περιήγησής σας λόγω τεχνικών περιορισμών (CORS). Υποστηρίζεται στην εφαρμογή 5chan για Android και την εφαρμογή επιφάνειας εργασίας Mac/Linux/Windows. Λήψη από τη σελίδα επίσημης έκδοσης: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Αρχείο", "media_hosting_none": "Κανένα", "media_hosting_none_tip": "Αποκρύπτει το κουμπί μεταφόρτωσης αρχείου από τις φόρμες δημοσίευσης και απάντησης", diff --git a/public/translations/en/default.json b/public/translations/en/default.json index 5d7dc6ca..337e14dd 100644 --- a/public/translations/en/default.json +++ b/public/translations/en/default.json @@ -259,7 +259,7 @@ "vote_button_unavailable_intro": "Not available yet. Users will be able to submit their own boards, and vote for them, to compete for directory slots, like /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "The highest-voted /{{boardIdentifier}}/ becomes the official /{{boardIdentifier}}/.", "upload_failed": "Upload failed", - "upload_not_supported_web": "Uploading media isn't supported by your browser due to technical limitations (CORS). It is supported in the 5chan Android app and Mac/Linux/Windows desktop app. Download from the official release page: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Uploading media isn't supported by your browser due to technical limitations (CORS). It is supported in the 5chan Android app and Mac/Linux/Windows desktop app. Download from the official release page: https://github.com/bitsocialnet/5chan/releases/latest", "upload_not_supported_web_before_link": "Uploading media isn't supported by your browser due to technical limitations (CORS). It is supported in the 5chan Android app and Mac/Linux/Windows desktop app.", "upload_not_supported_web_link_text": "Download from the official release page", "file": "File", diff --git a/public/translations/es/default.json b/public/translations/es/default.json index 039f421c..b9cca9a9 100644 --- a/public/translations/es/default.json +++ b/public/translations/es/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Aún no disponible. Los usuarios podrán enviar sus propios tableros y votar por ellos para competir por espacios de directorio, como /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "El tablero /{{boardIdentifier}}/ más votado se convierte en el oficial /{{boardIdentifier}}/.", "upload_failed": "Error al subir", - "upload_not_supported_web": "La subida de medios no está soportada por tu navegador debido a limitaciones técnicas (CORS). Sí está soportada en la app 5chan para Android y en la app de escritorio para Mac/Linux/Windows. Descarga desde la página oficial de releases: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "La subida de medios no está soportada por tu navegador debido a limitaciones técnicas (CORS). Sí está soportada en la app 5chan para Android y en la app de escritorio para Mac/Linux/Windows. Descarga desde la página oficial de releases: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Archivo", "media_hosting_none": "Ninguno", "media_hosting_none_tip": "Oculta el botón de carga de archivos de los formularios de publicación y respuesta", diff --git a/public/translations/fa/default.json b/public/translations/fa/default.json index d896af37..763beb83 100644 --- a/public/translations/fa/default.json +++ b/public/translations/fa/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "هنوز در دسترس نیست. کاربران می‌توانند بوردهای خود را ارسال کنند و برای آنها رای دهند تا برای شکاف‌های دایرکتوری رقابت کنند، مانند /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "بیشترین رای‌شده /{{boardIdentifier}}/ به /{{boardIdentifier}}/ رسمی تبدیل می‌شود.", "upload_failed": "آپلود ناموفق بود", - "upload_not_supported_web": "آپلود رسانه توسط مرورگر شما به دلیل محدودیت‌های فنی (CORS) پشتیبانی نمی‌شود. در اپلیکیشن 5chan اندروید و اپلیکیشن دسکتاپ Mac/Linux/Windows پشتیبانی می‌شود. از صفحه انتشار رسمی دانلود کنید: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "آپلود رسانه توسط مرورگر شما به دلیل محدودیت‌های فنی (CORS) پشتیبانی نمی‌شود. در اپلیکیشن 5chan اندروید و اپلیکیشن دسکتاپ Mac/Linux/Windows پشتیبانی می‌شود. از صفحه انتشار رسمی دانلود کنید: https://github.com/bitsocialnet/5chan/releases/latest", "file": "فایل", "media_hosting_none": "هیچ کدام", "media_hosting_none_tip": "دکمه بارگذاری فایل را از فرم‌های پست و پاسخ مخفی می‌کند", diff --git a/public/translations/fi/default.json b/public/translations/fi/default.json index b85ad9d4..7ea715c7 100644 --- a/public/translations/fi/default.json +++ b/public/translations/fi/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Ei vielä käytettävissä. Käyttäjät voivat lähettää omia lautojaan ja äänestää niitä kilpaillakseen hakemistopaikoista, kuten /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "Eniten ääniä saanut /{{boardIdentifier}}/ tulee viralliseksi /{{boardIdentifier}}/.", "upload_failed": "Lataus epäonnistui", - "upload_not_supported_web": "Medioiden latausta ei tueta selaimessasi teknisistä rajoituksista (CORS) johtuen. Se on tuettu 5chan-sovelluksessa Androidille ja Mac/Linux/Windows-työpöytäsovelluksessa. Lataa viralliselta julkaisusivulta: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Medioiden latausta ei tueta selaimessasi teknisistä rajoituksista (CORS) johtuen. Se on tuettu 5chan-sovelluksessa Androidille ja Mac/Linux/Windows-työpöytäsovelluksessa. Lataa viralliselta julkaisusivulta: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Tiedosto", "media_hosting_none": "Ei mikään", "media_hosting_none_tip": "Piilottaa tiedostonlatausnapin post- ja vastauslomakkeista", diff --git a/public/translations/fil/default.json b/public/translations/fil/default.json index a38515d2..310182ec 100644 --- a/public/translations/fil/default.json +++ b/public/translations/fil/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Hindi pa available. Ang mga user ay makakagawa ng kanilang sariling mga board at mag-boto para sa kanila upang makipagkompetensya para sa mga slot sa directory, tulad ng /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "Ang /{{boardIdentifier}}/ na may pinakamataas na boto ay nagiging ang opisyal na /{{boardIdentifier}}/.", "upload_failed": "Nabigo ang pag-upload", - "upload_not_supported_web": "Ang pag-upload ng media ay hindi sinusuportahan ng iyong browser dahil sa mga limitasyong teknikal (CORS). Sinusuportahan ito sa 5chan Android app at Mac/Linux/Windows desktop app. I-download mula sa opisyal na release page: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Ang pag-upload ng media ay hindi sinusuportahan ng iyong browser dahil sa mga limitasyong teknikal (CORS). Sinusuportahan ito sa 5chan Android app at Mac/Linux/Windows desktop app. I-download mula sa opisyal na release page: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Talaksan", "media_hosting_none": "Wala", "media_hosting_none_tip": "Itinatago ang button ng pag-upload ng file mula sa mga form ng post at reply", diff --git a/public/translations/fr/default.json b/public/translations/fr/default.json index 00914307..d949fc46 100644 --- a/public/translations/fr/default.json +++ b/public/translations/fr/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Pas encore disponible. Les utilisateurs pourront soumettre leurs propres tableaux et voter pour eux pour rivaliser pour les emplacements du répertoire, comme /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "Le tableau /{{boardIdentifier}}/ le plus voté devient le tableau officiel /{{boardIdentifier}}/.", "upload_failed": "Échec du téléchargement", - "upload_not_supported_web": "Le téléchargement de médias n'est pas pris en charge par votre navigateur en raison de limitations techniques (CORS). Il est pris en charge dans l'application 5chan pour Android et l'application de bureau Mac/Linux/Windows. Téléchargez depuis la page officielle des versions : https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Le téléchargement de médias n'est pas pris en charge par votre navigateur en raison de limitations techniques (CORS). Il est pris en charge dans l'application 5chan pour Android et l'application de bureau Mac/Linux/Windows. Téléchargez depuis la page officielle des versions : https://github.com/bitsocialnet/5chan/releases/latest", "file": "Fichier", "media_hosting_none": "Aucun", "media_hosting_none_tip": "Masque le bouton de téléchargement de fichiers des formulaires de publication et de réponse", diff --git a/public/translations/he/default.json b/public/translations/he/default.json index 469c57aa..fbf66d60 100644 --- a/public/translations/he/default.json +++ b/public/translations/he/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "עדיין לא זמין. משתמשים יוכלו להגיש לוחות משלהם ולהצביע עליהם כדי להתחרות על משבצות בספרייה, כגון /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "/{{boardIdentifier}}/ בעל ההצבעות הרבות ביותר הופך ל- /{{boardIdentifier}}/ הרשמי.", "upload_failed": "ההעלאה נכשלה", - "upload_not_supported_web": "העלאת מדיה אינה נתמכת בדפדפן שלך בשל מגבלות טכניות (CORS). היא נתמכת באפליקציית 5chan ל-Android ובאפליקציית הדסקטופ ל-Mac/Linux/Windows. הורד מדף השחרור הרשמי: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "העלאת מדיה אינה נתמכת בדפדפן שלך בשל מגבלות טכניות (CORS). היא נתמכת באפליקציית 5chan ל-Android ובאפליקציית הדסקטופ ל-Mac/Linux/Windows. הורד מדף השחרור הרשמי: https://github.com/bitsocialnet/5chan/releases/latest", "file": "קובץ", "media_hosting_none": "ללא", "media_hosting_none_tip": "מסתיר את כפתור העלאת הקבצים מטפסי פוסט ותשובה", diff --git a/public/translations/hi/default.json b/public/translations/hi/default.json index 2485e7ce..e3cd3df1 100644 --- a/public/translations/hi/default.json +++ b/public/translations/hi/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "अभी उपलब्ध नहीं है। उपयोगकर्ता अपने स्वयं के बोर्ड जमा कर सकेंगे और उनके लिए वोट कर सकेंगे, जैसे /{{boardIdentifier}}/ के लिए निर्देशिका स्लॉट के लिए प्रतिस्पर्धा कर सकेंगे।", "vote_button_unavailable_outro": "सर्वाधिक मतदान प्राप्त /{{boardIdentifier}}/ आधिकारिक /{{boardIdentifier}}/ बन जाता है।", "upload_failed": "अपलोड विफल", - "upload_not_supported_web": "तकनीकी सीमाओं (CORS) के कारण आपका ब्राउज़र मीडिया अपलोड का समर्थन नहीं करता। यह 5chan एंड्रॉइड ऐप और Mac/Linux/Windows डेस्कटॉप ऐप में समर्थित है। आधिकारिक रिलीज़ पेज से डाउनलोड करें: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "तकनीकी सीमाओं (CORS) के कारण आपका ब्राउज़र मीडिया अपलोड का समर्थन नहीं करता। यह 5chan एंड्रॉइड ऐप और Mac/Linux/Windows डेस्कटॉप ऐप में समर्थित है। आधिकारिक रिलीज़ पेज से डाउनलोड करें: https://github.com/bitsocialnet/5chan/releases/latest", "file": "फ़ाइल", "media_hosting_none": "कोई नहीं", "media_hosting_none_tip": "पोस्ट और रिप्लाई फॉर्म से फ़ाइल अपलोड बटन को छिपाता है", diff --git a/public/translations/hu/default.json b/public/translations/hu/default.json index 839cc6ac..1d218f73 100644 --- a/public/translations/hu/default.json +++ b/public/translations/hu/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Még nem érhető el. A felhasználók majd küldhetnek saját táblákat és szavazhatnak rájuk, hogy versenyezzenek a könyvtári helyekért, például /{{boardIdentifier}}/ esetén.", "vote_button_unavailable_outro": "A legtöbb szavazatot kapott /{{boardIdentifier}}/ lesz a hivatalos /{{boardIdentifier}}/.", "upload_failed": "A feltöltés sikertelen", - "upload_not_supported_web": "A média feltöltése nem támogatott a böngésződben technikai korlátozások miatt (CORS). A 5chan Android alkalmazásban és a Mac/Linux/Windows asztali alkalmazásban támogatott. Töltse le a hivatalos kiadási oldalról: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "A média feltöltése nem támogatott a böngésződben technikai korlátozások miatt (CORS). A 5chan Android alkalmazásban és a Mac/Linux/Windows asztali alkalmazásban támogatott. Töltse le a hivatalos kiadási oldalról: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Fájl", "media_hosting_none": "Nincs", "media_hosting_none_tip": "Elrejti a fájlfeltöltés gombot a poszt- és válaszűrlapokból", diff --git a/public/translations/id/default.json b/public/translations/id/default.json index e31380bd..54ae4720 100644 --- a/public/translations/id/default.json +++ b/public/translations/id/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Belum tersedia. Pengguna akan dapat mengirimkan papan mereka sendiri dan memilih mereka untuk bersaing mendapatkan slot direktori, seperti /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "/{{boardIdentifier}}/ dengan suara terbanyak menjadi /{{boardIdentifier}}/ resmi.", "upload_failed": "Unggahan gagal", - "upload_not_supported_web": "Mengunggah media tidak didukung oleh browser Anda karena batasan teknis (CORS). Ini didukung di aplikasi 5chan Android dan aplikasi desktop Mac/Linux/Windows. Unduh dari halaman rilis resmi: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Mengunggah media tidak didukung oleh browser Anda karena batasan teknis (CORS). Ini didukung di aplikasi 5chan Android dan aplikasi desktop Mac/Linux/Windows. Unduh dari halaman rilis resmi: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Berkas", "media_hosting_none": "Tidak ada", "media_hosting_none_tip": "Menyembunyikan tombol unggah file dari formulir posting dan balasan", diff --git a/public/translations/it/default.json b/public/translations/it/default.json index 6294e624..29135fa2 100644 --- a/public/translations/it/default.json +++ b/public/translations/it/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Non ancora disponibile. Gli utenti potranno inviare i loro board e votarli per competere per gli slot della directory, come /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "Il /{{boardIdentifier}}/ più votato diventa il /{{boardIdentifier}}/ ufficiale.", "upload_failed": "Caricamento fallito", - "upload_not_supported_web": "Il caricamento di file multimediali non è supportato dal tuo browser a causa di limitazioni tecniche (CORS). È supportato nell'app 5chan per Android e nell'app desktop per Mac/Linux/Windows. Scarica dalla pagina ufficiale delle release: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Il caricamento di file multimediali non è supportato dal tuo browser a causa di limitazioni tecniche (CORS). È supportato nell'app 5chan per Android e nell'app desktop per Mac/Linux/Windows. Scarica dalla pagina ufficiale delle release: https://github.com/bitsocialnet/5chan/releases/latest", "file": "File", "media_hosting_none": "Nessuno", "media_hosting_none_tip": "Nasconde il pulsante di caricamento del file dai moduli di post e risposta", diff --git a/public/translations/ja/default.json b/public/translations/ja/default.json index 46fbb3f1..81b54545 100644 --- a/public/translations/ja/default.json +++ b/public/translations/ja/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "まだ利用できません。ユーザーは独自のボードを送信し、投票してディレクトリスロットを競うことができます。例えば /{{boardIdentifier}}/ のように。", "vote_button_unavailable_outro": "最も投票された /{{boardIdentifier}}/ が公式の /{{boardIdentifier}}/ になります。", "upload_failed": "アップロードに失敗しました", - "upload_not_supported_web": "技術的な制限(CORS)により、お使いのブラウザではメディアのアップロードに対応していません。5chan AndroidアプリとMac/Linux/Windowsデスクトップアプリでは対応しています。公式リリースページからダウンロードしてください: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "技術的な制限(CORS)により、お使いのブラウザではメディアのアップロードに対応していません。5chan AndroidアプリとMac/Linux/Windowsデスクトップアプリでは対応しています。公式リリースページからダウンロードしてください: https://github.com/bitsocialnet/5chan/releases/latest", "file": "ファイル", "media_hosting_none": "なし", "media_hosting_none_tip": "投稿とコメントフォームのファイルアップロードボタンを非表示にします", diff --git a/public/translations/ko/default.json b/public/translations/ko/default.json index 2172dd24..074125fc 100644 --- a/public/translations/ko/default.json +++ b/public/translations/ko/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "아직 사용할 수 없습니다. 사용자는 자신의 보드를 제출하고 투표하여 /{{boardIdentifier}}/와 같은 디렉토리 슬롯을 놓고 경쟁할 수 있습니다.", "vote_button_unavailable_outro": "가장 많은 투표를 받은 /{{boardIdentifier}}/이 공식 /{{boardIdentifier}}/이 됩니다.", "upload_failed": "업로드 실패", - "upload_not_supported_web": "기술적 제한(CORS)으로 인해 브라우저에서 미디어 업로드를 지원하지 않습니다. 5chan Android 앱과 Mac/Linux/Windows 데스크톱 앱에서는 지원됩니다. 공식 릴리스 페이지에서 다운로드하세요: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "기술적 제한(CORS)으로 인해 브라우저에서 미디어 업로드를 지원하지 않습니다. 5chan Android 앱과 Mac/Linux/Windows 데스크톱 앱에서는 지원됩니다. 공식 릴리스 페이지에서 다운로드하세요: https://github.com/bitsocialnet/5chan/releases/latest", "file": "파일", "media_hosting_none": "없음", "media_hosting_none_tip": "게시물 및 댓글 양식에서 파일 업로드 버튼을 숨깁니다", diff --git a/public/translations/mr/default.json b/public/translations/mr/default.json index 438e31a3..41bbf824 100644 --- a/public/translations/mr/default.json +++ b/public/translations/mr/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "अद्याप उपलब्ध नाही. वापरकर्ते त्यांचे स्वतःचे बोर्ड सबमिट करू शकतील आणि /{{boardIdentifier}}/ सारख्या डायरेक्टरी स्लॉटसाठी स्पर्धा करण्यासाठी त्यांच्यासाठी व्होट करू शकतील.", "vote_button_unavailable_outro": "सर्वाधिक मतदान केलेले /{{boardIdentifier}}/ अधिकृत /{{boardIdentifier}}/ बन जाते.", "upload_failed": "अपलोड अयशस्वी", - "upload_not_supported_web": "तांत्रिक मर्यादांमुळे (CORS) तुमचा ब्राउझर मीडिया अपलोडला समर्थन देत नाही. 5chan Android अॅप आणि Mac/Linux/Windows डेस्कटॉप अॅपमध्ये ते समर्थित आहे. अधिकृत रिलीझ पेजवरून डाउनलोड करा: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "तांत्रिक मर्यादांमुळे (CORS) तुमचा ब्राउझर मीडिया अपलोडला समर्थन देत नाही. 5chan Android अॅप आणि Mac/Linux/Windows डेस्कटॉप अॅपमध्ये ते समर्थित आहे. अधिकृत रिलीझ पेजवरून डाउनलोड करा: https://github.com/bitsocialnet/5chan/releases/latest", "file": "फाइल", "media_hosting_none": "काहीही नाही", "media_hosting_none_tip": "पोस्ट आणि उत्तर फॉर्मवरून फाइल अपलोड बटन लपवते", diff --git a/public/translations/nl/default.json b/public/translations/nl/default.json index a223a4f0..a4a27274 100644 --- a/public/translations/nl/default.json +++ b/public/translations/nl/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Nog niet beschikbaar. Gebruikers kunnen hun eigen borden indienen en erop stemmen om te concurreren voor directorysleuven, zoals /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "Het /{{boardIdentifier}}/ met de meeste stemmen wordt het officiële /{{boardIdentifier}}/.", "upload_failed": "Upload mislukt", - "upload_not_supported_web": "Het uploaden van media wordt niet ondersteund door je browser vanwege technische beperkingen (CORS). Het wordt wel ondersteund in de 5chan Android-app en de Mac/Linux/Windows desktop-app. Download van de officiële releasespagina: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Het uploaden van media wordt niet ondersteund door je browser vanwege technische beperkingen (CORS). Het wordt wel ondersteund in de 5chan Android-app en de Mac/Linux/Windows desktop-app. Download van de officiële releasespagina: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Bestand", "media_hosting_none": "Geen", "media_hosting_none_tip": "Verbergt de knop voor bestandsupload uit post- en antwoordformulieren", diff --git a/public/translations/no/default.json b/public/translations/no/default.json index 432f0d3f..209e17f2 100644 --- a/public/translations/no/default.json +++ b/public/translations/no/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Ikke tilgjengelig ennå. Brukere vil kunne sende sine egne brett og stemme for dem for å konkurrere om katalogplasser, som /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "Det /{{boardIdentifier}}/ med flest stemmer blir det offisielle /{{boardIdentifier}}/.", "upload_failed": "Opplasting mislyktes", - "upload_not_supported_web": "Opplasting av media støttes ikke av nettleseren din på grunn av tekniske begrensninger (CORS). Det støttes i 5chan Android-appen og Mac/Linux/Windows desktop-appen. Last ned fra den offisielle utgivelsessiden: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Opplasting av media støttes ikke av nettleseren din på grunn av tekniske begrensninger (CORS). Det støttes i 5chan Android-appen og Mac/Linux/Windows desktop-appen. Last ned fra den offisielle utgivelsessiden: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Fil", "media_hosting_none": "Ingen", "media_hosting_none_tip": "Skjuler filoverføringknappen fra post- og svarskjemaer", diff --git a/public/translations/pl/default.json b/public/translations/pl/default.json index 7122fd1e..4d4225c7 100644 --- a/public/translations/pl/default.json +++ b/public/translations/pl/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Niedostępne. Użytkownicy będą mogli przesyłać własne tablice i głosować na nie, aby konkurować o miejsca w katalogu, takie jak /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "Tablica /{{boardIdentifier}}/ z największą liczbą głosów staje się oficjalną /{{boardIdentifier}}/.", "upload_failed": "Przesyłanie nie powiodło się", - "upload_not_supported_web": "Przesyłanie multimediów nie jest obsługiwane przez twoją przeglądarkę ze względu na ograniczenia techniczne (CORS). Jest obsługiwane w aplikacji 5chan na Androida i w aplikacji desktopowej Mac/Linux/Windows. Pobierz ze strony oficjalnych wydań: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Przesyłanie multimediów nie jest obsługiwane przez twoją przeglądarkę ze względu na ograniczenia techniczne (CORS). Jest obsługiwane w aplikacji 5chan na Androida i w aplikacji desktopowej Mac/Linux/Windows. Pobierz ze strony oficjalnych wydań: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Plik", "media_hosting_none": "Brak", "media_hosting_none_tip": "Ukrywa przycisk przesyłania pliku z formularzy postów i odpowiedzi", diff --git a/public/translations/pt/default.json b/public/translations/pt/default.json index fbd4e800..f0a66a6f 100644 --- a/public/translations/pt/default.json +++ b/public/translations/pt/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Ainda não disponível. Os usuários poderão enviar seus próprios boards e votar neles para competir por slots de diretório, como /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "O /{{boardIdentifier}}/ mais votado se torna o /{{boardIdentifier}}/ oficial.", "upload_failed": "Falha no envio", - "upload_not_supported_web": "O envio de mídia não é suportado pelo seu navegador devido a limitações técnicas (CORS). É suportado no app 5chan para Android e no app de desktop para Mac/Linux/Windows. Baixe na página oficial de releases: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "O envio de mídia não é suportado pelo seu navegador devido a limitações técnicas (CORS). É suportado no app 5chan para Android e no app de desktop para Mac/Linux/Windows. Baixe na página oficial de releases: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Arquivo", "media_hosting_none": "Nenhum", "media_hosting_none_tip": "Oculta o botão de envio de arquivo dos formulários de postagem e resposta", diff --git a/public/translations/ro/default.json b/public/translations/ro/default.json index 69e13e17..575e484b 100644 --- a/public/translations/ro/default.json +++ b/public/translations/ro/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Nu este disponibil deocamdată. Utilizatorii vor putea trimite propriile tablouri și vota pentru ele pentru a concura pentru locuri în director, cum ar fi /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "Tabloul /{{boardIdentifier}}/ cu cele mai multe voturi devine /{{boardIdentifier}}/ oficial.", "upload_failed": "Încărcarea a eșuat", - "upload_not_supported_web": "Încărcarea mediilor nu este suportată de browserul tău din cauza limitărilor tehnice (CORS). Este suportată în aplicația 5chan pentru Android și aplicația de desktop pentru Mac/Linux/Windows. Descarcă de pe pagina oficială de release: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Încărcarea mediilor nu este suportată de browserul tău din cauza limitărilor tehnice (CORS). Este suportată în aplicația 5chan pentru Android și aplicația de desktop pentru Mac/Linux/Windows. Descarcă de pe pagina oficială de release: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Fișier", "media_hosting_none": "Niciunul", "media_hosting_none_tip": "Ascunde butonul de încărcare a fișierelor din formularele de postare și răspuns", diff --git a/public/translations/ru/default.json b/public/translations/ru/default.json index 7e0f6bf3..37a89927 100644 --- a/public/translations/ru/default.json +++ b/public/translations/ru/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Пока недоступно. Пользователи смогут отправлять собственные доски и голосовать за них, чтобы конкурировать за места в каталоге, например /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "Набравший наибольшее количество голосов /{{boardIdentifier}}/ становится официальным /{{boardIdentifier}}/.", "upload_failed": "Ошибка загрузки", - "upload_not_supported_web": "Загрузка медиафайлов не поддерживается вашим браузером из-за технических ограничений (CORS). Поддерживается в приложении 5chan для Android и в десктопном приложении для Mac/Linux/Windows. Скачайте с официальной страницы релизов: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Загрузка медиафайлов не поддерживается вашим браузером из-за технических ограничений (CORS). Поддерживается в приложении 5chan для Android и в десктопном приложении для Mac/Linux/Windows. Скачайте с официальной страницы релизов: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Файл", "media_hosting_none": "Нет", "media_hosting_none_tip": "Скрывает кнопку загрузки файла из форм постов и ответов", diff --git a/public/translations/sq/default.json b/public/translations/sq/default.json index d820eec2..c6298ba1 100644 --- a/public/translations/sq/default.json +++ b/public/translations/sq/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Ende jo i disponueshëm. Përdoruesit do të jenë në gjendje të dërgojnë bordet e tyre dhe të votojnë për to për të konkurruar për vende në drejtori, si /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "/{{boardIdentifier}}/ me më shumë vota bëhet /{{boardIdentifier}}/ zyrtare.", "upload_failed": "Ngarkimi dështoi", - "upload_not_supported_web": "Ngarkimi i mediave nuk mbështetet nga shfletuesi juaj për shkak të kufizimeve teknike (CORS). Mbështetet në aplikacionin 5chan për Android dhe aplikacionin desktop për Mac/Linux/Windows. Shkarkoni nga faqja zyrtare e publikimeve: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Ngarkimi i mediave nuk mbështetet nga shfletuesi juaj për shkak të kufizimeve teknike (CORS). Mbështetet në aplikacionin 5chan për Android dhe aplikacionin desktop për Mac/Linux/Windows. Shkarkoni nga faqja zyrtare e publikimeve: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Skedar", "media_hosting_none": "Asnjë", "media_hosting_none_tip": "Fsheh butonin e ngarkimit të skedarit nga formularët e postimit dhe përgjigjes", diff --git a/public/translations/sv/default.json b/public/translations/sv/default.json index fb18c0bb..acebe4d2 100644 --- a/public/translations/sv/default.json +++ b/public/translations/sv/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Inte tillgänglig ännu. Användare kommer att kunna skicka in sina egna kort och rösta för dem för att konkurrera om katalogplatser, som /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "Det /{{boardIdentifier}}/ med flest röster blir det officiella /{{boardIdentifier}}/.", "upload_failed": "Uppladdning misslyckades", - "upload_not_supported_web": "Uppladdning av media stöds inte av din webbläsare på grund av tekniska begränsningar (CORS). Det stöds i 5chan Android-appen och Mac/Linux/Windows desktop-appen. Ladda ner från den officiella utgivningssidan: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Uppladdning av media stöds inte av din webbläsare på grund av tekniska begränsningar (CORS). Det stöds i 5chan Android-appen och Mac/Linux/Windows desktop-appen. Ladda ner från den officiella utgivningssidan: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Fil", "media_hosting_none": "Ingen", "media_hosting_none_tip": "Döljer knappen för filöverföring från inläggs- och svarsformulär", diff --git a/public/translations/te/default.json b/public/translations/te/default.json index 99064a67..8c710eec 100644 --- a/public/translations/te/default.json +++ b/public/translations/te/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "ఇంకా అందుబాటులో లేదు. వినియోగదారులు తమ స్వంత బోర్డులను సమర్పించవచ్చు మరియు /{{boardIdentifier}}/ వంటి డైరెక్టరీ స్లాట్‌ల కోసం వాటికి ఓటు వేయవచ్చు.", "vote_button_unavailable_outro": "సర్వాధిక ఓట్లను పొందిన /{{boardIdentifier}}/ అధికారిక /{{boardIdentifier}}/ అవుతుంది.", "upload_failed": "అప్‌లోడ్ విఫలమైంది", - "upload_not_supported_web": "సాంకేతిక పరిమితుల (CORS) కారణంగా మీ బ్రౌజర్ మీడియా అప్‌లోడ్‌కు మద్దతు ఇవ్వదు. ఇది 5chan Android అనువర్తనం మరియు Mac/Linux/Windows డెస్క్‌టాప్ అనువర్తనంలో మద్దతివ్వబడుతుంది. అధికారిక రిలీజ్ పేజీ నుండి డౌన్‌లోడ్ చేయండి: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "సాంకేతిక పరిమితుల (CORS) కారణంగా మీ బ్రౌజర్ మీడియా అప్‌లోడ్‌కు మద్దతు ఇవ్వదు. ఇది 5chan Android అనువర్తనం మరియు Mac/Linux/Windows డెస్క్‌టాప్ అనువర్తనంలో మద్దతివ్వబడుతుంది. అధికారిక రిలీజ్ పేజీ నుండి డౌన్‌లోడ్ చేయండి: https://github.com/bitsocialnet/5chan/releases/latest", "file": "ఫైల్", "media_hosting_none": "ఏదీ లేదు", "media_hosting_none_tip": "పోస్ట్ మరియు ప్రతిస్పందన ఫారమ్‌ల నుండి ఫైల్ అప్‌లోడ్ బటన్‌ను దాచిపెడుతుంది", diff --git a/public/translations/th/default.json b/public/translations/th/default.json index 96a24d5c..38e0c5c5 100644 --- a/public/translations/th/default.json +++ b/public/translations/th/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "ยังไม่พร้อมใช้งาน ผู้ใช้จะสามารถส่งบอร์ดของตนเองและโหวตเพื่อแข่งขันเพื่อช่องในไดเรกทอรี เช่น /{{boardIdentifier}}/ ได้", "vote_button_unavailable_outro": "/{{boardIdentifier}}/ ที่ได้โหวตมากที่สุดจะกลายเป็น /{{boardIdentifier}}/ อย่างเป็นทางการ", "upload_failed": "อัปโหลดล้มเหลว", - "upload_not_supported_web": "การอัปโหลดสื่อไม่รองรับโดยเบราว์เซอร์ของคุณเนื่องจากข้อจำกัดทางเทคนิค (CORS) รองรับในแอป 5chan สำหรับ Android และแอปเดสก์ท็อปสำหรับ Mac/Linux/Windows ดาวน์โหลดจากหน้าปล่อยอย่างเป็นทางการ: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "การอัปโหลดสื่อไม่รองรับโดยเบราว์เซอร์ของคุณเนื่องจากข้อจำกัดทางเทคนิค (CORS) รองรับในแอป 5chan สำหรับ Android และแอปเดสก์ท็อปสำหรับ Mac/Linux/Windows ดาวน์โหลดจากหน้าปล่อยอย่างเป็นทางการ: https://github.com/bitsocialnet/5chan/releases/latest", "file": "ไฟล์", "media_hosting_none": "ไม่มี", "media_hosting_none_tip": "ซ่อนปุ่มอัปโหลดไฟล์จากแบบฟอร์มโพสต์และตอบกลับ", diff --git a/public/translations/tr/default.json b/public/translations/tr/default.json index f367458e..799bb15b 100644 --- a/public/translations/tr/default.json +++ b/public/translations/tr/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Henüz mevcut değil. Kullanıcılar kendi panolarını gönderebilecek ve /{{boardIdentifier}}/ gibi dizin yuvaları için rekabet etmek üzere oy verebilecekler.", "vote_button_unavailable_outro": "En çok oy alan /{{boardIdentifier}}/ resmi /{{boardIdentifier}}/ olur.", "upload_failed": "Yükleme başarısız", - "upload_not_supported_web": "Teknik kısıtlamalar (CORS) nedeniyle tarayıcınız medya yüklemeyi desteklemiyor. 5chan Android uygulamasında ve Mac/Linux/Windows masaüstü uygulamasında destekleniyor. Resmi sürüm sayfasından indirin: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Teknik kısıtlamalar (CORS) nedeniyle tarayıcınız medya yüklemeyi desteklemiyor. 5chan Android uygulamasında ve Mac/Linux/Windows masaüstü uygulamasında destekleniyor. Resmi sürüm sayfasından indirin: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Dosya", "media_hosting_none": "Yok", "media_hosting_none_tip": "Yazı ve yanıt formlarından dosya yükleme düğmesini gizler", diff --git a/public/translations/uk/default.json b/public/translations/uk/default.json index 53b529a7..8f2ca06c 100644 --- a/public/translations/uk/default.json +++ b/public/translations/uk/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Поки недоступно. Користувачі зможуть подавати власні дошки та голосувати за них, щоб змагатися за місця в каталозі, як-от /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "Найбільш проголосована /{{boardIdentifier}}/ стає офіційною /{{boardIdentifier}}/.", "upload_failed": "Помилка завантаження", - "upload_not_supported_web": "Завантаження медіа не підтримується вашим браузером через технічні обмеження (CORS). Підтримується в додатку 5chan для Android та десктопному додатку для Mac/Linux/Windows. Завантажте з офіційної сторінки релізів: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Завантаження медіа не підтримується вашим браузером через технічні обмеження (CORS). Підтримується в додатку 5chan для Android та десктопному додатку для Mac/Linux/Windows. Завантажте з офіційної сторінки релізів: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Файл", "media_hosting_none": "Немає", "media_hosting_none_tip": "Приховує кнопку завантаження файлу з форм постів та відповідей", diff --git a/public/translations/ur/default.json b/public/translations/ur/default.json index 3de08cb2..8d94dd61 100644 --- a/public/translations/ur/default.json +++ b/public/translations/ur/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "ابھی دستیاب نہیں۔ صارفین اپنے خود کے بورڈز جمع کر سکیں گے اور ان کے لیے ووٹ دے سکیں گے، جیسے /{{boardIdentifier}}/ کے لیے ڈائریکٹری سلاٹس کے لیے مقابلہ کرنے کے لیے۔", "vote_button_unavailable_outro": "سب سے زیادہ ووٹ والا /{{boardIdentifier}}/ سرکاری /{{boardIdentifier}}/ بن جاتا ہے۔", "upload_failed": "اپ لوڈ ناکام", - "upload_not_supported_web": "تکنیکی حدود (CORS) کی وجہ سے آپ کے براؤزر میں میڈیا اپ لوڈ کی حمایت نہیں ہے۔ یہ 5chan Android ایپ اور Mac/Linux/Windows ڈیسک ٹاپ ایپ میں دستیاب ہے۔ سرکاری ریلیز صفحہ سے ڈاؤن لوڈ کریں: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "تکنیکی حدود (CORS) کی وجہ سے آپ کے براؤزر میں میڈیا اپ لوڈ کی حمایت نہیں ہے۔ یہ 5chan Android ایپ اور Mac/Linux/Windows ڈیسک ٹاپ ایپ میں دستیاب ہے۔ سرکاری ریلیز صفحہ سے ڈاؤن لوڈ کریں: https://github.com/bitsocialnet/5chan/releases/latest", "file": "فائل", "media_hosting_none": "کوئی نہیں", "media_hosting_none_tip": "پوسٹ اور جواب کی فارمز سے فائل اپ لوڈ بٹن کو چھپاتا ہے", diff --git a/public/translations/vi/default.json b/public/translations/vi/default.json index c95592b1..9735e10f 100644 --- a/public/translations/vi/default.json +++ b/public/translations/vi/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "Chưa có sẵn. Người dùng sẽ có thể gửi các bảng của riêng họ và bình chọn cho chúng để cạnh tranh các vị trí thư mục, như /{{boardIdentifier}}/.", "vote_button_unavailable_outro": "/{{boardIdentifier}}/ được bình chọn nhiều nhất trở thành /{{boardIdentifier}}/ chính thức.", "upload_failed": "Tải lên thất bại", - "upload_not_supported_web": "Trình duyệt của bạn không hỗ trợ tải lên media do giới hạn kỹ thuật (CORS). Tính năng này được hỗ trợ trong ứng dụng 5chan cho Android và ứng dụng desktop cho Mac/Linux/Windows. Tải xuống từ trang phát hành chính thức: https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "Trình duyệt của bạn không hỗ trợ tải lên media do giới hạn kỹ thuật (CORS). Tính năng này được hỗ trợ trong ứng dụng 5chan cho Android và ứng dụng desktop cho Mac/Linux/Windows. Tải xuống từ trang phát hành chính thức: https://github.com/bitsocialnet/5chan/releases/latest", "file": "Tệp", "media_hosting_none": "Không có", "media_hosting_none_tip": "Ẩn nút tải tệp từ các biểu mẫu bài viết và trả lời", diff --git a/public/translations/zh/default.json b/public/translations/zh/default.json index babaf0ba..e8719286 100644 --- a/public/translations/zh/default.json +++ b/public/translations/zh/default.json @@ -248,7 +248,7 @@ "vote_button_unavailable_intro": "尚不可用。用户将能够提交自己的板块,投票支持他们,以竞争目录插槽,如 /{{boardIdentifier}}/。", "vote_button_unavailable_outro": "投票最多的 /{{boardIdentifier}}/ 将成为官方 /{{boardIdentifier}}/。", "upload_failed": "上传失败", - "upload_not_supported_web": "由于技术限制(CORS),您的浏览器不支持上传媒体。5chan Android 应用和 Mac/Linux/Windows 桌面应用支持此功能。请从官方发布页面下载:https://github.com/bitsocialhq/5chan/releases/latest", + "upload_not_supported_web": "由于技术限制(CORS),您的浏览器不支持上传媒体。5chan Android 应用和 Mac/Linux/Windows 桌面应用支持此功能。请从官方发布页面下载:https://github.com/bitsocialnet/5chan/releases/latest", "file": "文件", "media_hosting_none": "无", "media_hosting_none_tip": "隐藏帖子和回复表单中的文件上传按钮", diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 64ee8407..cb557503 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -24,7 +24,7 @@ SCRIPT=" cd ~ rm $FIVECHAN_HTML_NAME.zip rm -fr $FIVECHAN_HTML_NAME -wget https://github.com/bitsocialhq/5chan/releases/download/v$FIVECHAN_VERSION/$FIVECHAN_HTML_NAME.zip || exit +wget https://github.com/bitsocialnet/5chan/releases/download/v$FIVECHAN_VERSION/$FIVECHAN_HTML_NAME.zip || exit # extract html unzip $FIVECHAN_HTML_NAME.zip || exit diff --git a/scripts/patch-bitsocial-react-hooks-esm.cjs b/scripts/patch-bitsocial-react-hooks-esm.cjs index f7079e61..617b3a20 100644 --- a/scripts/patch-bitsocial-react-hooks-esm.cjs +++ b/scripts/patch-bitsocial-react-hooks-esm.cjs @@ -3,11 +3,11 @@ const fs = require('fs'); const path = require('path'); -const packageDistPath = path.join(__dirname, '..', 'node_modules', '@bitsocialhq', 'bitsocial-react-hooks', 'dist'); +const packageDistPath = path.join(__dirname, '..', 'node_modules', '@bitsocialnet', 'bitsocial-react-hooks', 'dist'); const logPrefix = '[patch-bitsocial-react-hooks-esm]'; if (!fs.existsSync(packageDistPath)) { - console.log(`${logPrefix} Skip: @bitsocialhq/bitsocial-react-hooks dist not found.`); + console.log(`${logPrefix} Skip: @bitsocialnet/bitsocial-react-hooks dist not found.`); process.exit(0); } diff --git a/scripts/release-body.js b/scripts/release-body.js index ab4e8ca1..175e0507 100644 --- a/scripts/release-body.js +++ b/scripts/release-body.js @@ -49,7 +49,7 @@ if (remoteFiles.length) { files = remoteFiles; } -const linkTo = (file) => `https://github.com/bitsocialhq/5chan/releases/download/v${version}/${file}`; +const linkTo = (file) => `https://github.com/bitsocialnet/5chan/releases/download/v${version}/${file}`; const has = (s, sub) => s.toLowerCase().includes(sub); const isArm = (s) => has(s, 'arm64') || has(s, 'aarch64'); const isX64 = (s) => has(s, 'x64') || has(s, 'x86_64') || !isArm(s); diff --git a/scripts/sync-directories.js b/scripts/sync-directories.js index 4d6cdaf8..9834e2ed 100644 --- a/scripts/sync-directories.js +++ b/scripts/sync-directories.js @@ -9,7 +9,7 @@ import { fileURLToPath } from 'url'; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); -const GITHUB_URL = 'https://raw.githubusercontent.com/bitsocialhq/lists/master/5chan-directories.json'; +const GITHUB_URL = 'https://raw.githubusercontent.com/bitsocialnet/lists/master/5chan-directories.json'; const OUTPUT_PATH = join(__dirname, '..', 'src', 'data', '5chan-directories.json'); const TIMEOUT_MS = 5000; const DEFAULT_METADATA = { diff --git a/src/__tests__/app.test.tsx b/src/__tests__/app.test.tsx index 044d2eaf..4b7248e1 100644 --- a/src/__tests__/app.test.tsx +++ b/src/__tests__/app.test.tsx @@ -47,7 +47,7 @@ const testState = vi.hoisted(() => ({ useThemeMock: vi.fn(), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useAccount: () => testState.account, useAccountComment: ({ commentIndex }: { commentIndex?: number }) => (typeof commentIndex === 'number' ? testState.accountComments[commentIndex] : undefined), useSubplebbit: ({ subplebbitAddress }: { subplebbitAddress?: string }) => (subplebbitAddress ? testState.subplebbits[subplebbitAddress] : undefined), diff --git a/src/app.tsx b/src/app.tsx index e8f25a98..f2ff5de0 100644 --- a/src/app.tsx +++ b/src/app.tsx @@ -1,6 +1,6 @@ import { lazy, Suspense, useEffect } from 'react'; import { Navigate, Outlet, Route, Routes, useLocation, useParams } from 'react-router-dom'; -import { useAccount, useAccountComment, useSubplebbit } from '@bitsocialhq/bitsocial-react-hooks'; +import { useAccount, useAccountComment, useSubplebbit } from '@bitsocialnet/bitsocial-react-hooks'; import { initSnow, removeSnow } from './lib/snow'; import { isAllView, isCatalogView, isModView, isSubscriptionsView } from './lib/utils/view-utils'; import { preloadThemeAssets } from './lib/utils/preload-utils'; diff --git a/src/components/blotter-message/blotter-message.tsx b/src/components/blotter-message/blotter-message.tsx index 7a7cdf86..9f54c07b 100644 --- a/src/components/blotter-message/blotter-message.tsx +++ b/src/components/blotter-message/blotter-message.tsx @@ -1,7 +1,7 @@ import type { BlotterEntry } from '../../lib/utils/blotter-utils'; import styles from './blotter-message.module.css'; -const RELEASES_BASE = 'https://github.com/bitsocialhq/5chan/releases/tag/v'; +const RELEASES_BASE = 'https://github.com/bitsocialnet/5chan/releases/tag/v'; function normalizeMessage(text: string): string { return text.replace(/subplebbit/gi, 'board').replace(/plebchan/gi, '5chan'); diff --git a/src/components/board-buttons/__tests__/board-buttons.test.tsx b/src/components/board-buttons/__tests__/board-buttons.test.tsx index d57aa6ca..4c977206 100644 --- a/src/components/board-buttons/__tests__/board-buttons.test.tsx +++ b/src/components/board-buttons/__tests__/board-buttons.test.tsx @@ -70,7 +70,7 @@ vi.mock('react-router-dom', async () => { }; }); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useAccountComment: () => testState.accountComment, useComment: ({ commentCid }: { commentCid?: string }) => (commentCid ? testState.commentsByCid[commentCid] : undefined), useSubscribe: () => ({ diff --git a/src/components/board-buttons/board-buttons.tsx b/src/components/board-buttons/board-buttons.tsx index d7fd9382..f9f996f1 100644 --- a/src/components/board-buttons/board-buttons.tsx +++ b/src/components/board-buttons/board-buttons.tsx @@ -1,6 +1,6 @@ import { useTranslation } from 'react-i18next'; import { Link, useLocation, useNavigate, useParams } from 'react-router-dom'; -import { useAccountComment, useComment, useSubscribe } from '@bitsocialhq/bitsocial-react-hooks'; +import { useAccountComment, useComment, useSubscribe } from '@bitsocialnet/bitsocial-react-hooks'; import { isAllView, isCatalogView, isModView, isModQueueView, isPendingPostView, isPostPageView, isSubscriptionsView } from '../../lib/utils/view-utils'; import { usePostPageNumber } from '../../hooks/use-post-page-number'; import { useDirectories, useDirectoryByAddress } from '../../hooks/use-directories'; diff --git a/src/components/board-header/__tests__/board-header.test.tsx b/src/components/board-header/__tests__/board-header.test.tsx index c9bec4ea..f4d0e359 100644 --- a/src/components/board-header/__tests__/board-header.test.tsx +++ b/src/components/board-header/__tests__/board-header.test.tsx @@ -49,11 +49,11 @@ vi.mock('react-router-dom', async () => { }; }); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useAccountComment: () => testState.accountComment, })); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/stores/accounts', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/stores/accounts', () => ({ default: (selector: (state: { activeAccountId?: string; accounts: Record }) => unknown) => selector({ accounts: { @@ -65,7 +65,7 @@ vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/stores/accounts', () => ({ }), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/stores/subplebbits', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/stores/subplebbits', () => ({ default: (selector: (state: { subplebbits: typeof testState.subplebbits }) => unknown) => selector({ subplebbits: testState.subplebbits, diff --git a/src/components/board-header/board-header.tsx b/src/components/board-header/board-header.tsx index 028253a8..8f9b6cd6 100644 --- a/src/components/board-header/board-header.tsx +++ b/src/components/board-header/board-header.tsx @@ -1,9 +1,9 @@ import { useState } from 'react'; import { useTranslation } from 'react-i18next'; import { useLocation, useParams, useNavigate } from 'react-router-dom'; -import { useAccountComment } from '@bitsocialhq/bitsocial-react-hooks'; -import useAccountsStore from '@bitsocialhq/bitsocial-react-hooks/dist/stores/accounts'; -import useSubplebbitsStore from '@bitsocialhq/bitsocial-react-hooks/dist/stores/subplebbits'; +import { useAccountComment } from '@bitsocialnet/bitsocial-react-hooks'; +import useAccountsStore from '@bitsocialnet/bitsocial-react-hooks/dist/stores/accounts'; +import useSubplebbitsStore from '@bitsocialnet/bitsocial-react-hooks/dist/stores/subplebbits'; import getShortAddress from '../../lib/get-short-address'; import { useStableSubplebbit } from '../../hooks/use-stable-subplebbit'; import { isAllView, isSubscriptionsView, isModView } from '../../lib/utils/view-utils'; diff --git a/src/components/board-offline-alert/board-offline-alert.tsx b/src/components/board-offline-alert/board-offline-alert.tsx index 3f2480d8..9730a57a 100644 --- a/src/components/board-offline-alert/board-offline-alert.tsx +++ b/src/components/board-offline-alert/board-offline-alert.tsx @@ -1,5 +1,5 @@ import { useMemo } from 'react'; -import useSubplebbitsStore from '@bitsocialhq/bitsocial-react-hooks/dist/stores/subplebbits'; +import useSubplebbitsStore from '@bitsocialnet/bitsocial-react-hooks/dist/stores/subplebbits'; import { normalizeBoardAddress, useDirectoryByAddress } from '../../hooks/use-directories'; import useIsSubplebbitOffline from '../../hooks/use-is-subplebbit-offline'; import { useResolvedSubplebbitAddress } from '../../hooks/use-resolved-subplebbit-address'; diff --git a/src/components/boards-bar-edit-modal/boards-bar-edit-modal.tsx b/src/components/boards-bar-edit-modal/boards-bar-edit-modal.tsx index 7eac7048..5599b68d 100644 --- a/src/components/boards-bar-edit-modal/boards-bar-edit-modal.tsx +++ b/src/components/boards-bar-edit-modal/boards-bar-edit-modal.tsx @@ -1,6 +1,6 @@ import { useState, useMemo } from 'react'; import { Link, useLocation } from 'react-router-dom'; -import { useAccount } from '@bitsocialhq/bitsocial-react-hooks'; +import { useAccount } from '@bitsocialnet/bitsocial-react-hooks'; import useBoardsBarEditModalStore from '../../stores/use-boards-bar-edit-modal-store'; import useBoardsBarVisibilityStore from '../../stores/use-boards-bar-visibility-store'; import { getAllBoardCodes } from '../../constants/board-codes'; diff --git a/src/components/boards-bar/__tests__/boards-bar.test.tsx b/src/components/boards-bar/__tests__/boards-bar.test.tsx index ea8ff2ab..b732b3a7 100644 --- a/src/components/boards-bar/__tests__/boards-bar.test.tsx +++ b/src/components/boards-bar/__tests__/boards-bar.test.tsx @@ -52,11 +52,11 @@ vi.mock('react-router-dom', async () => { }; }); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useAccountComment: () => testState.accountComment, })); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/stores/accounts', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/stores/accounts', () => ({ default: (selector: (state: { activeAccountId: string; accounts: Record }) => unknown) => selector({ activeAccountId: 'account-1', diff --git a/src/components/boards-bar/boards-bar.tsx b/src/components/boards-bar/boards-bar.tsx index eae33361..920755c1 100644 --- a/src/components/boards-bar/boards-bar.tsx +++ b/src/components/boards-bar/boards-bar.tsx @@ -2,8 +2,8 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { Link, useLocation, useNavigate, useParams } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; import getShortAddress from '../../lib/get-short-address'; -import { useAccountComment } from '@bitsocialhq/bitsocial-react-hooks'; -import useAccountsStore from '@bitsocialhq/bitsocial-react-hooks/dist/stores/accounts'; +import { useAccountComment } from '@bitsocialnet/bitsocial-react-hooks'; +import useAccountsStore from '@bitsocialnet/bitsocial-react-hooks/dist/stores/accounts'; import { isAllView, isCatalogView, isModView, isSubscriptionsView } from '../../lib/utils/view-utils'; import { useAccountSubplebbitAddresses } from '../../hooks/use-account-subplebbit-addresses'; import { useDirectories, useDirectoriesMetadata, DirectoryCommunity } from '../../hooks/use-directories'; diff --git a/src/components/catalog-row/__tests__/catalog-row.test.tsx b/src/components/catalog-row/__tests__/catalog-row.test.tsx index b0d7970e..4958ec30 100644 --- a/src/components/catalog-row/__tests__/catalog-row.test.tsx +++ b/src/components/catalog-row/__tests__/catalog-row.test.tsx @@ -62,13 +62,13 @@ vi.mock('react-i18next', () => ({ }), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useReplies: ({ comment }: { comment?: TestComment }) => ({ replies: comment ? testState.replies : [], }), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/lib/localforage-lru/index.js', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/lib/localforage-lru/index.js', () => ({ default: { createInstance: () => ({ entries: vi.fn().mockResolvedValue([]), diff --git a/src/components/catalog-row/catalog-row.tsx b/src/components/catalog-row/catalog-row.tsx index 65df2b4d..6b52105d 100644 --- a/src/components/catalog-row/catalog-row.tsx +++ b/src/components/catalog-row/catalog-row.tsx @@ -3,7 +3,7 @@ import { createPortal } from 'react-dom'; import { useTranslation } from 'react-i18next'; import { Link, useLocation, useParams } from 'react-router-dom'; import { useFloating, offset, size, Placement } from '@floating-ui/react'; -import { Comment, useReplies } from '@bitsocialhq/bitsocial-react-hooks'; +import { Comment, useReplies } from '@bitsocialnet/bitsocial-react-hooks'; import getShortAddress from '../../lib/get-short-address'; import { shouldShowSnow } from '../../lib/snow'; import { getHasThumbnail } from '../../lib/utils/media-utils'; diff --git a/src/components/challenge-modal/__tests__/challenge-modal.test.tsx b/src/components/challenge-modal/__tests__/challenge-modal.test.tsx index 4bb525f9..93ef7bfb 100644 --- a/src/components/challenge-modal/__tests__/challenge-modal.test.tsx +++ b/src/components/challenge-modal/__tests__/challenge-modal.test.tsx @@ -35,7 +35,7 @@ vi.mock('react-i18next', () => ({ }), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useAccount: () => testState.account, useComment: ({ commentCid }: { commentCid?: string }) => (commentCid ? testState.commentsByCid[commentCid] : undefined), })); diff --git a/src/components/challenge-modal/challenge-modal.tsx b/src/components/challenge-modal/challenge-modal.tsx index a513fc3c..1bb5b994 100644 --- a/src/components/challenge-modal/challenge-modal.tsx +++ b/src/components/challenge-modal/challenge-modal.tsx @@ -1,6 +1,6 @@ import { useRef, useState, useEffect, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; -import { Challenge as ChallengeType, useAccount, useComment } from '@bitsocialhq/bitsocial-react-hooks'; +import { Challenge as ChallengeType, useAccount, useComment } from '@bitsocialnet/bitsocial-react-hooks'; import { getPublicationPreview, getPublicationType, getVotePreview } from '../../lib/utils/challenge-utils'; import useIsMobile from '../../hooks/use-is-mobile'; import useChallengesStore from '../../stores/use-challenges-store'; diff --git a/src/components/comment-content/__tests__/comment-content.test.tsx b/src/components/comment-content/__tests__/comment-content.test.tsx index 45c50abd..e3aae33a 100644 --- a/src/components/comment-content/__tests__/comment-content.test.tsx +++ b/src/components/comment-content/__tests__/comment-content.test.tsx @@ -83,11 +83,11 @@ vi.mock('react-router-dom', async () => { }; }); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useComment: ({ commentCid }: { commentCid?: string }) => (commentCid ? testState.commentsByCid[commentCid] : undefined), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/stores/subplebbits-pages', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/stores/subplebbits-pages', () => ({ default: (selector: (state: { comments: Record }) => unknown) => selector({ comments: testState.commentsByCid, diff --git a/src/components/comment-content/comment-content.tsx b/src/components/comment-content/comment-content.tsx index 3b8b9f11..00c660b2 100644 --- a/src/components/comment-content/comment-content.tsx +++ b/src/components/comment-content/comment-content.tsx @@ -1,8 +1,8 @@ import { Fragment, useMemo, useState } from 'react'; import { useLocation, useParams } from 'react-router-dom'; import { Trans, useTranslation } from 'react-i18next'; -import { Comment, useComment } from '@bitsocialhq/bitsocial-react-hooks'; -import useSubplebbitsPagesStore from '@bitsocialhq/bitsocial-react-hooks/dist/stores/subplebbits-pages'; +import { Comment, useComment } from '@bitsocialnet/bitsocial-react-hooks'; +import useSubplebbitsPagesStore from '@bitsocialnet/bitsocial-react-hooks/dist/stores/subplebbits-pages'; import usePostNumberStore from '../../stores/use-post-number-store'; import getShortAddress from '../../lib/get-short-address'; import { getFormattedDate, getFormattedTimeAgo } from '../../lib/utils/time-utils'; diff --git a/src/components/create-board-modal/create-board-modal.tsx b/src/components/create-board-modal/create-board-modal.tsx index 4678b6cb..3133fc05 100644 --- a/src/components/create-board-modal/create-board-modal.tsx +++ b/src/components/create-board-modal/create-board-modal.tsx @@ -37,7 +37,7 @@ const CreateBoardModal = () => {

Creating Your Board

Create a board using the CLI: - + bitsocial-cli . Build a following: Users can subscribe to your board via the "[Subscribe]" button, which adds it to their top bar. You can gain @@ -49,7 +49,7 @@ const CreateBoardModal = () => {

Submitting to a Directory

Open a PR editing{' '} - + 5chan-directories.json {' '} with your board's title, address, and NSFW status. Devs will review and merge if approved. 99% uptime is required. diff --git a/src/components/directory-modal/directory-modal.tsx b/src/components/directory-modal/directory-modal.tsx index 0d0077fb..fc8ea898 100644 --- a/src/components/directory-modal/directory-modal.tsx +++ b/src/components/directory-modal/directory-modal.tsx @@ -44,7 +44,7 @@ const DirectoryModal = () => {

Creating Your Board

Anyone can create a board using the official CLI:{' '} - + bitsocial-cli . Users can access it anytime via the search bar, direct links, or by subscribing with the "[Subscribe]" button— @@ -57,7 +57,7 @@ const DirectoryModal = () => {

Directory Submission

To submit your board, open a PR editing{' '} - + 5chan-directories.json {' '} with your board's title, address, and NSFW status. Requirements: 99% uptime (they're P2P nodes), active, well-moderated, and relevant to the diff --git a/src/components/edit-menu/__tests__/edit-menu.test.tsx b/src/components/edit-menu/__tests__/edit-menu.test.tsx index 9081ae19..85a8e69d 100644 --- a/src/components/edit-menu/__tests__/edit-menu.test.tsx +++ b/src/components/edit-menu/__tests__/edit-menu.test.tsx @@ -71,7 +71,7 @@ vi.mock('@floating-ui/react', () => ({ useRole: () => ({}), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useAccount: () => testState.account, usePublishCommentEdit: (options: Record) => { testState.authorOptions = options; diff --git a/src/components/edit-menu/edit-menu.tsx b/src/components/edit-menu/edit-menu.tsx index 77d99966..6182d834 100644 --- a/src/components/edit-menu/edit-menu.tsx +++ b/src/components/edit-menu/edit-menu.tsx @@ -8,7 +8,7 @@ import { usePublishCommentEdit, usePublishCommentModeration, PublishCommentModerationOptions, -} from '@bitsocialhq/bitsocial-react-hooks'; +} from '@bitsocialnet/bitsocial-react-hooks'; import styles from './edit-menu.module.css'; import { alertChallengeVerificationFailed } from '../../lib/utils/challenge-utils'; import useChallengesStore from '../../stores/use-challenges-store'; diff --git a/src/components/footer/__tests__/footer.test.tsx b/src/components/footer/__tests__/footer.test.tsx index 733e3113..a50bacbc 100644 --- a/src/components/footer/__tests__/footer.test.tsx +++ b/src/components/footer/__tests__/footer.test.tsx @@ -30,7 +30,7 @@ vi.mock('react-i18next', () => ({ }), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useComment: () => testState.post, })); diff --git a/src/components/footer/footer.tsx b/src/components/footer/footer.tsx index 9f704fa0..6c41f38e 100644 --- a/src/components/footer/footer.tsx +++ b/src/components/footer/footer.tsx @@ -1,6 +1,6 @@ import { useTranslation } from 'react-i18next'; import { useLocation, useParams } from 'react-router-dom'; -import { useComment } from '@bitsocialhq/bitsocial-react-hooks'; +import { useComment } from '@bitsocialnet/bitsocial-react-hooks'; import BoardsBar from '../boards-bar'; import SiteLegalMeta from '../site-legal-meta'; import StyleSelector from '../style-selector/style-selector'; diff --git a/src/components/markdown/__tests__/markdown.test.tsx b/src/components/markdown/__tests__/markdown.test.tsx index 92a4d5e2..91c2677f 100644 --- a/src/components/markdown/__tests__/markdown.test.tsx +++ b/src/components/markdown/__tests__/markdown.test.tsx @@ -53,11 +53,11 @@ vi.mock('@floating-ui/react', () => ({ }), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useComment: ({ commentCid }: { commentCid?: string }) => (commentCid ? testState.comments[commentCid] : undefined), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/stores/subplebbits-pages', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/stores/subplebbits-pages', () => ({ default: (selector: (state: { comments: typeof testState.comments }) => unknown) => selector({ comments: testState.comments, diff --git a/src/components/markdown/markdown.tsx b/src/components/markdown/markdown.tsx index 1371f6ce..9230b491 100644 --- a/src/components/markdown/markdown.tsx +++ b/src/components/markdown/markdown.tsx @@ -12,8 +12,8 @@ import { canEmbed } from '../embed'; import { is5chanLink, transform5chanLinkToInternal, isValidCrossboardPattern } from '../../lib/utils/url-utils'; import { isUnavailableQuoteTarget } from '../../lib/utils/quote-link-utils'; import usePostNumberStore from '../../stores/use-post-number-store'; -import useSubplebbitsPagesStore from '@bitsocialhq/bitsocial-react-hooks/dist/stores/subplebbits-pages'; -import { useComment } from '@bitsocialhq/bitsocial-react-hooks'; +import useSubplebbitsPagesStore from '@bitsocialnet/bitsocial-react-hooks/dist/stores/subplebbits-pages'; +import { useComment } from '@bitsocialnet/bitsocial-react-hooks'; import ReplyQuotePreview from '../reply-quote-preview'; const safeParseUrl = (href: string): URL | null => { diff --git a/src/components/post-desktop/post-desktop.tsx b/src/components/post-desktop/post-desktop.tsx index 91ae3b28..00e1e243 100644 --- a/src/components/post-desktop/post-desktop.tsx +++ b/src/components/post-desktop/post-desktop.tsx @@ -2,7 +2,7 @@ import { useEffect, useRef, useState, useCallback } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Link, useLocation, useNavigationType, useParams } from 'react-router-dom'; import { Virtuoso, VirtuosoHandle, StateSnapshot } from 'react-virtuoso'; -import { Comment, deleteComment, useEditedComment, useReplies, useAccount, useAccountComment } from '@bitsocialhq/bitsocial-react-hooks'; +import { Comment, deleteComment, useEditedComment, useReplies, useAccount, useAccountComment } from '@bitsocialnet/bitsocial-react-hooks'; import getShortAddress from '../../lib/get-short-address'; import styles from '../../views/post/post.module.css'; import { CommentMediaInfo, getDisplayMediaInfoType, getHasThumbnail, getMediaDimensions } from '../../lib/utils/media-utils'; @@ -42,7 +42,7 @@ import useChallengesStore from '../../stores/use-challenges-store'; import useFeedResetStore from '../../stores/use-feed-reset-store'; import usePostNumberStore from '../../stores/use-post-number-store'; import { alertChallengeVerificationFailed } from '../../lib/utils/challenge-utils'; -import { usePublishCommentModeration } from '@bitsocialhq/bitsocial-react-hooks'; +import { usePublishCommentModeration } from '@bitsocialnet/bitsocial-react-hooks'; import useQuotedByMap from '../../hooks/use-quoted-by-map'; import useProgressiveRender from '../../hooks/use-progressive-render'; import { BOARD_REPLIES_PREVIEW_FETCH_SIZE, BOARD_REPLIES_PREVIEW_VISIBLE_COUNT, REPLIES_PER_PAGE } from '../../lib/constants'; diff --git a/src/components/post-desktop/post-menu-desktop/__tests__/post-menu-desktop.test.tsx b/src/components/post-desktop/post-menu-desktop/__tests__/post-menu-desktop.test.tsx index 30f39cba..49b7b0f0 100644 --- a/src/components/post-desktop/post-menu-desktop/__tests__/post-menu-desktop.test.tsx +++ b/src/components/post-desktop/post-menu-desktop/__tests__/post-menu-desktop.test.tsx @@ -25,7 +25,7 @@ vi.mock('react-i18next', () => ({ }), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/lib/localforage-lru/index.js', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/lib/localforage-lru/index.js', () => ({ default: { createInstance: () => ({ entries: vi.fn().mockResolvedValue([]), diff --git a/src/components/post-form/__tests__/post-form.test.tsx b/src/components/post-form/__tests__/post-form.test.tsx index f0272946..9dd0e3d2 100644 --- a/src/components/post-form/__tests__/post-form.test.tsx +++ b/src/components/post-form/__tests__/post-form.test.tsx @@ -60,18 +60,18 @@ vi.mock('react-router-dom', async () => { }; }); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ setAccount: (account: unknown) => testState.setAccountMock(account), useAccount: () => testState.account, useAccountComment: () => testState.accountComment, useEditedComment: () => ({ editedComment: testState.editedComment }), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/stores/subplebbits', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/stores/subplebbits', () => ({ default: (selector: (state: { subplebbits: typeof testState.subplebbits }) => unknown) => selector({ subplebbits: testState.subplebbits }), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/stores/subplebbits-pages', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/stores/subplebbits-pages', () => ({ default: (selector: (state: { comments: typeof testState.comments }) => unknown) => selector({ comments: testState.comments }), })); diff --git a/src/components/post-form/post-form.tsx b/src/components/post-form/post-form.tsx index 1e3007dc..4d979467 100644 --- a/src/components/post-form/post-form.tsx +++ b/src/components/post-form/post-form.tsx @@ -1,9 +1,9 @@ import { useEffect, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { useLocation, useNavigate, useParams } from 'react-router-dom'; -import { Comment, setAccount, useAccount, useAccountComment, useEditedComment } from '@bitsocialhq/bitsocial-react-hooks'; +import { Comment, setAccount, useAccount, useAccountComment, useEditedComment } from '@bitsocialnet/bitsocial-react-hooks'; import getShortAddress from '../../lib/get-short-address'; -import useSubplebbitsPagesStore from '@bitsocialhq/bitsocial-react-hooks/dist/stores/subplebbits-pages'; +import useSubplebbitsPagesStore from '@bitsocialnet/bitsocial-react-hooks/dist/stores/subplebbits-pages'; import { getLinkMediaInfo } from '../../lib/utils/media-utils'; import { isValidURL } from '../../lib/utils/url-utils'; import { isAllView, isCatalogView, isModQueueView, isModView, isPostPageView, isSubscriptionsView } from '../../lib/utils/view-utils'; diff --git a/src/components/post-mobile/post-menu-mobile/__tests__/post-menu-mobile.test.tsx b/src/components/post-mobile/post-menu-mobile/__tests__/post-menu-mobile.test.tsx index 95eaa676..fa284212 100644 --- a/src/components/post-mobile/post-menu-mobile/__tests__/post-menu-mobile.test.tsx +++ b/src/components/post-mobile/post-menu-mobile/__tests__/post-menu-mobile.test.tsx @@ -28,9 +28,9 @@ vi.mock('react-i18next', () => ({ }), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({})); +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({})); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/lib/localforage-lru/index.js', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/lib/localforage-lru/index.js', () => ({ default: { createInstance: () => ({ entries: vi.fn().mockResolvedValue([]), diff --git a/src/components/post-mobile/post-menu-mobile/post-menu-mobile.tsx b/src/components/post-mobile/post-menu-mobile/post-menu-mobile.tsx index 96088849..943230f0 100644 --- a/src/components/post-mobile/post-menu-mobile/post-menu-mobile.tsx +++ b/src/components/post-mobile/post-menu-mobile/post-menu-mobile.tsx @@ -1,7 +1,7 @@ import { memo, useState } from 'react'; import { createPortal } from 'react-dom'; import { useTranslation } from 'react-i18next'; -import type { Comment } from '@bitsocialhq/bitsocial-react-hooks'; +import type { Comment } from '@bitsocialnet/bitsocial-react-hooks'; import { autoUpdate, flip, FloatingFocusManager, offset, shift, useClick, useDismiss, useFloating, useId, useInteractions, useRole } from '@floating-ui/react'; import styles from './post-menu-mobile.module.css'; import { getCommentMediaInfo } from '../../../lib/utils/media-utils'; diff --git a/src/components/post-mobile/post-mobile.tsx b/src/components/post-mobile/post-mobile.tsx index 765a06ce..de0ca523 100644 --- a/src/components/post-mobile/post-mobile.tsx +++ b/src/components/post-mobile/post-mobile.tsx @@ -2,7 +2,7 @@ import { useEffect, useRef, useState, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import { Link, useLocation, useNavigationType, useParams } from 'react-router-dom'; import { Virtuoso, VirtuosoHandle, StateSnapshot } from 'react-virtuoso'; -import { Comment, deleteComment, useEditedComment, useReplies, useAccount, usePublishCommentModeration, useAccountComment } from '@bitsocialhq/bitsocial-react-hooks'; +import { Comment, deleteComment, useEditedComment, useReplies, useAccount, usePublishCommentModeration, useAccountComment } from '@bitsocialnet/bitsocial-react-hooks'; import getShortAddress from '../../lib/get-short-address'; import styles from '../../views/post/post.module.css'; import { shouldShowSnow } from '../../lib/snow'; diff --git a/src/components/reply-modal/__tests__/reply-modal.test.tsx b/src/components/reply-modal/__tests__/reply-modal.test.tsx index 7b2aa4ba..73af8a6f 100644 --- a/src/components/reply-modal/__tests__/reply-modal.test.tsx +++ b/src/components/reply-modal/__tests__/reply-modal.test.tsx @@ -66,12 +66,12 @@ vi.mock('react-i18next', () => ({ }), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ setAccount: (account: unknown) => testState.setAccountMock(account), useAccount: () => testState.account, })); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/stores/subplebbits', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/stores/subplebbits', () => ({ default: (selector: (state: { subplebbits: typeof testState.subplebbits }) => T) => selector({ subplebbits: testState.subplebbits, diff --git a/src/components/reply-modal/reply-modal.tsx b/src/components/reply-modal/reply-modal.tsx index 4fcea831..9ce7deed 100644 --- a/src/components/reply-modal/reply-modal.tsx +++ b/src/components/reply-modal/reply-modal.tsx @@ -1,7 +1,7 @@ import { useEffect, useRef, useState } from 'react'; import { useLocation, useParams } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; -import { setAccount, useAccount } from '@bitsocialhq/bitsocial-react-hooks'; +import { setAccount, useAccount } from '@bitsocialnet/bitsocial-react-hooks'; import { isValidURL } from '../../lib/utils/url-utils'; import { isAllView, isModView, isSubscriptionsView } from '../../lib/utils/view-utils'; import useSelectedTextStore from '../../stores/use-selected-text-store'; diff --git a/src/components/reply-quote-preview/__tests__/reply-quote-preview.test.tsx b/src/components/reply-quote-preview/__tests__/reply-quote-preview.test.tsx index 42e6de80..313260e9 100644 --- a/src/components/reply-quote-preview/__tests__/reply-quote-preview.test.tsx +++ b/src/components/reply-quote-preview/__tests__/reply-quote-preview.test.tsx @@ -55,7 +55,7 @@ vi.mock('react-router-dom', async () => { }; }); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useAccount: () => testState.account, })); diff --git a/src/components/reply-quote-preview/reply-quote-preview.tsx b/src/components/reply-quote-preview/reply-quote-preview.tsx index 7de273f2..a629eaab 100644 --- a/src/components/reply-quote-preview/reply-quote-preview.tsx +++ b/src/components/reply-quote-preview/reply-quote-preview.tsx @@ -1,7 +1,7 @@ import { useEffect, useRef, useState } from 'react'; import { createPortal } from 'react-dom'; import { Link, useLocation, useNavigate } from 'react-router-dom'; -import { Comment, useAccount } from '@bitsocialhq/bitsocial-react-hooks'; +import { Comment, useAccount } from '@bitsocialnet/bitsocial-react-hooks'; import { useFloating, offset, shift, size, autoUpdate, Placement } from '@floating-ui/react'; import { useDirectories } from '../../hooks/use-directories'; import { getBoardPath } from '../../lib/utils/route-utils'; diff --git a/src/components/settings-modal/account-settings/__tests__/account-settings.test.tsx b/src/components/settings-modal/account-settings/__tests__/account-settings.test.tsx index 462229ce..8d03ff02 100644 --- a/src/components/settings-modal/account-settings/__tests__/account-settings.test.tsx +++ b/src/components/settings-modal/account-settings/__tests__/account-settings.test.tsx @@ -28,7 +28,7 @@ vi.mock('react-i18next', () => ({ }), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useAccount: hookMocks.useAccount, useAccounts: hookMocks.useAccounts, deleteAccount: hookMocks.deleteAccount, diff --git a/src/components/settings-modal/account-settings/account-settings.tsx b/src/components/settings-modal/account-settings/account-settings.tsx index e277f5cb..a8ec6710 100644 --- a/src/components/settings-modal/account-settings/account-settings.tsx +++ b/src/components/settings-modal/account-settings/account-settings.tsx @@ -1,6 +1,6 @@ import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import { deleteAccount, exportAccount, importAccount, setActiveAccount, useAccount, useAccounts } from '@bitsocialhq/bitsocial-react-hooks'; +import { deleteAccount, exportAccount, importAccount, setActiveAccount, useAccount, useAccounts } from '@bitsocialnet/bitsocial-react-hooks'; import styles from './account-settings.module.css'; import { Capacitor } from '@capacitor/core'; import { useLocation, useNavigate } from 'react-router-dom'; diff --git a/src/components/settings-modal/advanced-settings/__tests__/advanced-settings.test.tsx b/src/components/settings-modal/advanced-settings/__tests__/advanced-settings.test.tsx index 6217e048..f138c7e8 100644 --- a/src/components/settings-modal/advanced-settings/__tests__/advanced-settings.test.tsx +++ b/src/components/settings-modal/advanced-settings/__tests__/advanced-settings.test.tsx @@ -37,7 +37,7 @@ vi.mock('react-i18next', () => ({ }), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ setAccount: (account: unknown) => testState.setAccountMock(account), useAccount: () => testState.account, usePlebbitRpcSettings: () => testState.rpcSettings, diff --git a/src/components/settings-modal/advanced-settings/advanced-settings.tsx b/src/components/settings-modal/advanced-settings/advanced-settings.tsx index 70cac761..12bab2c6 100644 --- a/src/components/settings-modal/advanced-settings/advanced-settings.tsx +++ b/src/components/settings-modal/advanced-settings/advanced-settings.tsx @@ -1,5 +1,5 @@ import { memo, RefObject, useRef, useState } from 'react'; -import { setAccount, useAccount, usePlebbitRpcSettings } from '@bitsocialhq/bitsocial-react-hooks'; +import { setAccount, useAccount, usePlebbitRpcSettings } from '@bitsocialnet/bitsocial-react-hooks'; import { useTranslation } from 'react-i18next'; import styles from './advanced-settings.module.css'; diff --git a/src/components/settings-modal/crypto-address-setting/crypto-address-setting.tsx b/src/components/settings-modal/crypto-address-setting/crypto-address-setting.tsx index f95d540b..d2077ccd 100644 --- a/src/components/settings-modal/crypto-address-setting/crypto-address-setting.tsx +++ b/src/components/settings-modal/crypto-address-setting/crypto-address-setting.tsx @@ -1,6 +1,6 @@ import { memo, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { useAccount, setAccount, useResolvedAuthorAddress } from '@bitsocialhq/bitsocial-react-hooks'; +import { useAccount, setAccount, useResolvedAuthorAddress } from '@bitsocialnet/bitsocial-react-hooks'; import styles from './crypto-address-setting.module.css'; const withErrorHandling = async (fn: () => Promise, onError: (e: unknown) => void): Promise => { diff --git a/src/components/settings-modal/crypto-wallets-setting/crypto-wallets-setting.tsx b/src/components/settings-modal/crypto-wallets-setting/crypto-wallets-setting.tsx index 835e740c..15d9ce74 100644 --- a/src/components/settings-modal/crypto-wallets-setting/crypto-wallets-setting.tsx +++ b/src/components/settings-modal/crypto-wallets-setting/crypto-wallets-setting.tsx @@ -1,5 +1,5 @@ import { memo, useState } from 'react'; -import { Account, setAccount, useAccount } from '@bitsocialhq/bitsocial-react-hooks'; +import { Account, setAccount, useAccount } from '@bitsocialnet/bitsocial-react-hooks'; import styles from './crypto-wallets-setting.module.css'; import { Trans, useTranslation } from 'react-i18next'; import capitalize from 'lodash/capitalize'; diff --git a/src/components/settings-modal/interface-settings/interface-settings.tsx b/src/components/settings-modal/interface-settings/interface-settings.tsx index 3b67ac9b..84fcc30b 100644 --- a/src/components/settings-modal/interface-settings/interface-settings.tsx +++ b/src/components/settings-modal/interface-settings/interface-settings.tsx @@ -14,21 +14,21 @@ const isElectron = window.electronApi?.isElectron === true; const fetchLatestVersionInfo = async (t: (key: string, opts?: Record) => string): Promise => { try { - const packageRes = await fetch('https://raw.githubusercontent.com/bitsocialhq/5chan/master/package.json', { cache: 'no-cache' }); + const packageRes = await fetch('https://raw.githubusercontent.com/bitsocialnet/5chan/master/package.json', { cache: 'no-cache' }); const packageData = await packageRes.json(); let updateAvailable = false; if (packageJson.version !== packageData.version) { const newVersionText = t('new_stable_version', { newVersion: packageData.version, oldVersion: packageJson.version }); const updateActionText = isElectron - ? t('download_latest_desktop', { link: 'https://github.com/bitsocialhq/5chan/releases/latest', interpolation: { escapeValue: false } }) + ? t('download_latest_desktop', { link: 'https://github.com/bitsocialnet/5chan/releases/latest', interpolation: { escapeValue: false } }) : t('refresh_to_update'); alert(newVersionText + ' ' + updateActionText); updateAvailable = true; } if (commitRef && commitRef.length > 0) { - const commitRes = await fetch('https://api.github.com/repos/bitsocialhq/5chan/commits?per_page=1&sha=development', { cache: 'no-cache' }); + const commitRes = await fetch('https://api.github.com/repos/bitsocialnet/5chan/commits?per_page=1&sha=development', { cache: 'no-cache' }); const commitData = await commitRes.json(); const latestCommitHash = commitData[0].sha; diff --git a/src/components/settings-modal/media-hosting-settings/media-hosting-settings.tsx b/src/components/settings-modal/media-hosting-settings/media-hosting-settings.tsx index 13bbdab0..4abf26d3 100644 --- a/src/components/settings-modal/media-hosting-settings/media-hosting-settings.tsx +++ b/src/components/settings-modal/media-hosting-settings/media-hosting-settings.tsx @@ -6,7 +6,7 @@ import { isWebRuntime } from '../../../lib/media-hosting/show-upload-controls'; import styles from '../interface-settings/interface-settings.module.css'; const RADIO_NAME = 'media-hosting-provider'; -const RELEASES_URL = 'https://github.com/bitsocialhq/5chan/releases/latest'; +const RELEASES_URL = 'https://github.com/bitsocialnet/5chan/releases/latest'; const MediaHostingSettings = () => { const { t } = useTranslation(); diff --git a/src/components/settings-modal/subscriptions-setting/__tests__/subscriptions-setting.test.tsx b/src/components/settings-modal/subscriptions-setting/__tests__/subscriptions-setting.test.tsx index 6375e6db..5bd50e61 100644 --- a/src/components/settings-modal/subscriptions-setting/__tests__/subscriptions-setting.test.tsx +++ b/src/components/settings-modal/subscriptions-setting/__tests__/subscriptions-setting.test.tsx @@ -25,7 +25,7 @@ vi.mock('react-i18next', () => ({ }), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useAccount: () => accountState.value, useSubscribe: ({ subplebbitAddress }: { subplebbitAddress: string }) => subscriptionMocks.byAddress.get(subplebbitAddress) ?? { diff --git a/src/components/settings-modal/subscriptions-setting/subscriptions-setting.tsx b/src/components/settings-modal/subscriptions-setting/subscriptions-setting.tsx index 99b1122b..0caa0b28 100644 --- a/src/components/settings-modal/subscriptions-setting/subscriptions-setting.tsx +++ b/src/components/settings-modal/subscriptions-setting/subscriptions-setting.tsx @@ -1,4 +1,4 @@ -import { setAccount, useAccount, useSubscribe } from '@bitsocialhq/bitsocial-react-hooks'; +import { setAccount, useAccount, useSubscribe } from '@bitsocialnet/bitsocial-react-hooks'; import getShortAddress from '../../../lib/get-short-address'; import styles from './subscriptions-setting.module.css'; import { useTranslation } from 'react-i18next'; diff --git a/src/components/site-legal-meta/site-legal-meta.tsx b/src/components/site-legal-meta/site-legal-meta.tsx index 74a09532..98c4e373 100644 --- a/src/components/site-legal-meta/site-legal-meta.tsx +++ b/src/components/site-legal-meta/site-legal-meta.tsx @@ -12,11 +12,11 @@ const LicenseText = () => 5chan is free and open-source software under GPL const VersionFeedbackContact = () => ( <> •{' '} - + Feedback {' '} •{' '} - + Contact diff --git a/src/components/version/version.tsx b/src/components/version/version.tsx index 44267749..a1808958 100644 --- a/src/components/version/version.tsx +++ b/src/components/version/version.tsx @@ -10,7 +10,7 @@ const Version = () => { return ( <> diff --git a/src/data/5chan-directories.json b/src/data/5chan-directories.json index 105e25cd..d5052747 100644 --- a/src/data/5chan-directories.json +++ b/src/data/5chan-directories.json @@ -1,6 +1,6 @@ { "title": "/all/ - All 5chan Directories", - "description": "Each 5chan directory is assigned to a board handpicked by the team, until DAO curation is implemented.\n\nhttps://github.com/bitsocialhq/lists/blob/master/5chan-directories.json", + "description": "Each 5chan directory is assigned to a board handpicked by the team, until DAO curation is implemented.\n\nhttps://github.com/bitsocialnet/lists/blob/master/5chan-directories.json", "createdAt": 1762179811, "updatedAt": 1771140295, "communities": [ diff --git a/src/hooks/__tests__/selector-hooks.test.tsx b/src/hooks/__tests__/selector-hooks.test.tsx index cd76008b..6e3a74ad 100644 --- a/src/hooks/__tests__/selector-hooks.test.tsx +++ b/src/hooks/__tests__/selector-hooks.test.tsx @@ -23,12 +23,12 @@ const testState = vi.hoisted(() => ({ subplebbitSnapshot: undefined as unknown, })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useAccount: () => testState.account, useAccountSubplebbits: () => ({ accountSubplebbits: testState.accountSubplebbits }), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/lib/utils', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/lib/utils', () => ({ flattenCommentsPages: () => testState.flattenedReplies, })); diff --git a/src/hooks/__tests__/use-fetch-gif-first-frame.test.tsx b/src/hooks/__tests__/use-fetch-gif-first-frame.test.tsx index 18d63775..026988d3 100644 --- a/src/hooks/__tests__/use-fetch-gif-first-frame.test.tsx +++ b/src/hooks/__tests__/use-fetch-gif-first-frame.test.tsx @@ -18,7 +18,7 @@ const testState = vi.hoisted(() => ({ xhrResponses: new Map(), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/lib/localforage-lru/index.js', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/lib/localforage-lru/index.js', () => ({ default: { createInstance: () => ({ getItem: testState.cacheGetItemMock, diff --git a/src/hooks/__tests__/use-post-page-number.test.tsx b/src/hooks/__tests__/use-post-page-number.test.tsx index 3be792f4..fd447c65 100644 --- a/src/hooks/__tests__/use-post-page-number.test.tsx +++ b/src/hooks/__tests__/use-post-page-number.test.tsx @@ -19,14 +19,14 @@ const testState = vi.hoisted(() => ({ }, })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useFeed: (options: Record | undefined) => { testState.preloadOptions = options; return { feed: testState.preloadFeed }; }, })); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/stores/feeds', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/stores/feeds', () => ({ default: (selector: (state: { feedsOptions: Record; loadedFeeds: Record }) => unknown) => selector({ feedsOptions: testState.feedsOptions, diff --git a/src/hooks/__tests__/use-publish-post.test.tsx b/src/hooks/__tests__/use-publish-post.test.tsx index 6c86cdab..0dc5d220 100644 --- a/src/hooks/__tests__/use-publish-post.test.tsx +++ b/src/hooks/__tests__/use-publish-post.test.tsx @@ -16,7 +16,7 @@ const testState = vi.hoisted(() => ({ publishCommentMock: vi.fn(), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ usePublishComment: (options: Record) => { testState.lastPublishOptions = options; return { diff --git a/src/hooks/__tests__/use-publish-reply.test.tsx b/src/hooks/__tests__/use-publish-reply.test.tsx index fd6ed712..b343f503 100644 --- a/src/hooks/__tests__/use-publish-reply.test.tsx +++ b/src/hooks/__tests__/use-publish-reply.test.tsx @@ -17,7 +17,7 @@ const testState = vi.hoisted(() => ({ publishCommentMock: vi.fn(), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ usePublishComment: (options: Record) => { testState.lastPublishOptions = options; return { diff --git a/src/hooks/__tests__/use-state-string.test.tsx b/src/hooks/__tests__/use-state-string.test.tsx index 732d552b..713e58e4 100644 --- a/src/hooks/__tests__/use-state-string.test.tsx +++ b/src/hooks/__tests__/use-state-string.test.tsx @@ -19,7 +19,7 @@ const testState = vi.hoisted(() => ({ subplebbitsStates: {} as Record, })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useClientsStates: () => ({ states: testState.clientsStates, }), diff --git a/src/hooks/use-account-subplebbit-addresses.ts b/src/hooks/use-account-subplebbit-addresses.ts index 9676e3de..deb201ce 100644 --- a/src/hooks/use-account-subplebbit-addresses.ts +++ b/src/hooks/use-account-subplebbit-addresses.ts @@ -1,5 +1,5 @@ import { useMemo } from 'react'; -import { useAccountSubplebbits } from '@bitsocialhq/bitsocial-react-hooks'; +import { useAccountSubplebbits } from '@bitsocialnet/bitsocial-react-hooks'; export const useAccountSubplebbitAddresses = (): string[] => { const { accountSubplebbits } = useAccountSubplebbits({ onlyIfCached: true }); diff --git a/src/hooks/use-account-subplebbits-with-metadata.ts b/src/hooks/use-account-subplebbits-with-metadata.ts index 4a31f69d..f2451fb2 100644 --- a/src/hooks/use-account-subplebbits-with-metadata.ts +++ b/src/hooks/use-account-subplebbits-with-metadata.ts @@ -1,5 +1,5 @@ import { useMemo } from 'react'; -import { useAccountSubplebbits } from '@bitsocialhq/bitsocial-react-hooks'; +import { useAccountSubplebbits } from '@bitsocialnet/bitsocial-react-hooks'; import { DirectoryCommunity } from './use-directories'; export const useAccountSubplebbitsWithMetadata = (): DirectoryCommunity[] => { diff --git a/src/hooks/use-author-privileges.ts b/src/hooks/use-author-privileges.ts index da374d14..6e8b2cee 100644 --- a/src/hooks/use-author-privileges.ts +++ b/src/hooks/use-author-privileges.ts @@ -1,5 +1,5 @@ import { useMemo } from 'react'; -import { useAccount } from '@bitsocialhq/bitsocial-react-hooks'; +import { useAccount } from '@bitsocialnet/bitsocial-react-hooks'; import { useSubplebbitField } from './use-stable-subplebbit'; interface AuthorPrivilegesProps { diff --git a/src/hooks/use-catalog-feed-rows.ts b/src/hooks/use-catalog-feed-rows.ts index 72e75638..0b717549 100644 --- a/src/hooks/use-catalog-feed-rows.ts +++ b/src/hooks/use-catalog-feed-rows.ts @@ -1,5 +1,5 @@ import { useMemo } from 'react'; -import { useAccountComments, Subplebbit } from '@bitsocialhq/bitsocial-react-hooks'; +import { useAccountComments, Subplebbit } from '@bitsocialnet/bitsocial-react-hooks'; const useCatalogFeedRows = (columnCount: number, feed: any, isFeedLoaded: boolean, subplebbit: Subplebbit) => { const { address } = subplebbit || {}; diff --git a/src/hooks/use-count-links-in-replies.ts b/src/hooks/use-count-links-in-replies.ts index 300a9893..1dd6fa14 100644 --- a/src/hooks/use-count-links-in-replies.ts +++ b/src/hooks/use-count-links-in-replies.ts @@ -1,6 +1,6 @@ import { useMemo } from 'react'; -import { Comment } from '@bitsocialhq/bitsocial-react-hooks'; -import { flattenCommentsPages } from '@bitsocialhq/bitsocial-react-hooks/dist/lib/utils'; +import { Comment } from '@bitsocialnet/bitsocial-react-hooks'; +import { flattenCommentsPages } from '@bitsocialnet/bitsocial-react-hooks/dist/lib/utils'; const useCountLinksInReplies = (comment: Comment, firstXReplies?: number) => { let linkCount = 0; diff --git a/src/hooks/use-directories.ts b/src/hooks/use-directories.ts index 663b65bb..c980b844 100644 --- a/src/hooks/use-directories.ts +++ b/src/hooks/use-directories.ts @@ -42,7 +42,7 @@ interface DirectoriesState { error: Error | null; } -const GITHUB_URL = 'https://raw.githubusercontent.com/bitsocialhq/lists/master/5chan-directories.json'; +const GITHUB_URL = 'https://raw.githubusercontent.com/bitsocialnet/lists/master/5chan-directories.json'; const LOCALSTORAGE_KEY = '5chan-directories-cache'; const LOCALSTORAGE_TIMESTAMP_KEY = '5chan-directories-cache-timestamp'; const CACHE_MAX_AGE_MS = 60 * 60 * 1000; // 1 hour diff --git a/src/hooks/use-fetch-gif-first-frame.ts b/src/hooks/use-fetch-gif-first-frame.ts index 2c75e36b..8e369645 100644 --- a/src/hooks/use-fetch-gif-first-frame.ts +++ b/src/hooks/use-fetch-gif-first-frame.ts @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import localForageLru from '@bitsocialhq/bitsocial-react-hooks/dist/lib/localforage-lru/index.js'; +import localForageLru from '@bitsocialnet/bitsocial-react-hooks/dist/lib/localforage-lru/index.js'; const gifFrameDb = localForageLru.createInstance({ name: '5chanGifFrames', size: 500 }); const failedUrls = new Set(); diff --git a/src/hooks/use-hide.ts b/src/hooks/use-hide.ts index c188a6e8..332ffb5f 100644 --- a/src/hooks/use-hide.ts +++ b/src/hooks/use-hide.ts @@ -1,6 +1,6 @@ import { useCallback, useMemo } from 'react'; import { create } from 'zustand'; -import localForageLru from '@bitsocialhq/bitsocial-react-hooks/dist/lib/localforage-lru/index.js'; +import localForageLru from '@bitsocialnet/bitsocial-react-hooks/dist/lib/localforage-lru/index.js'; interface HideStoreState { hiddenCids: { [key: string]: boolean }; diff --git a/src/hooks/use-is-subplebbit-offline.ts b/src/hooks/use-is-subplebbit-offline.ts index 6ad5e252..1651f5ea 100644 --- a/src/hooks/use-is-subplebbit-offline.ts +++ b/src/hooks/use-is-subplebbit-offline.ts @@ -1,6 +1,6 @@ import { useTranslation } from 'react-i18next'; import { useEffect } from 'react'; -import { Subplebbit } from '@bitsocialhq/bitsocial-react-hooks'; +import { Subplebbit } from '@bitsocialnet/bitsocial-react-hooks'; import { getFormattedTimeAgo } from '../lib/utils/time-utils'; import useSubplebbitOfflineStore from '../stores/use-subplebbit-offline-store'; import useSubplebbitsLoadingStartTimestamps from '../stores/use-subplebbits-loading-start-timestamps-store'; diff --git a/src/hooks/use-popular-posts.ts b/src/hooks/use-popular-posts.ts index 29b0663f..d50f5efe 100644 --- a/src/hooks/use-popular-posts.ts +++ b/src/hooks/use-popular-posts.ts @@ -1,5 +1,5 @@ import { useMemo, useRef } from 'react'; -import { Comment, Subplebbit } from '@bitsocialhq/bitsocial-react-hooks'; +import { Comment, Subplebbit } from '@bitsocialnet/bitsocial-react-hooks'; import { getCommentMediaInfo, getHasThumbnail } from '../lib/utils/media-utils'; import useSubplebbitsLoadingStartTimestamps from '../stores/use-subplebbits-loading-start-timestamps-store'; import { useCurrentTime } from './use-current-time'; diff --git a/src/hooks/use-post-page-number.ts b/src/hooks/use-post-page-number.ts index a4c35c4e..a8d86214 100644 --- a/src/hooks/use-post-page-number.ts +++ b/src/hooks/use-post-page-number.ts @@ -1,6 +1,6 @@ import { useMemo } from 'react'; -import { useFeed } from '@bitsocialhq/bitsocial-react-hooks'; -import useFeedsStore from '@bitsocialhq/bitsocial-react-hooks/dist/stores/feeds'; +import { useFeed } from '@bitsocialnet/bitsocial-react-hooks'; +import useFeedsStore from '@bitsocialnet/bitsocial-react-hooks/dist/stores/feeds'; import { useDirectoryByAddress } from './use-directories'; import { useBoardFeedPageSize } from './use-board-feed-page-size'; import { findPostPageInFeed, findPostPageInLoadedBoardFeeds, type FeedsOptionsLike, type LoadedFeedsLike } from '../lib/utils/post-page-resolution'; diff --git a/src/hooks/use-publish-post.ts b/src/hooks/use-publish-post.ts index 90e2d59e..e11f16a8 100644 --- a/src/hooks/use-publish-post.ts +++ b/src/hooks/use-publish-post.ts @@ -1,5 +1,5 @@ import { useCallback, useMemo, useRef } from 'react'; -import { Comment, usePublishComment } from '@bitsocialhq/bitsocial-react-hooks'; +import { Comment, usePublishComment } from '@bitsocialnet/bitsocial-react-hooks'; import usePublishPostStore from '../stores/use-publish-post-store'; import useChallengesStore from '../stores/use-challenges-store'; diff --git a/src/hooks/use-publish-reply.ts b/src/hooks/use-publish-reply.ts index a73802e5..2336d74b 100644 --- a/src/hooks/use-publish-reply.ts +++ b/src/hooks/use-publish-reply.ts @@ -1,5 +1,5 @@ import { useCallback, useMemo, useRef } from 'react'; -import { Comment, usePublishComment } from '@bitsocialhq/bitsocial-react-hooks'; +import { Comment, usePublishComment } from '@bitsocialnet/bitsocial-react-hooks'; import usePublishReplyStore from '../stores/use-publish-reply-store'; import usePostNumberStore from '../stores/use-post-number-store'; import { getQuotedCidsFromContent, mergeQuotedCids } from '../lib/utils/reply-quote-utils'; diff --git a/src/hooks/use-quoted-by-map.ts b/src/hooks/use-quoted-by-map.ts index 324a810e..f86132d1 100644 --- a/src/hooks/use-quoted-by-map.ts +++ b/src/hooks/use-quoted-by-map.ts @@ -1,5 +1,5 @@ import { useCallback, useMemo, useRef } from 'react'; -import { Comment } from '@bitsocialhq/bitsocial-react-hooks'; +import { Comment } from '@bitsocialnet/bitsocial-react-hooks'; import { QUOTE_NUMBER_REGEX } from '../lib/utils/url-utils'; import usePostNumberStore from '../stores/use-post-number-store'; diff --git a/src/hooks/use-stable-subplebbit.ts b/src/hooks/use-stable-subplebbit.ts index d2b498ac..85c5e538 100644 --- a/src/hooks/use-stable-subplebbit.ts +++ b/src/hooks/use-stable-subplebbit.ts @@ -1,4 +1,4 @@ -import useSubplebbitsStore from '@bitsocialhq/bitsocial-react-hooks/dist/stores/subplebbits'; +import useSubplebbitsStore from '@bitsocialnet/bitsocial-react-hooks/dist/stores/subplebbits'; /** * Shallow compare two objects by keys and values. diff --git a/src/hooks/use-state-string.ts b/src/hooks/use-state-string.ts index fe3571e2..507b664b 100644 --- a/src/hooks/use-state-string.ts +++ b/src/hooks/use-state-string.ts @@ -1,5 +1,5 @@ import { useMemo } from 'react'; -import { useClientsStates, useSubplebbit, useSubplebbitsStates } from '@bitsocialhq/bitsocial-react-hooks'; +import { useClientsStates, useSubplebbit, useSubplebbitsStates } from '@bitsocialnet/bitsocial-react-hooks'; import debounce from 'lodash/debounce'; interface CommentOrSubplebbit { diff --git a/src/hooks/use-subplebbits-stats.ts b/src/hooks/use-subplebbits-stats.ts index bfa27ede..6920ded1 100644 --- a/src/hooks/use-subplebbits-stats.ts +++ b/src/hooks/use-subplebbits-stats.ts @@ -1,5 +1,5 @@ import { useEffect } from 'react'; -import { useSubplebbitStats } from '@bitsocialhq/bitsocial-react-hooks'; +import { useSubplebbitStats } from '@bitsocialnet/bitsocial-react-hooks'; import { create } from 'zustand'; type SubplebbitsStatsState = { diff --git a/src/hooks/use-theme.ts b/src/hooks/use-theme.ts index 3dc56534..1e0724c7 100644 --- a/src/hooks/use-theme.ts +++ b/src/hooks/use-theme.ts @@ -4,7 +4,7 @@ import { isAllView, isSubscriptionsView, isModView } from '../lib/utils/view-uti import useThemeStore from '../stores/use-theme-store'; import { useDirectories } from './use-directories'; import { useResolvedSubplebbitAddress } from './use-resolved-subplebbit-address'; -import { useAccountComment } from '@bitsocialhq/bitsocial-react-hooks'; +import { useAccountComment } from '@bitsocialnet/bitsocial-react-hooks'; import useSpecialThemeStore from '../stores/use-special-theme-store'; import { isChristmas } from '../lib/utils/time-utils'; import { updateFavicon, isSfwBoard } from '../lib/update-favicon'; diff --git a/src/lib/utils/__tests__/media-utils.test.ts b/src/lib/utils/__tests__/media-utils.test.ts index f8c9c975..24e016eb 100644 --- a/src/lib/utils/__tests__/media-utils.test.ts +++ b/src/lib/utils/__tests__/media-utils.test.ts @@ -11,7 +11,7 @@ const testState = vi.hoisted(() => ({ localForageSetItemMock: vi.fn(), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/lib/localforage-lru/index.js', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/lib/localforage-lru/index.js', () => ({ default: { createInstance: () => ({ getItem: (url: string) => testState.localForageGetItemMock(url), diff --git a/src/lib/utils/__tests__/pattern-utils.test.ts b/src/lib/utils/__tests__/pattern-utils.test.ts index 367fc5b7..c7f504ed 100644 --- a/src/lib/utils/__tests__/pattern-utils.test.ts +++ b/src/lib/utils/__tests__/pattern-utils.test.ts @@ -5,7 +5,7 @@ const testState = vi.hoisted(() => ({ subplebbits: {} as Record }>, })); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/stores/subplebbits', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/stores/subplebbits', () => ({ default: { getState: () => ({ subplebbits: testState.subplebbits, diff --git a/src/lib/utils/challenge-utils.ts b/src/lib/utils/challenge-utils.ts index 55db91b8..3065ab1d 100644 --- a/src/lib/utils/challenge-utils.ts +++ b/src/lib/utils/challenge-utils.ts @@ -1,4 +1,4 @@ -import { ChallengeVerification } from '@bitsocialhq/bitsocial-react-hooks'; +import { ChallengeVerification } from '@bitsocialnet/bitsocial-react-hooks'; import directoriesData from '../../data/5chan-directories.json'; import { getBoardPath } from './route-utils'; diff --git a/src/lib/utils/media-utils.ts b/src/lib/utils/media-utils.ts index f3196d62..464e8db5 100644 --- a/src/lib/utils/media-utils.ts +++ b/src/lib/utils/media-utils.ts @@ -1,4 +1,4 @@ -import localForageLru from '@bitsocialhq/bitsocial-react-hooks/dist/lib/localforage-lru/index.js'; +import localForageLru from '@bitsocialnet/bitsocial-react-hooks/dist/lib/localforage-lru/index.js'; import { canEmbed } from '../../components/embed'; import memoize from 'memoizee'; import { isValidURL } from './url-utils'; diff --git a/src/lib/utils/pattern-utils.ts b/src/lib/utils/pattern-utils.ts index d1e9e30a..f17dae64 100644 --- a/src/lib/utils/pattern-utils.ts +++ b/src/lib/utils/pattern-utils.ts @@ -1,5 +1,5 @@ -import type { Comment } from '@bitsocialhq/bitsocial-react-hooks'; -import useSubplebbitsStore from '@bitsocialhq/bitsocial-react-hooks/dist/stores/subplebbits'; +import type { Comment } from '@bitsocialnet/bitsocial-react-hooks'; +import useSubplebbitsStore from '@bitsocialnet/bitsocial-react-hooks/dist/stores/subplebbits'; /** * Checks if a text matches a pattern according to various pattern matching rules: diff --git a/src/lib/utils/post-menu-props.ts b/src/lib/utils/post-menu-props.ts index 350c83d5..7daeaa2d 100644 --- a/src/lib/utils/post-menu-props.ts +++ b/src/lib/utils/post-menu-props.ts @@ -1,4 +1,4 @@ -import type { Comment } from '@bitsocialhq/bitsocial-react-hooks'; +import type { Comment } from '@bitsocialnet/bitsocial-react-hooks'; export type PostMenuProps = { cid?: string; diff --git a/src/lib/utils/quote-link-utils.ts b/src/lib/utils/quote-link-utils.ts index 330047d8..79c345b8 100644 --- a/src/lib/utils/quote-link-utils.ts +++ b/src/lib/utils/quote-link-utils.ts @@ -1,4 +1,4 @@ -import type { Comment } from '@bitsocialhq/bitsocial-react-hooks'; +import type { Comment } from '@bitsocialnet/bitsocial-react-hooks'; type QuoteTargetAvailability = 'available' | 'unresolved' | 'unavailable'; diff --git a/src/stores/__tests__/theme-store.test.ts b/src/stores/__tests__/theme-store.test.ts index 2728c711..462c48eb 100644 --- a/src/stores/__tests__/theme-store.test.ts +++ b/src/stores/__tests__/theme-store.test.ts @@ -5,7 +5,7 @@ const testState = vi.hoisted(() => ({ setItemMock: vi.fn(async () => undefined), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/lib/localforage-lru/index.js', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/lib/localforage-lru/index.js', () => ({ default: { createInstance: () => ({ entries: testState.entriesMock, diff --git a/src/stores/use-catalog-filters-store.ts b/src/stores/use-catalog-filters-store.ts index a91b5dd0..a8c8bed3 100644 --- a/src/stores/use-catalog-filters-store.ts +++ b/src/stores/use-catalog-filters-store.ts @@ -1,6 +1,6 @@ import { create } from 'zustand'; import { persist } from 'zustand/middleware'; -import type { Comment } from '@bitsocialhq/bitsocial-react-hooks'; +import type { Comment } from '@bitsocialnet/bitsocial-react-hooks'; import { commentMatchesPattern } from '../lib/utils/pattern-utils'; interface FilterItem { diff --git a/src/stores/use-challenges-store.ts b/src/stores/use-challenges-store.ts index d73e5a6e..8cdff6e4 100644 --- a/src/stores/use-challenges-store.ts +++ b/src/stores/use-challenges-store.ts @@ -1,5 +1,5 @@ import { create } from 'zustand'; -import { Challenge } from '@bitsocialhq/bitsocial-react-hooks'; +import { Challenge } from '@bitsocialnet/bitsocial-react-hooks'; let nextChallengeId = 0; diff --git a/src/stores/use-post-number-store.ts b/src/stores/use-post-number-store.ts index c61d0788..3ed8b99d 100644 --- a/src/stores/use-post-number-store.ts +++ b/src/stores/use-post-number-store.ts @@ -1,5 +1,5 @@ import { create } from 'zustand'; -import type { Comment } from '@bitsocialhq/bitsocial-react-hooks'; +import type { Comment } from '@bitsocialnet/bitsocial-react-hooks'; interface PostNumberState { // Post numbers are only unique within a subplebbit, so scope by address diff --git a/src/stores/use-publish-post-store.ts b/src/stores/use-publish-post-store.ts index 678d11d6..d84dace7 100644 --- a/src/stores/use-publish-post-store.ts +++ b/src/stores/use-publish-post-store.ts @@ -1,4 +1,4 @@ -import { ChallengeVerification, Comment, PublishCommentOptions } from '@bitsocialhq/bitsocial-react-hooks'; +import { ChallengeVerification, Comment, PublishCommentOptions } from '@bitsocialnet/bitsocial-react-hooks'; import { create } from 'zustand'; import { alertChallengeVerificationFailed } from '../lib/utils/challenge-utils'; diff --git a/src/stores/use-publish-reply-store.ts b/src/stores/use-publish-reply-store.ts index dcadc3be..903d6822 100644 --- a/src/stores/use-publish-reply-store.ts +++ b/src/stores/use-publish-reply-store.ts @@ -1,4 +1,4 @@ -import { ChallengeVerification, Comment, PublishCommentOptions } from '@bitsocialhq/bitsocial-react-hooks'; +import { ChallengeVerification, Comment, PublishCommentOptions } from '@bitsocialnet/bitsocial-react-hooks'; import { create } from 'zustand'; import { alertChallengeVerificationFailed } from '../lib/utils/challenge-utils'; diff --git a/src/stores/use-theme-store.ts b/src/stores/use-theme-store.ts index abf79ca8..b19d69b6 100644 --- a/src/stores/use-theme-store.ts +++ b/src/stores/use-theme-store.ts @@ -1,5 +1,5 @@ import { create, StoreApi } from 'zustand'; -import localForageLru from '@bitsocialhq/bitsocial-react-hooks/dist/lib/localforage-lru/index.js'; +import localForageLru from '@bitsocialnet/bitsocial-react-hooks/dist/lib/localforage-lru/index.js'; interface ThemeState { themes: { diff --git a/src/views/account-data-editor/__tests__/account-data-editor.test.tsx b/src/views/account-data-editor/__tests__/account-data-editor.test.tsx index 699227d5..bc910e28 100644 --- a/src/views/account-data-editor/__tests__/account-data-editor.test.tsx +++ b/src/views/account-data-editor/__tests__/account-data-editor.test.tsx @@ -51,7 +51,7 @@ vi.mock('../../../lib/utils/account-editor-utils', () => ({ safeParseAccountJson: (text: string) => testState.safeParseAccountJsonMock(text), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ setAccount: (payload: Record) => testState.setAccountMock(payload), useAccount: () => testState.account, })); diff --git a/src/views/account-data-editor/account-data-editor.tsx b/src/views/account-data-editor/account-data-editor.tsx index 1a3122e4..96782b81 100644 --- a/src/views/account-data-editor/account-data-editor.tsx +++ b/src/views/account-data-editor/account-data-editor.tsx @@ -1,7 +1,7 @@ import { useState, useEffect } from 'react'; import { useTranslation } from 'react-i18next'; import { useLocation, useNavigate } from 'react-router-dom'; -import { setAccount, useAccount } from '@bitsocialhq/bitsocial-react-hooks'; +import { setAccount, useAccount } from '@bitsocialnet/bitsocial-react-hooks'; import { buildEditableAccountJson, safeParseAccountJson, buildSavePayload } from '../../lib/utils/account-editor-utils'; import styles from './account-data-editor.module.css'; diff --git a/src/views/board/__tests__/board.test.tsx b/src/views/board/__tests__/board.test.tsx index a8eecfca..4c1dc8d1 100644 --- a/src/views/board/__tests__/board.test.tsx +++ b/src/views/board/__tests__/board.test.tsx @@ -63,7 +63,7 @@ vi.mock('react-i18next', () => ({ }), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useAccount: () => testState.account, useAccountComments: () => ({ accountComments: testState.accountComments }), useFeed: () => ({ diff --git a/src/views/board/board.tsx b/src/views/board/board.tsx index 84353623..76c16cce 100644 --- a/src/views/board/board.tsx +++ b/src/views/board/board.tsx @@ -1,6 +1,6 @@ import { useCallback, useEffect, useMemo, useRef } from 'react'; import { Link, useLocation, useNavigate, useNavigationType, useParams } from 'react-router-dom'; -import { Comment, useAccount, useAccountComments, useFeed, useSubplebbit } from '@bitsocialhq/bitsocial-react-hooks'; +import { Comment, useAccount, useAccountComments, useFeed, useSubplebbit } from '@bitsocialnet/bitsocial-react-hooks'; import { useSubplebbitField } from '../../hooks/use-stable-subplebbit'; import { Virtuoso, VirtuosoHandle, StateSnapshot } from 'react-virtuoso'; import { useTranslation } from 'react-i18next'; diff --git a/src/views/catalog/__tests__/catalog.test.tsx b/src/views/catalog/__tests__/catalog.test.tsx index 8534510c..9701d9f5 100644 --- a/src/views/catalog/__tests__/catalog.test.tsx +++ b/src/views/catalog/__tests__/catalog.test.tsx @@ -92,7 +92,7 @@ vi.mock('react-i18next', () => ({ }), })); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useAccount: () => testState.account, useAccountComments: () => ({ accountComments: testState.accountComments }), useFeed: (options: { filter?: { filter: (comment: TestComment) => boolean } }) => ({ diff --git a/src/views/catalog/catalog.tsx b/src/views/catalog/catalog.tsx index 9d3e2796..653cbf64 100644 --- a/src/views/catalog/catalog.tsx +++ b/src/views/catalog/catalog.tsx @@ -1,7 +1,7 @@ import { useEffect, useMemo, useRef, useState, useCallback } from 'react'; import { useLocation, useNavigate, useNavigationType, useParams } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; -import { Comment, useAccount, useFeed, useSubplebbit, useAccountComments } from '@bitsocialhq/bitsocial-react-hooks'; +import { Comment, useAccount, useFeed, useSubplebbit, useAccountComments } from '@bitsocialnet/bitsocial-react-hooks'; import { Virtuoso, VirtuosoHandle, StateSnapshot } from 'react-virtuoso'; import useCatalogFeedRows from '../../hooks/use-catalog-feed-rows'; import { useDirectories, useDirectoryByAddress } from '../../hooks/use-directories'; diff --git a/src/views/faq/faq.tsx b/src/views/faq/faq.tsx index 73cec35e..7f76eb2f 100644 --- a/src/views/faq/faq.tsx +++ b/src/views/faq/faq.tsx @@ -100,7 +100,7 @@ const FAQ = () => {

No. 5chan is a client app for the Bitsocial protocol. This website is just one place to open it — the domain could change, disappear, or be blocked without affecting the Bitsocial network or any boards. We recommend installing the app when your browser offers it, so you keep a local copy that works - independently. You can also download the app from GitHub. If you know a board's + independently. You can also download the app from GitHub. If you know a board's address, you can connect from any host or installed copy.
How do I access the boards?
@@ -145,7 +145,7 @@ const FAQ = () => {
Can I upload an image?
- Yes, but only in the Android app, which you can download on GitHub. The app is able + Yes, but only in the Android app, which you can download on GitHub. The app is able to automatically upload media to image hosting services, like Imgur or catbox.moe, sharing your IP address with the image hosting service. This is not possible in the browser, which can't make backend requests.
diff --git a/src/views/home/__tests__/home.test.tsx b/src/views/home/__tests__/home.test.tsx index 6c12e615..01a464b0 100644 --- a/src/views/home/__tests__/home.test.tsx +++ b/src/views/home/__tests__/home.test.tsx @@ -32,7 +32,7 @@ vi.mock('react-router-dom', async () => { }; }); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useSubplebbits: () => ({ subplebbits: testState.subplebbits }), })); diff --git a/src/views/home/home.tsx b/src/views/home/home.tsx index 1cbce65e..2b68a41f 100644 --- a/src/views/home/home.tsx +++ b/src/views/home/home.tsx @@ -1,7 +1,7 @@ import { useEffect, useMemo, useRef, FormEvent } from 'react'; import { Link, useNavigate } from 'react-router-dom'; import { Trans, useTranslation } from 'react-i18next'; -import { useSubplebbits } from '@bitsocialhq/bitsocial-react-hooks'; +import { useSubplebbits } from '@bitsocialnet/bitsocial-react-hooks'; import styles from './home.module.css'; import { useDirectories, useDirectoryAddresses } from '../../hooks/use-directories'; import { SubplebbitStatsCollector, useSubplebbitsStatsStore } from '../../hooks/use-subplebbits-stats'; @@ -14,7 +14,7 @@ import DirectoryModal from '../../components/directory-modal'; import { getBoardPath } from '../../lib/utils/route-utils'; import lowerCase from 'lodash/lowerCase'; -// https://github.com/bitsocialhq/lists/blob/master/5chan-directories.json +// https://github.com/bitsocialnet/lists/blob/master/5chan-directories.json const SearchBar = () => { const searchInputRef = useRef(null); @@ -71,7 +71,7 @@ const InfoBox = () => { i18nKey='no_global_rules_info' shouldUnescape={true} components={{ - 1: , + 1: , }} /> @@ -158,7 +158,7 @@ export const Footer = () => {
  • - + Source Code
  • diff --git a/src/views/home/popular-threads-box/popular-threads-box.tsx b/src/views/home/popular-threads-box/popular-threads-box.tsx index df86dd6a..125e3365 100644 --- a/src/views/home/popular-threads-box/popular-threads-box.tsx +++ b/src/views/home/popular-threads-box/popular-threads-box.tsx @@ -1,7 +1,7 @@ import { memo, useMemo } from 'react'; import { Link } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; -import { Comment, Subplebbit } from '@bitsocialhq/bitsocial-react-hooks'; +import { Comment, Subplebbit } from '@bitsocialnet/bitsocial-react-hooks'; import styles from '../home.module.css'; import usePopularPosts from '../../../hooks/use-popular-posts'; import { useFeedStateString } from '../../../hooks/use-state-string'; diff --git a/src/views/mod-queue/mod-queue.tsx b/src/views/mod-queue/mod-queue.tsx index 85794a14..aca63fdb 100644 --- a/src/views/mod-queue/mod-queue.tsx +++ b/src/views/mod-queue/mod-queue.tsx @@ -1,7 +1,7 @@ import React, { useMemo, useState, useEffect, useCallback, memo } from 'react'; import { useTranslation } from 'react-i18next'; import { useParams, Link } from 'react-router-dom'; -import { useFeed, Comment, usePublishCommentModeration, useEditedComment, useSubplebbit } from '@bitsocialhq/bitsocial-react-hooks'; +import { useFeed, Comment, usePublishCommentModeration, useEditedComment, useSubplebbit } from '@bitsocialnet/bitsocial-react-hooks'; import { Virtuoso } from 'react-virtuoso'; import styles from './mod-queue.module.css'; import useModQueueStore from '../../stores/use-mod-queue-store'; diff --git a/src/views/pending-post/__tests__/pending-post.test.tsx b/src/views/pending-post/__tests__/pending-post.test.tsx index 09860943..fdda392f 100644 --- a/src/views/pending-post/__tests__/pending-post.test.tsx +++ b/src/views/pending-post/__tests__/pending-post.test.tsx @@ -32,7 +32,7 @@ vi.mock('react-router-dom', async () => { }; }); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useAccountComment: () => testState.post, useAccountComments: () => ({ accountComments: testState.accountComments, diff --git a/src/views/pending-post/pending-post.tsx b/src/views/pending-post/pending-post.tsx index 0bc8bcc6..5443376b 100644 --- a/src/views/pending-post/pending-post.tsx +++ b/src/views/pending-post/pending-post.tsx @@ -1,6 +1,6 @@ import { useEffect } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; -import { useAccountComment, useAccountComments } from '@bitsocialhq/bitsocial-react-hooks'; +import { useAccountComment, useAccountComments } from '@bitsocialnet/bitsocial-react-hooks'; import { useDirectories } from '../../hooks/use-directories'; import { getBoardPath } from '../../lib/utils/route-utils'; import { Post } from '../post'; diff --git a/src/views/post/__tests__/post.test.tsx b/src/views/post/__tests__/post.test.tsx index 1c761c1c..2f5414a8 100644 --- a/src/views/post/__tests__/post.test.tsx +++ b/src/views/post/__tests__/post.test.tsx @@ -59,7 +59,7 @@ vi.mock('react-router-dom', async () => { }; }); -vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({ useComment: ({ commentCid }: { commentCid?: string }) => (commentCid ? testState.commentsByCid[commentCid] : undefined), useEditedComment: ({ comment }: { comment?: TestComment }) => ({ editedComment: comment?.cid ? testState.editedCommentsByCid[comment.cid] : undefined, @@ -67,7 +67,7 @@ vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({ useSubplebbit: () => testState.subplebbit, })); -vi.mock('@bitsocialhq/bitsocial-react-hooks/dist/stores/subplebbits-pages', () => ({ +vi.mock('@bitsocialnet/bitsocial-react-hooks/dist/stores/subplebbits-pages', () => ({ default: (selector: (state: { comments: typeof testState.cachedComments }) => unknown) => selector({ comments: testState.cachedComments, diff --git a/src/views/post/post.tsx b/src/views/post/post.tsx index 553dd9f6..2bda7f1a 100644 --- a/src/views/post/post.tsx +++ b/src/views/post/post.tsx @@ -1,7 +1,7 @@ import { memo, useEffect, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; -import { Comment, Role, useComment, useEditedComment, useSubplebbit } from '@bitsocialhq/bitsocial-react-hooks'; -import useSubplebbitsPagesStore from '@bitsocialhq/bitsocial-react-hooks/dist/stores/subplebbits-pages'; +import { Comment, Role, useComment, useEditedComment, useSubplebbit } from '@bitsocialnet/bitsocial-react-hooks'; +import useSubplebbitsPagesStore from '@bitsocialnet/bitsocial-react-hooks/dist/stores/subplebbits-pages'; import { useSubplebbitField } from '../../hooks/use-stable-subplebbit'; import { useLocation, useNavigate, useParams } from 'react-router-dom'; import { isAllView } from '../../lib/utils/view-utils'; diff --git a/src/views/rules/rules.tsx b/src/views/rules/rules.tsx index ef991a74..1af5af1e 100644 --- a/src/views/rules/rules.tsx +++ b/src/views/rules/rules.tsx @@ -1,6 +1,6 @@ import { useEffect, useState, FormEvent } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; -import { useSubplebbit } from '@bitsocialhq/bitsocial-react-hooks'; +import { useSubplebbit } from '@bitsocialnet/bitsocial-react-hooks'; import { Footer, HomeLogo } from '../home'; import { useDirectories, DirectoryCommunity } from '../../hooks/use-directories'; import { getSubplebbitAddress, getBoardPath } from '../../lib/utils/route-utils'; diff --git a/vite.config.js b/vite.config.js index c4c61fe1..92740140 100644 --- a/vite.config.js +++ b/vite.config.js @@ -206,7 +206,7 @@ export default defineConfig({ if (/[\\/]node_modules[\\/](@plebbit[\\/]plebbit-js)[\\/]/.test(id)) { return 'plebbit-js'; } - if (/[\\/]node_modules[\\/](@bitsocialhq[\\/]bitsocial-react-hooks)[\\/]/.test(id)) { + if (/[\\/]node_modules[\\/](@bitsocialnet[\\/]bitsocial-react-hooks)[\\/]/.test(id)) { return 'bitsocial-react-hooks'; } if (/[\\/]node_modules[\\/](@react-spring|@use-gesture)[\\/]/.test(id)) { diff --git a/yarn.lock b/yarn.lock index 214f9231..3c1cc8ff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1046,9 +1046,9 @@ "@babel/helper-string-parser" "^7.27.1" "@babel/helper-validator-identifier" "^7.28.5" -"@bitsocialhq/bitsocial-react-hooks@https://github.com/bitsocialhq/bitsocial-react-hooks.git#4eebec914a3a918d5984777e11a9fc6ef8e821a9": +"@bitsocialnet/bitsocial-react-hooks@https://github.com/bitsocialnet/bitsocial-react-hooks.git#4eebec914a3a918d5984777e11a9fc6ef8e821a9": version "0.1.0" - resolved "https://github.com/bitsocialhq/bitsocial-react-hooks.git#4eebec914a3a918d5984777e11a9fc6ef8e821a9" + resolved "https://github.com/bitsocialnet/bitsocial-react-hooks.git#4eebec914a3a918d5984777e11a9fc6ef8e821a9" dependencies: "@noble/ed25519" "1.7.5" "@plebbit/plebbit-js" "https://github.com/plebbit/plebbit-js.git#10ed04e3866dd986a7f802bc9efd027f0e7d465b"