Hide translate button when no text

This commit is contained in:
the1812 2020-02-05 10:57:26 +08:00
parent 341b11da9c
commit e1e6da1e03
8 changed files with 7 additions and 7 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -80,7 +80,7 @@
"feeds-filter.min.js": "10557E498B8BADA3C1C03E8C1DCD6FB24DBA2DA27A5A03BD861054F7E2989D46",
"feeds-filter-card.vue.min.js": "86697BD2E1FAB99A7C3402192CFDDFF047BCF5826238EBDDFC318A54D3C6229D",
"feeds-translate.min.css": "F2846C8252A7564A28BF8949299E11896C2B46BDA6A88FFB616B1F3F18E07CD8",
"feeds-translate.min.js": "69D53B78FFC5C2E315AE276E7C297064E1BBE349D53AA208B9C3BC45DE2CD7DE",
"feeds-translate.min.js": "A9ABEEF9220F229B502D286A0A322830843A48ECEDDBA863B23EA904A86B275B",
"feeds-translate-providers.min.js": "D938CB5F6437AE4A38C1A9933F530B89168FB4E88DCA2289C46465059CE6473C",
"ffmpeg-support.min.js": "B88C5BFDC1CC582CA25098D6BA47189FF628B7323EF9F90D4CFBC4E946648927",
"fill-with-comments.min.js": "A32B6D4ADFA29C164F9675E07715EAC0A5CFE0BBB346735DD691BDA2D9F338C3",

Binary file not shown.

View File

@ -1 +1 @@
(()=>{return(t,a)=>{(async()=>{if(!document.URL.startsWith("https://t.bilibili.com/")){return}a.applyStyle("feedsTranslateStyle");const{getTranslator:e}=await a.importAsync("feeds-translate-providers");const{feedsCardsManager:r}=await a.importAsync("feeds-apis");const n=await r.startWatching();if(!n){console.error("feedsCardsManager.startWatching() failed");return}const s=Vue.extend({template:`\n<div class="translate-container">\n<div class="translate" v-if="!working && !translated" @click="translate()">翻译</div>\n<i v-if="working" class="translating mdi mdi-18px mdi-loading mdi-spin"></i>\n<div class="translated" v-if="translated">翻译自<a :href="activeTranslator.link" target="_blank">{{activeTranslator.name}}</a>:</div>\n<div v-if="translated" class="translate-result">{{result}}</div>\n</div>\n`,props:{card:{type:Object,required:true}},data(){return{result:"",working:false,activeTranslator:{}}},computed:{translated(){return this.result!==""}},methods:{async translate(){const a=this.card;try{this.working=true;const r=(await a.getText()).replace(/#(.+?)#/g,"");const n=this.activeTranslator=e();this.result=await n.translate(r,{targetLanguage:(()=>{if(t.i18n){return languageNameToCode[t.i18nLanguage]}if(t.feedsTranslateLanguage!==""){return t.feedsTranslateLanguage}return})()})}catch(t){logError(t)}finally{this.working=false}}}});const i=t=>{if(t.text===""){return}const a=t.element.querySelector(".card-content");const e=new s({propsData:{card:_.clone(t)}}).$mount();a.insertAdjacentElement("beforeend",e.$el)};r.cards.forEach(i);r.addEventListener("addCard",t=>{i(t.detail)})})()}})();
(()=>{return(t,a)=>{(async()=>{if(!document.URL.startsWith("https://t.bilibili.com/")){return}a.applyStyle("feedsTranslateStyle");const{getTranslator:e}=await a.importAsync("feeds-translate-providers");const{feedsCardsManager:r}=await a.importAsync("feeds-apis");const n=await r.startWatching();if(!n){console.error("feedsCardsManager.startWatching() failed");return}const s=Vue.extend({template:`\n<div class="translate-container">\n<div class="translate" v-if="!working && !translated" @click="translate()">翻译</div>\n<i v-if="working" class="translating mdi mdi-18px mdi-loading mdi-spin"></i>\n<div class="translated" v-if="translated">翻译自<a :href="activeTranslator.link" target="_blank">{{activeTranslator.name}}</a>:</div>\n<div v-if="translated" class="translate-result">{{result}}</div>\n</div>\n`,props:{card:{type:Object,required:true}},data(){return{result:"",working:false,activeTranslator:{}}},computed:{translated(){return this.result!==""}},methods:{async translate(){const a=this.card;try{this.working=true;const r=(await a.getText()).replace(/#(.+?)#/g,"");const n=this.activeTranslator=e();this.result=await n.translate(r,{targetLanguage:(()=>{if(t.i18n){return languageNameToCode[t.i18nLanguage]}if(t.feedsTranslateLanguage!==""){return t.feedsTranslateLanguage}return})()})}catch(t){logError(t)}finally{this.working=false}}}});const i=t=>{if(t.text.replace(/#(.+?)#/g,"")===""){return}const a=t.element.querySelector(".card-content");const e=new s({propsData:{card:_.clone(t)}}).$mount();a.insertAdjacentElement("beforeend",e.$el)};r.cards.forEach(i);r.addEventListener("addCard",t=>{i(t.detail)})})()}})();

View File

@ -66,7 +66,7 @@ import { FeedsCard } from '../feeds-apis'
},
})
const injectButton = (card: FeedsCard) => {
if (card.text === '') {
if (card.text.replace(/#(.+?)#/g, '') === '') {
return
}
const cardContent = card.element.querySelector('.card-content') as HTMLElement