mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-16 22:50:13 +01:00
Merge 3204c78138 into 7217c66636
This commit is contained in:
commit
77a77ecbfe
2 changed files with 29 additions and 7 deletions
|
|
@ -8,7 +8,7 @@ import {Constants} from "../constants";
|
|||
import * as path from "path";
|
||||
/// #endif
|
||||
import {getFrontend, isBrowser} from "../util/functions";
|
||||
import {setStorageVal} from "../protyle/util/compatibility";
|
||||
import {setStorageVal, writeText} from "../protyle/util/compatibility";
|
||||
import {hasClosestByAttribute, hasClosestByClassName} from "../protyle/util/hasClosest";
|
||||
import {Plugin} from "../plugin";
|
||||
import {App} from "../index";
|
||||
|
|
@ -230,6 +230,17 @@ export const bazaar = {
|
|||
<div id="configBazaarReadme" class="config-bazaar__readme"></div>
|
||||
</div>`;
|
||||
},
|
||||
_genFundingHTML(funding: string): string {
|
||||
if (!funding) {
|
||||
return "";
|
||||
}
|
||||
const isLink = funding.startsWith("http://") || funding.startsWith("https://");
|
||||
if (isLink) {
|
||||
return `<a target="_blank" href="${escapeAttr(funding)}" class="block__icon block__icon--show ariaLabel" aria-label="${window.siyuan.languages.sponsor} ${escapeAttr(funding)}"><svg class="ft__pink"><use xlink:href="#iconHeart"></use></svg></a>`;
|
||||
} else {
|
||||
return `<span data-type="copy-funding" data-funding="${escapeAttr(funding)}" class="block__icon block__icon--show ariaLabel" aria-label="${window.siyuan.languages.sponsor} ${escapeAttr(funding)}"><svg class="ft__pink"><use xlink:href="#iconHeart"></use></svg></span>`;
|
||||
}
|
||||
},
|
||||
_genCardHTML(item: IBazaarItem, bazaarType: TBazaarType) {
|
||||
let hide = false;
|
||||
let themeMode = "";
|
||||
|
|
@ -273,7 +284,7 @@ export const bazaar = {
|
|||
${item.downloads}
|
||||
</span>
|
||||
<span class="fn__space"></span>
|
||||
${item.preferredFunding ? `<a target="_blank" href="${item.preferredFunding}" class="block__icon block__icon--show ariaLabel" aria-label="${window.siyuan.languages.sponsor} ${item.preferredFunding}"><svg class="ft__pink"><use xlink:href="#iconHeart"></use></svg></a><span class="fn__space"></span>` : ""}
|
||||
${item.preferredFunding ? `${bazaar._genFundingHTML(item.preferredFunding)}<span class="fn__space"></span>` : ""}
|
||||
<div class="fn__flex-1"></div>
|
||||
<span class="b3-tooltips b3-tooltips__nw block__icon block__icon--show${item.installed ? "" : " fn__none"}" data-type="uninstall" aria-label="${window.siyuan.languages.uninstall}">
|
||||
<svg><use xlink:href="#iconTrashcan"></use></svg>
|
||||
|
|
@ -310,7 +321,7 @@ export const bazaar = {
|
|||
</div>
|
||||
<div class="b3-card__actions b3-card__actions--right">
|
||||
${item.incompatible ? `<span class="fn__space"></span><span class="fn__flex-center b3-tooltips b3-tooltips__nw b3-chip b3-chip--error b3-chip--small" aria-label="${window.siyuan.languages.incompatiblePluginTip}">${window.siyuan.languages.incompatible}</span>` : ""}
|
||||
${item.preferredFunding ? `<a target="_blank" href="${item.preferredFunding}" class="block__icon block__icon--show ariaLabel" aria-label="${window.siyuan.languages.sponsor} ${item.preferredFunding}"><svg class="ft__pink"><use xlink:href="#iconHeart"></use></svg></a>` : ""}
|
||||
${item.preferredFunding ? bazaar._genFundingHTML(item.preferredFunding) : ""}
|
||||
<span class="b3-tooltips b3-tooltips__nw block__icon block__icon--show${isBrowser() ? " fn__none" : ""}" data-type="open" aria-label="${window.siyuan.languages.showInFolder}">
|
||||
<svg><use xlink:href="#iconFolder"></use></svg>
|
||||
</span>
|
||||
|
|
@ -419,7 +430,7 @@ export const bazaar = {
|
|||
</div>
|
||||
<div class="b3-card__actions b3-card__actions--right">
|
||||
${item.incompatible ? `<span class="fn__space"></span><span class="fn__flex-center b3-tooltips b3-tooltips__nw b3-chip b3-chip--error b3-chip--small" aria-label="${window.siyuan.languages.incompatiblePluginTip}">${window.siyuan.languages.incompatible}</span>` : ""}
|
||||
${item.preferredFunding ? `<a target="_blank" href="${item.preferredFunding}" class="block__icon block__icon--show ariaLabel" aria-label="${window.siyuan.languages.sponsor} ${item.preferredFunding}"><svg class="ft__pink"><use xlink:href="#iconHeart"></use></svg></a>` : ""}
|
||||
${item.preferredFunding ? bazaar._genFundingHTML(item.preferredFunding) : ""}
|
||||
<span class="b3-tooltips b3-tooltips__nw block__icon block__icon--show${hasSetting ? "" : " fn__none"}" data-type="setting" aria-label="${window.siyuan.languages.config}">
|
||||
<svg><use xlink:href="#iconSettings"></use></svg>
|
||||
</span>
|
||||
|
|
@ -508,8 +519,8 @@ export const bazaar = {
|
|||
<div class="block__icons">
|
||||
<span class="fn__flex-1"></span>
|
||||
${data.preferredFunding ?
|
||||
`<a target="_blank" href="${data.preferredFunding}" class="block__icon block__icon--show ariaLabel" aria-label="${window.siyuan.languages.sponsor} ${data.preferredFunding}"><svg class="ft__pink"><use xlink:href="#iconHeart"></use></svg></a>` :
|
||||
`<span class="b3-tooltips b3-tooltips__ne block__icon block__icon--show ft__primary" aria-label="${window.siyuan.languages.author}"><svg><use xlink:href="#iconAccount"></use></svg></span>`
|
||||
bazaar._genFundingHTML(data.preferredFunding) :
|
||||
`<span class="b3-tooltips b3-tooltips__ne block__icon block__icon--show ft__primary" aria-label="${window.siyuan.languages.author}" style="cursor: default;"><svg><use xlink:href="#iconAccount"></use></svg></span>`
|
||||
}
|
||||
<span class="fn__space"></span>
|
||||
<a href="${urls.join("/")}" target="_blank" title="Creator">${data.author}</a>
|
||||
|
|
@ -618,6 +629,17 @@ export const bazaar = {
|
|||
const type = target.getAttribute("data-type");
|
||||
if (target.tagName === "A") {
|
||||
break;
|
||||
}
|
||||
const copyFundingElement = hasClosestByAttribute(target, "data-type", "copy-funding");
|
||||
if (copyFundingElement) {
|
||||
const funding = copyFundingElement.getAttribute("data-funding");
|
||||
if (funding) {
|
||||
writeText(funding);
|
||||
showMessage(window.siyuan.languages.copied);
|
||||
}
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
break;
|
||||
} else if (type === "open" && dataObj) {
|
||||
/// #if !BROWSER
|
||||
const dirName = dataObj.bazaarType;
|
||||
|
|
|
|||
|
|
@ -238,7 +238,7 @@ export const writeText = (text: string) => {
|
|||
|
||||
export const copyPlainText = async (text: string) => {
|
||||
text = text.replace(new RegExp(Constants.ZWSP, "g"), ""); // `复制纯文本` 时移除所有零宽空格 https://github.com/siyuan-note/siyuan/issues/6674
|
||||
await writeText(text);
|
||||
writeText(text);
|
||||
};
|
||||
|
||||
// 用户 iPhone 点击延迟/需要双击的处理
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue