From 6fda759d4ebca0b95e92e82af1fa5810403dc292 Mon Sep 17 00:00:00 2001 From: undefined Date: Mon, 2 Jan 2023 16:48:13 +0800 Subject: [PATCH] ui: fix qface id mapping --- .../components/monaco/languages/markdown.ts | 169 ++---------------- packages/ui-default/package.json | 1 + 2 files changed, 12 insertions(+), 158 deletions(-) diff --git a/packages/ui-default/components/monaco/languages/markdown.ts b/packages/ui-default/components/monaco/languages/markdown.ts index f6f6901f8..bda6e4291 100644 --- a/packages/ui-default/components/monaco/languages/markdown.ts +++ b/packages/ui-default/components/monaco/languages/markdown.ts @@ -1,159 +1,9 @@ import keyword from 'emojis-keywords'; import list from 'emojis-list'; import * as monaco from 'monaco-editor/esm/vs/editor/editor.api'; +import qface from 'qface'; import { api, gql } from 'vj/utils'; -const qqEmojies = [ - 'weixiao', - 'piezui', - 'se', - 'fadai', - 'deyi', - 'liulei', - 'haixiu', - 'bizui', - 'shui', - 'daku', - 'ganga', - 'fanu', - 'tiaopi', - 'ciya', - 'jingya', - 'nanguo', - 'ku', - 'lenghan', - 'zhuakuang', - 'tu', - 'touxiao', - 'keai', - 'baiyan', - 'aoman', - 'jie', - 'kun', - 'jingkong', - 'liuhan', - 'hanxiao', - 'dabing', - 'fendou', - 'zhouma', - 'yiwen', - 'xu', - 'yun', - 'zhemo', - 'shuai', - 'kulou', - 'qiaoda', - 'zaijian', - 'cahan', - 'koubi', - 'guzhang', - 'qiudale', - 'huaixiao', - 'zuohengheng', - 'youhengheng', - 'haqian', - 'bishi', - 'weiqu', - 'kuaikule', - 'yinxian', - 'qinqin', - 'xia', - 'kelian', - 'caidao', - 'xigua', - 'pijiu', - 'lanqiu', - 'pingpang', - 'kafei', - 'fan', - 'zhutou', - 'meigui', - 'diaoxie', - 'shiai', - 'aixin', - 'xinsui', - 'dangao', - 'shandian', - 'zhadan', - 'dao', - 'zuqiu', - 'piaochong', - 'bianbian', - 'yueliang', - 'taiyang', - 'liwu', - 'yongbao', - 'qiang', - 'ruo', - 'woshou', - 'shengli', - 'baoquan', - 'gouyin', - 'quantou', - 'chajin', - 'aini', - 'NO', - 'OK', - 'aiqing', - 'feiwen', - 'tiaotiao', - 'fadou', - 'ouhuo', - 'zhuanquan', - 'ketou', - 'huitou', - 'tiaosheng', - 'huishou', - 'jidong', - 'jiewu', - 'xianwen', - 'zuotaiji', - 'youtaiji', - 'shuangxi', - 'bianpao', - 'denglong', - 'facai', - 'Kge', - 'gouwu', - 'youjian', - 'shuai', - 'hecai', - 'qidao', - 'baojin', - 'bangbangtang', - 'henai', - 'xiamian', - 'xiangjiao', - 'feiji', - 'kaiche', - 'zuochetou', - 'chexiang', - 'youchetou', - 'duoyun', - 'xiayu', - 'chaopiao', - 'xiongmao', - 'dengpao', - 'fengche', - 'naozhong', - 'dasan', - 'caiqiu', - 'zuanjie', - 'shafa', - 'zhijin', - 'yao', - 'shouqiang', - 'qingwa', -]; -const idMap = [ - 14, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 50, 51, 96, 53, 54, 73, 74, 75, 76, 77, 78, 55, 56, - 57, 58, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 32, 113, 114, 115, 63, 64, 59, 33, 34, 116, 36, 37, 38, 91, 92, 93, 29, 117, 72, 45, - 42, 39, 62, 46, 47, 71, 95, 118, 119, 120, 121, 122, 123, 124, 27, 21, 23, 25, 26, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, -]; - function emoji(range) { return keyword.map((i, index) => ({ label: `${list[index]} ${i}`, @@ -165,13 +15,16 @@ function emoji(range) { } function qqEmoji(range) { - return qqEmojies.map((i, index) => ({ - label: `/${i}`, - kind: monaco.languages.CompletionItemKind.Keyword, - documentation: { value: `![${i}](https://qq-face.vercel.app/gif/s${idMap[index]}.gif)`, isTrusted: true }, - insertText: `![${i}](https://qq-face.vercel.app/gif/s${idMap[index]}.gif =32x32) `, - range, - })); + return qface.data.flatMap((i) => { + const url = qface.getUrl(i.QSid, 'https://qq-face.vercel.app'); + return i.Input.map((input) => ({ + label: `/${input}`, + kind: monaco.languages.CompletionItemKind.Keyword, + documentation: { value: `![${i.QDes}](${url})`, isTrusted: true }, + insertText: `![${i.Input[0]}](${url} =32x32) `, + range, + })); + }); } monaco.editor.registerCommand('hydro.openUserPage', (accesser, uid) => { diff --git a/packages/ui-default/package.json b/packages/ui-default/package.json index 5b88d426f..9ce6c321d 100644 --- a/packages/ui-default/package.json +++ b/packages/ui-default/package.json @@ -74,6 +74,7 @@ "prism-themes": "^1.9.0", "prismjs": "^1.29.0", "prop-types": "^15.8.1", + "qface": "^1.3.0", "qrcode": "^1.5.1", "queue-microtask": "^1.2.3", "react": "^18.2.0",