mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
refactor: org name changed from bitsocialhq to bitsocialnet
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
[](https://github.com/bitsocialhq/5chan/actions/workflows/ci.yml)
|
||||
[](https://github.com/bitsocialhq/5chan/releases/latest)
|
||||
[](https://github.com/bitsocialhq/5chan/blob/master/LICENSE)
|
||||
[](https://github.com/bitsocialnet/5chan/actions/workflows/ci.yml)
|
||||
[](https://github.com/bitsocialnet/5chan/releases/latest)
|
||||
[](https://github.com/bitsocialnet/5chan/blob/master/LICENSE)
|
||||
[](http://commitizen.github.io/cz-cli/)
|
||||
|
||||
<img src="https://github.com/plebeius-eth/assets/blob/main/5chan-logo.jpg" width="378" height="123">
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
+6
-6
@@ -7,7 +7,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
||||
<meta name="theme-color" content="#000000" />
|
||||
<meta name="description" content="5chan is a free, open-source, decentralized imageboard built on the Bitsocial protocol. No servers, no admins — all content is shared peer-to-peer via IPFS." />
|
||||
<meta name="author" content="bitsocialhq" />
|
||||
<meta name="author" content="bitsocialnet" />
|
||||
<link rel="canonical" href="https://5chan.app/" />
|
||||
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
@@ -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"
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
+1
-1
@@ -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",
|
||||
|
||||
+10
-10
@@ -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
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
@@ -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": "إخفاء زر تحميل الملف من نماذج المنشورات والردود",
|
||||
|
||||
@@ -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": "পোস্ট এবং রিপ্লাই ফর্ম থেকে ফাইল আপলোড বাটন লুকায়",
|
||||
|
||||
@@ -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í",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": "Αποκρύπτει το κουμπί μεταφόρτωσης αρχείου από τις φόρμες δημοσίευσης και απάντησης",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": "دکمه بارگذاری فایل را از فرمهای پست و پاسخ مخفی میکند",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": "מסתיר את כפתור העלאת הקבצים מטפסי פוסט ותשובה",
|
||||
|
||||
@@ -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": "पोस्ट और रिप्लाई फॉर्म से फ़ाइल अपलोड बटन को छिपाता है",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": "投稿とコメントフォームのファイルアップロードボタンを非表示にします",
|
||||
|
||||
@@ -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": "게시물 및 댓글 양식에서 파일 업로드 버튼을 숨깁니다",
|
||||
|
||||
@@ -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": "पोस्ट आणि उत्तर फॉर्मवरून फाइल अपलोड बटन लपवते",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": "Скрывает кнопку загрузки файла из форм постов и ответов",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": "పోస్ట్ మరియు ప్రతిస్పందన ఫారమ్ల నుండి ఫైల్ అప్లోడ్ బటన్ను దాచిపెడుతుంది",
|
||||
|
||||
@@ -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": "ซ่อนปุ่มอัปโหลดไฟล์จากแบบฟอร์มโพสต์และตอบกลับ",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": "Приховує кнопку завантаження файлу з форм постів та відповідей",
|
||||
|
||||
@@ -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": "پوسٹ اور جواب کی فارمز سے فائل اپ لوڈ بٹن کو چھپاتا ہے",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": "隐藏帖子和回复表单中的文件上传按钮",
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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),
|
||||
|
||||
+1
-1
@@ -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';
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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: () => ({
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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<string, { subscriptions?: string[] }> }) => 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,
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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<string, { subscriptions: string[] }> }) => unknown) =>
|
||||
selector({
|
||||
activeAccountId: 'account-1',
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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([]),
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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),
|
||||
}));
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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<string, TestComment> }) => unknown) =>
|
||||
selector({
|
||||
comments: testState.commentsByCid,
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -37,7 +37,7 @@ const CreateBoardModal = () => {
|
||||
<h3>Creating Your Board</h3>
|
||||
<p>
|
||||
Create a board using the CLI:
|
||||
<a href='https://github.com/bitsocialhq/bitsocial-cli' target='_blank' rel='noopener noreferrer'>
|
||||
<a href='https://github.com/bitsocialnet/bitsocial-cli' target='_blank' rel='noopener noreferrer'>
|
||||
bitsocial-cli
|
||||
</a>
|
||||
. <strong>Build a following:</strong> 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 = () => {
|
||||
<h3>Submitting to a Directory</h3>
|
||||
<p>
|
||||
Open a PR editing{' '}
|
||||
<a href='https://github.com/bitsocialhq/lists/blob/master/5chan-directories.json' target='_blank' rel='noopener noreferrer'>
|
||||
<a href='https://github.com/bitsocialnet/lists/blob/master/5chan-directories.json' target='_blank' rel='noopener noreferrer'>
|
||||
5chan-directories.json
|
||||
</a>{' '}
|
||||
with your board's title, address, and NSFW status. Devs will review and merge if approved. 99% uptime is required.
|
||||
|
||||
@@ -44,7 +44,7 @@ const DirectoryModal = () => {
|
||||
<h3>Creating Your Board</h3>
|
||||
<p>
|
||||
<strong>Anyone can create a board</strong> using the official CLI:{' '}
|
||||
<a href='https://github.com/bitsocialhq/bitsocial-cli' target='_blank' rel='noopener noreferrer'>
|
||||
<a href='https://github.com/bitsocialnet/bitsocial-cli' target='_blank' rel='noopener noreferrer'>
|
||||
bitsocial-cli
|
||||
</a>
|
||||
. Users can access it anytime via the search bar, direct links, or by subscribing with the "[Subscribe]" button—
|
||||
@@ -57,7 +57,7 @@ const DirectoryModal = () => {
|
||||
<h3>Directory Submission</h3>
|
||||
<p>
|
||||
To submit your board, open a PR editing{' '}
|
||||
<a href='https://github.com/bitsocialhq/lists/blob/master/5chan-directories.json' target='_blank' rel='noopener noreferrer'>
|
||||
<a href='https://github.com/bitsocialnet/lists/blob/master/5chan-directories.json' target='_blank' rel='noopener noreferrer'>
|
||||
5chan-directories.json
|
||||
</a>{' '}
|
||||
with your board's title, address, and NSFW status. Requirements: 99% uptime (they're P2P nodes), active, well-moderated, and relevant to the
|
||||
|
||||
@@ -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<string, any>) => {
|
||||
testState.authorOptions = options;
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -30,7 +30,7 @@ vi.mock('react-i18next', () => ({
|
||||
}),
|
||||
}));
|
||||
|
||||
vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({
|
||||
vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({
|
||||
useComment: () => testState.post,
|
||||
}));
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 => {
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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([]),
|
||||
|
||||
@@ -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 }),
|
||||
}));
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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([]),
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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: <T,>(selector: (state: { subplebbits: typeof testState.subplebbits }) => T) =>
|
||||
selector({
|
||||
subplebbits: testState.subplebbits,
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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,
|
||||
}));
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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';
|
||||
|
||||
+1
-1
@@ -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,
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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 <T,>(fn: () => Promise<T>, onError: (e: unknown) => void): Promise<T | undefined> => {
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -14,21 +14,21 @@ const isElectron = window.electronApi?.isElectron === true;
|
||||
|
||||
const fetchLatestVersionInfo = async (t: (key: string, opts?: Record<string, unknown>) => string): Promise<void> => {
|
||||
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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
+1
-1
@@ -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) ?? {
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -12,11 +12,11 @@ const LicenseText = () => <span>5chan is free and open-source software under GPL
|
||||
const VersionFeedbackContact = () => (
|
||||
<>
|
||||
<Version /> •{' '}
|
||||
<a href='https://github.com/bitsocialhq/5chan/issues/new' target='_blank' rel='noopener noreferrer'>
|
||||
<a href='https://github.com/bitsocialnet/5chan/issues/new' target='_blank' rel='noopener noreferrer'>
|
||||
Feedback
|
||||
</a>{' '}
|
||||
•{' '}
|
||||
<a href='https://github.com/bitsocialhq/5chan/graphs/contributors' target='_blank' rel='noopener noreferrer'>
|
||||
<a href='https://github.com/bitsocialnet/5chan/graphs/contributors' target='_blank' rel='noopener noreferrer'>
|
||||
Contact
|
||||
</a>
|
||||
</>
|
||||
|
||||
@@ -10,7 +10,7 @@ const Version = () => {
|
||||
return (
|
||||
<>
|
||||
<a
|
||||
href={commitRef ? `https://github.com/bitsocialhq/5chan/commit/${commitRef}` : `https://github.com/bitsocialhq/5chan/releases/tag/v${version}`}
|
||||
href={commitRef ? `https://github.com/bitsocialnet/5chan/commit/${commitRef}` : `https://github.com/bitsocialnet/5chan/releases/tag/v${version}`}
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
|
||||
@@ -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": [
|
||||
|
||||
@@ -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,
|
||||
}));
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ const testState = vi.hoisted(() => ({
|
||||
xhrResponses: new Map<string, { response?: ArrayBuffer; status: number; statusText: string }>(),
|
||||
}));
|
||||
|
||||
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,
|
||||
|
||||
@@ -19,14 +19,14 @@ const testState = vi.hoisted(() => ({
|
||||
},
|
||||
}));
|
||||
|
||||
vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({
|
||||
vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({
|
||||
useFeed: (options: Record<string, unknown> | 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<string, unknown>; loadedFeeds: Record<string, unknown> }) => unknown) =>
|
||||
selector({
|
||||
feedsOptions: testState.feedsOptions,
|
||||
|
||||
@@ -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<string, any>) => {
|
||||
testState.lastPublishOptions = options;
|
||||
return {
|
||||
|
||||
@@ -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<string, any>) => {
|
||||
testState.lastPublishOptions = options;
|
||||
return {
|
||||
|
||||
@@ -19,7 +19,7 @@ const testState = vi.hoisted(() => ({
|
||||
subplebbitsStates: {} as Record<string, { clientUrls: string[]; subplebbitAddresses: string[] }>,
|
||||
}));
|
||||
|
||||
vi.mock('@bitsocialhq/bitsocial-react-hooks', () => ({
|
||||
vi.mock('@bitsocialnet/bitsocial-react-hooks', () => ({
|
||||
useClientsStates: () => ({
|
||||
states: testState.clientsStates,
|
||||
}),
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user