It's ALIIIIIIIVEEEE!

This commit is contained in:
Nischay
2024-04-29 20:17:07 +05:30
parent 0897ce6c20
commit 64b7b1507f

View File

@@ -14,31 +14,41 @@
// You should have received a copy of the GNU Affero General Public License // You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>. // along with this program. If not, see <https://www.gnu.org/licenses/>.
const widgetId = null; // if you know the widget ID, supply it. const urlParams = new URLSearchParams(window.location.search);
const api = new mxwidgets.WidgetApi(widgetId); const widgetId = urlParams.get('widgetId'); // if you know the widget ID, supply it.
console.log("Widget ID:"+widgetId);
const api = new mxwidgets.WidgetApi(widgetId, '*');
// Before doing anything else, request capabilities: // Before doing anything else, request capabilities:
api.requestCapabilities(mxwidgets.StickerpickerCapabilities); api.requestCapabilities(mxwidgets.StickerpickerCapabilities);
api.requestCapability(mxwidgets.MatrixCapabilities.MSC4039UploadFile); api.requestCapability(mxwidgets.MatrixCapabilities.MSC4039UploadFile);
api.on("ready", () => {console.log("ready event received")});
// Start the messaging // Start the messaging
api.start(); api.start();
// If waitForIframeLoad is false, tell the client that we're good to go // If waitForIframeLoad is false, tell the client that we're good to go
api.sendContentLoaded(); //api.sendContentLoaded();
export function sendSticker(content){ export function sendSticker(content){
api.sendSticker(content); const data = {
content: {...content},
name: content.body,
};
// do the same thing that tulir does
delete data.content.id;
// send data
api.sendSticker(data);
} }
export function sendGIF(url){ export function sendGIF(content){
// just print out content, should be URL // just print out content, should be URL
console.log("Content:"+url.url); console.log("Content:"+content.url);
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest(); const xhr = new XMLHttpRequest();
xhr.open('GET', url.url, true); xhr.open('GET', content.url, true);
xhr.onreadystatechange = function() { xhr.onreadystatechange = function() {
if (xhr.readyState === 4) { if (xhr.readyState === 4) {
if (xhr.status === 200) { if (xhr.status === 200) {
@@ -46,7 +56,10 @@ export function sendGIF(url){
// Call uploadFile with response data // Call uploadFile with response data
api.uploadFile(responseData) api.uploadFile(responseData)
.then(result => { .then(result => {
console.log("Here's the result:"+result); console.log("Here's the result:"+result.content_uri);
// mess around with the content object, then send it as sticker
content.url = result.content_uri;
sendSticker(content);
resolve(result); resolve(result);
}) })
.catch(error => { .catch(error => {