/*
 * Copyright (c) 2020 WildFireChat. All rights reserved.
 */

import MessageContentMediaType from "./messageContentMediaType";
import MediaMessageContent from "./mediaMessageContent";
import MessageContentType from "./messageContentType";

import wfc from "../client/wfc";

export default class StickerMessageContent extends MediaMessageContent {
  width = 200;
  height = 200;

  constructor(filerOrLocalPath, remotePath, width, height) {
    super(MessageContentType.Sticker, MessageContentMediaType.Sticker, filerOrLocalPath, remotePath);
    this.width = width;
    this.height = height;
  }

  digest() {
    return "[表情]";
  }

  encode() {
    let payload = super.encode();
    payload.mediaType = MessageContentMediaType.File;
    let obj = {
      x: this.width,
      y: this.height,
    };
    payload.binaryContent = wfc.utf8_to_b64(JSON.stringify(obj));
    return payload;
  }

  decode(payload) {
    super.decode(payload);
    let obj = JSON.parse(wfc.b64_to_utf8(payload.binaryContent));
    this.width = obj.x;
    this.height = obj.y;
  }
}
