const Translate = { transmit: async ( sourceText, translateOptions, { username, password, }, ) => { const params = []; if (username) { params.push(`username=${encodeURIComponent(username)}`); } if (password) { params.push(`password=${encodeURIComponent(password)}`); } if (sourceText) { params.push(`text=${sourceText}`); } try { const serverResponse = await fetch( `/t.php?t=${translateOptions}`, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: params.join('&'), }, ); if (!serverResponse.ok) { if (serverResponse.status === 403) { throw new Error('Nevažeći kredencijali. Molimo da se odjavite (vidi gore desno Odjava), i prijavite s važećim kredencijalima'); } else { throw new Error('Greška pri prevođenju. Molimo da osvežite stranicu, proverite internet konekciju itd.'); } } return { translation: await serverResponse.text(), }; } catch (e) { return { error: e.message, }; } }, };