mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-30 13:56:09 +01:00
8419897fba
Backport https://github.com/go-gitea/gitea/pull/27501 to 1.21 - Update all JS and PY dependencies - Enable eslint `prefer-object-has-own` and autofix issue - Fix styling on citation buttons - Tested citation, mermaid, monaco, swagger, katex Citation button issue was that these buttons were not filled: <img width="136" alt="Screenshot 2023-10-07 at 14 05 08" src="https://github.com/go-gitea/gitea/assets/115237/435f0c91-28ac-46b3-bae4-dad768b29c05"> Co-authored-by: techknowlogick <techknowlogick@gitea.com> Co-authored-by: Giteabot <teabot@gitea.io>
39 lines
969 B
JavaScript
39 lines
969 B
JavaScript
import emojis from '../../../assets/emoji.json';
|
|
|
|
const {assetUrlPrefix, customEmojis} = window.config;
|
|
|
|
const tempMap = {...customEmojis};
|
|
for (const {emoji, aliases} of emojis) {
|
|
for (const alias of aliases || []) {
|
|
tempMap[alias] = emoji;
|
|
}
|
|
}
|
|
|
|
export const emojiKeys = Object.keys(tempMap).sort((a, b) => {
|
|
if (a === '+1' || a === '-1') return -1;
|
|
if (b === '+1' || b === '-1') return 1;
|
|
return a.localeCompare(b);
|
|
});
|
|
|
|
const emojiMap = {};
|
|
for (const key of emojiKeys) {
|
|
emojiMap[key] = tempMap[key];
|
|
}
|
|
|
|
// retrieve HTML for given emoji name
|
|
export function emojiHTML(name) {
|
|
let inner;
|
|
if (Object.hasOwn(customEmojis, name)) {
|
|
inner = `<img alt=":${name}:" src="${assetUrlPrefix}/img/emoji/${name}.png">`;
|
|
} else {
|
|
inner = emojiString(name);
|
|
}
|
|
|
|
return `<span class="emoji" title=":${name}:">${inner}</span>`;
|
|
}
|
|
|
|
// retrieve string for given emoji name
|
|
export function emojiString(name) {
|
|
return emojiMap[name] || `:${name}:`;
|
|
}
|