From: Ajay Bura <32841439+ajbura@users.noreply.github.com>
Date: Sat, 6 Aug 2022 03:34:23 +0000 (+0530)
Subject: Custom emoji & Sticker support (#686)
X-Git-Tag: v2.1.0~9
X-Git-Url: https://git.wafflesoft.org/?a=commitdiff_plain;h=edace3221384fa1d254d3d92d444177eb1813227;p=cinny.git
Custom emoji & Sticker support (#686)
* Remove comments
* Show custom emoji first in suggestions
* Show global image packs in emoji picker
* Display emoji and sticker in room settings
* Fix some pack not visible in emojiboard
* WIP
* Add/delete/rename images to exisitng packs
* Change pack avatar, name & attribution
* Add checkbox to make pack global
* Bug fix
* Create or delete pack
* Add personal emoji in settings
* Show global pack selector in settings
* Show space emoji in emojiboard
* Send custom emoji reaction as mxc
* Render stickers as stickers
* Fix sticker jump bug
* Fix reaction width
* Fix stretched custom emoji
* Fix sending space emoji in message
* Remove unnessesary comments
* Send user pills
* Fix pill generating regex
* Add support for sending stickers
---
diff --git a/public/res/ic/outlined/sticker.svg b/public/res/ic/outlined/sticker.svg
new file mode 100644
index 0000000..bc486e5
--- /dev/null
+++ b/public/res/ic/outlined/sticker.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/app/atoms/button/Button.scss b/src/app/atoms/button/Button.scss
index 7b12195..e1a01bb 100644
--- a/src/app/atoms/button/Button.scss
+++ b/src/app/atoms/button/Button.scss
@@ -26,10 +26,10 @@
&--icon {
@include dir.side(padding, var(--sp-tight), var(--sp-loose));
- .ic-raw {
- @include dir.side(margin, 0, var(--sp-extra-tight));
- flex-shrink: 0;
- }
+ }
+ .ic-raw {
+ @include dir.side(margin, 0, var(--sp-extra-tight));
+ flex-shrink: 0;
}
}
diff --git a/src/app/molecules/image-pack/ImagePack.jsx b/src/app/molecules/image-pack/ImagePack.jsx
new file mode 100644
index 0000000..725291d
--- /dev/null
+++ b/src/app/molecules/image-pack/ImagePack.jsx
@@ -0,0 +1,469 @@
+import React, {
+ useState, useMemo, useReducer, useEffect,
+} from 'react';
+import PropTypes from 'prop-types';
+import './ImagePack.scss';
+
+import initMatrix from '../../../client/initMatrix';
+import { openReusableDialog } from '../../../client/action/navigation';
+import { suffixRename } from '../../../util/common';
+
+import Button from '../../atoms/button/Button';
+import Text from '../../atoms/text/Text';
+import Input from '../../atoms/input/Input';
+import Checkbox from '../../atoms/button/Checkbox';
+import { MenuHeader } from '../../atoms/context-menu/ContextMenu';
+
+import { ImagePack as ImagePackBuilder } from '../../organisms/emoji-board/custom-emoji';
+import { confirmDialog } from '../confirm-dialog/ConfirmDialog';
+import ImagePackProfile from './ImagePackProfile';
+import ImagePackItem from './ImagePackItem';
+import ImagePackUpload from './ImagePackUpload';
+
+const renameImagePackItem = (shortcode) => new Promise((resolve) => {
+ let isCompleted = false;
+
+ openReusableDialog(
+