chore: community request feedback and host deploy tooling
This commit is contained in:
parent
f94abcf33e
commit
cded5eddb4
26 changed files with 39 additions and 1 deletions
|
|
@ -448,6 +448,18 @@ export function CordnNativePanel({
|
|||
setAwaiting(true);
|
||||
}, [native, user?.pubkey]);
|
||||
|
||||
const handleApprove = useCallback(async (request: { pk: string; kp_ref: string; at: number }) => {
|
||||
const ok = await native.approve(
|
||||
request.kp_ref || request.pk,
|
||||
request.pk,
|
||||
{ pk: request.pk, at: request.at },
|
||||
);
|
||||
if (ok) {
|
||||
setNotice(t('cordnUi.requestHandled'));
|
||||
window.setTimeout(() => setNotice(null), 2500);
|
||||
}
|
||||
}, [native, t]);
|
||||
|
||||
const handleCheckInvite = useCallback(async () => {
|
||||
if (native.busy) return;
|
||||
setNotice(null);
|
||||
|
|
@ -1129,7 +1141,7 @@ export function CordnNativePanel({
|
|||
key={`${req.pk}-${req.kp_ref}`}
|
||||
pubkey={req.pk}
|
||||
disabled={native.busy}
|
||||
onApprove={() => void native.approve(req.kp_ref || req.pk, req.pk, { pk: req.pk, at: req.at })}
|
||||
onApprove={() => void handleApprove(req)}
|
||||
botPubkey={botPubkey}
|
||||
botName={copy.botName}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -919,6 +919,7 @@ const batch1 = {
|
|||
"create": "Crea el xat privat",
|
||||
"requestJoin": "Demana d'unir-t'hi",
|
||||
"requestAgain": "Request again",
|
||||
"requestHandled": "Request handled",
|
||||
"cordnWebCaveat": "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
"checkInvite": "Comprova si hi ha invitació",
|
||||
"requested": "Sol·licitud enviada: un administrador de la colla l'aprovarà.",
|
||||
|
|
|
|||
|
|
@ -308,6 +308,7 @@ const drift = {
|
|||
"create": "Vytvořit soukromý chat",
|
||||
"requestJoin": "Požádat o připojení",
|
||||
"requestAgain": "Request again",
|
||||
"requestHandled": "Request handled",
|
||||
"cordnWebCaveat": "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
"checkInvite": "Zkontrolovat pozvánku",
|
||||
"requested": "Žádost odeslána — administrátor crew ji schválí.",
|
||||
|
|
|
|||
|
|
@ -310,6 +310,7 @@ const drift = {
|
|||
create: "Privaten Chat erstellen",
|
||||
requestJoin: "Um Beitritt bitten",
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: "Nach Einladung suchen",
|
||||
requested: "Anfrage gesendet – ein Crew-Admin wird sie genehmigen.",
|
||||
|
|
|
|||
|
|
@ -312,6 +312,7 @@ const drift = {
|
|||
create: "Δημιουργία ιδιωτικής συνομιλίας",
|
||||
requestJoin: "Ζήτα συμμετοχή",
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: "Έλεγχος πρόσκλησης",
|
||||
requested: "Το αίτημα στάλθηκε — ένας διαχειριστής του crew θα το εγκρίνει.",
|
||||
|
|
|
|||
|
|
@ -919,6 +919,7 @@ const batch1 = {
|
|||
create: "Sortu txat pribatua",
|
||||
requestJoin: "Eskatu sartzea",
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: "Egiaztatu gonbidapena",
|
||||
requested: "Eskaera bidali da — taldeko administratzaile batek onartuko du.",
|
||||
|
|
|
|||
|
|
@ -310,6 +310,7 @@ const drift = {
|
|||
create: "Créer le chat privé",
|
||||
requestJoin: "Demander à rejoindre",
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: "Vérifier l'invitation",
|
||||
requested: "Demande envoyée — un admin de la Crew l'approuvera.",
|
||||
|
|
|
|||
|
|
@ -919,6 +919,7 @@ const batch1 = {
|
|||
create: "Crear o chat privado",
|
||||
requestJoin: "Pedir acceso",
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: "Comprobar se hai invitación",
|
||||
requested: "Solicitude enviada: un administrador da crew aprobaraa.",
|
||||
|
|
|
|||
|
|
@ -919,6 +919,7 @@ const batch1 = {
|
|||
"create": "निजी चैट बनाएँ",
|
||||
"requestJoin": "शामिल होने का अनुरोध करें",
|
||||
"requestAgain": "Request again",
|
||||
"requestHandled": "Request handled",
|
||||
"cordnWebCaveat": "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
"checkInvite": "निमंत्रण जाँचें",
|
||||
"requested": "अनुरोध भेजा गया — क्रू एडमिन इसे स्वीकृत करेगा।",
|
||||
|
|
|
|||
|
|
@ -304,6 +304,7 @@ const driftStrings = {
|
|||
create: 'Buat chat privat',
|
||||
requestJoin: 'Minta gabung',
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: 'Periksa undangan',
|
||||
requested: 'Permintaan terkirim — admin crew akan menyetujuinya.',
|
||||
|
|
|
|||
|
|
@ -310,6 +310,7 @@ const drift = {
|
|||
create: "Crea la chat privata",
|
||||
requestJoin: "Chiedi di unirti",
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: "Controlla l'invito",
|
||||
requested: "Richiesta inviata — un admin della crew la approverà.",
|
||||
|
|
|
|||
|
|
@ -320,6 +320,7 @@ const drift: Dict = {
|
|||
create: 'プライベートチャットを作成',
|
||||
requestJoin: '参加をリクエスト',
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: '招待を確認',
|
||||
requested: 'リクエストを送信しました — クルー管理者が承認します。',
|
||||
|
|
|
|||
|
|
@ -320,6 +320,7 @@ const drift: Dict = {
|
|||
create: '비공개 채팅 만들기',
|
||||
requestJoin: '참여 요청',
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: '초대 확인',
|
||||
requested: '요청을 보냈습니다 — 크루 관리자가 승인합니다.',
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ const cordnUi = {
|
|||
create: 'Create the private chat',
|
||||
requestJoin: 'Ask to join',
|
||||
requestAgain: 'Request again',
|
||||
requestHandled: 'Request handled',
|
||||
cordnWebCaveat: 'Cordn web may stall after sign-in; the in-app join is more reliable.',
|
||||
checkInvite: 'Check for invite',
|
||||
requested: 'Request sent — a crew admin will approve it.',
|
||||
|
|
@ -121,6 +122,7 @@ const cordnUi = {
|
|||
create: 'Crear el chat privado',
|
||||
requestJoin: 'Pedir entrar',
|
||||
requestAgain: 'Volver a pedir',
|
||||
requestHandled: 'Solicitud gestionada',
|
||||
cordnWebCaveat: 'Cordn web puede quedarse colgado tras iniciar sesión; entrar desde la app es más fiable.',
|
||||
checkInvite: 'Buscar invitación',
|
||||
requested: 'Solicitud enviada: un administrador la aprobará.',
|
||||
|
|
|
|||
|
|
@ -308,6 +308,7 @@ const drift = {
|
|||
"create": "De privéchat aanmaken",
|
||||
"requestJoin": "Vragen om deel te nemen",
|
||||
"requestAgain": "Request again",
|
||||
"requestHandled": "Request handled",
|
||||
"cordnWebCaveat": "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
"checkInvite": "Op uitnodiging controleren",
|
||||
"requested": "Verzoek verzonden — een crew-admin keurt het goed.",
|
||||
|
|
|
|||
|
|
@ -308,6 +308,7 @@ const drift = {
|
|||
"create": "Utwórz prywatny czat",
|
||||
"requestJoin": "Poproś o dołączenie",
|
||||
"requestAgain": "Request again",
|
||||
"requestHandled": "Request handled",
|
||||
"cordnWebCaveat": "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
"checkInvite": "Sprawdź zaproszenie",
|
||||
"requested": "Prośba wysłana — administrator crew ją zatwierdzi.",
|
||||
|
|
|
|||
|
|
@ -310,6 +310,7 @@ const drift = {
|
|||
create: "Criar o chat privado",
|
||||
requestJoin: "Pedir para entrar",
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: "Verificar convite",
|
||||
requested: "Solicitação enviada — um admin da crew vai aprovar.",
|
||||
|
|
|
|||
|
|
@ -308,6 +308,7 @@ const drift = {
|
|||
"create": "Creează chatul privat",
|
||||
"requestJoin": "Cere să te alături",
|
||||
"requestAgain": "Request again",
|
||||
"requestHandled": "Request handled",
|
||||
"cordnWebCaveat": "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
"checkInvite": "Verifică invitația",
|
||||
"requested": "Cerere trimisă — un admin de crew o va aproba.",
|
||||
|
|
|
|||
|
|
@ -312,6 +312,7 @@ const drift = {
|
|||
create: "Создать приватный чат",
|
||||
requestJoin: "Попросить присоединиться",
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: "Проверить приглашение",
|
||||
requested: "Запрос отправлен — администратор Crew одобрит его.",
|
||||
|
|
|
|||
|
|
@ -312,6 +312,7 @@ const drift = {
|
|||
create: "Skapa den privata chatten",
|
||||
requestJoin: "Be om att gå med",
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: "Kontrollera inbjudan",
|
||||
requested: "Begäran skickad — en crewadmin godkänner den.",
|
||||
|
|
|
|||
|
|
@ -304,6 +304,7 @@ const driftStrings = {
|
|||
create: 'สร้างแชทส่วนตัว',
|
||||
requestJoin: 'ขอเข้าร่วม',
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: 'ตรวจสอบคำเชิญ',
|
||||
requested: 'ส่งคำขอแล้ว — แอดมิน crew จะอนุมัติ',
|
||||
|
|
|
|||
|
|
@ -304,6 +304,7 @@ const driftStrings = {
|
|||
create: 'Özel sohbeti oluştur',
|
||||
requestJoin: 'Katılmayı iste',
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: 'Davetiye kontrol et',
|
||||
requested: 'İstek gönderildi — bir crew yöneticisi onaylayacak.',
|
||||
|
|
|
|||
|
|
@ -312,6 +312,7 @@ const drift = {
|
|||
create: "Створити приватний чат",
|
||||
requestJoin: "Попросити приєднатися",
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: "Перевірити запрошення",
|
||||
requested: "Запит надіслано — адміністратор команди його схвалить.",
|
||||
|
|
|
|||
|
|
@ -304,6 +304,7 @@ const driftStrings = {
|
|||
create: 'Tạo chat riêng tư',
|
||||
requestJoin: 'Xin tham gia',
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: 'Kiểm tra lời mời',
|
||||
requested: 'Đã gửi yêu cầu — quản trị viên crew sẽ duyệt.',
|
||||
|
|
|
|||
|
|
@ -320,6 +320,7 @@ const drift: Dict = {
|
|||
create: '创建私密聊天',
|
||||
requestJoin: '请求加入',
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: '检查邀请',
|
||||
requested: '请求已发送——Crew 管理员会批准。',
|
||||
|
|
|
|||
|
|
@ -320,6 +320,7 @@ const drift: Dict = {
|
|||
create: '建立私密聊天',
|
||||
requestJoin: '要求加入',
|
||||
requestAgain: "Request again",
|
||||
requestHandled: "Request handled",
|
||||
cordnWebCaveat: "Cordn web may stall after sign-in; the in-app join is more reliable.",
|
||||
checkInvite: '檢查邀請',
|
||||
requested: '要求已送出——Crew 管理員會批准。',
|
||||
|
|
|
|||
Loading…
Reference in a new issue