feat: add shared cross-platform catbox media upload flow

Added `useFileUpload()` and `uploadToCatbox()` to centralize upload behavior and remove duplicated upload code from `post-form.tsx` and `reply-modal.tsx`. The flow now routes Android to `FileUploader`, Electron to hidden-input + catbox upload, and web to a translated fallback alert with consistent upload UI state.
This commit is contained in:
plebeius
2026-02-17 16:44:16 +08:00
parent 9c558d21c1
commit dbbc83d369
42 changed files with 545 additions and 118 deletions
+4 -1
View File
@@ -281,5 +281,8 @@
"posts_auto_update_info": "పోస్టులు ప్రతి ~2 నిమిషాలకు స్వయంచాలకంగా నవీకరించబడతాయి. ప్రస్తుతం దీనిని నిలిపివేయడం సম్భవం కాదు.",
"board_address_tooltip": "ఈ బోర్డ్ యొక్క పీర్-టు-పీర్ నోడ్ యొక్క చిరునామా",
"vote_button_unavailable_intro": "ఇంకా అందుబాటులో లేదు. వినియోగదారులు తమ స్వంత బోర్డులను సమర్పించవచ్చు మరియు /{{boardIdentifier}}/ వంటి డైరెక్టరీ స్లాట్‌ల కోసం వాటికి ఓటు వేయవచ్చు.",
"vote_button_unavailable_outro": "సర్వాధిక ఓట్లను పొందిన /{{boardIdentifier}}/ అధికారిక /{{boardIdentifier}}/ అవుతుంది."
"vote_button_unavailable_outro": "సర్వాధిక ఓట్లను పొందిన /{{boardIdentifier}}/ అధికారిక /{{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",
"file": "File"
}