1- import config from "../config.js" ;
21import { allScripts } from "../scripts/index.js" ;
2+ import { checkForUpdate } from "./helpers/checkForUpdate.js" ;
3+ import { getFlag , t , toggleLang } from "./helpers/lang.js" ;
4+ import { runScriptInCurrentTab } from "./helpers/utils.js" ;
5+ import { checkBlackWhiteList } from "./helpers/scriptHelpers.js" ;
6+ import { openModal } from "./helpers/modal.js" ;
7+ import {
8+ activeTabIdSaver ,
9+ favoriteScriptsSaver ,
10+ recentScriptsSaver ,
11+ } from "./helpers/storage.js" ;
312import {
413 isFunc ,
514 isLink ,
@@ -8,19 +17,10 @@ import {
817 specialTabs ,
918 tabs ,
1019} from "./tabs.js" ;
11- import { getFlag , t , toggleLang } from "./helpers/lang.js" ;
12- import { checkBlackWhiteList , runScriptInCurrentTab } from "./helpers/utils.js" ;
13- import {
14- activeTabIdSaver ,
15- favoriteScriptsSaver ,
16- recentScriptsSaver ,
17- } from "./helpers/storage.js" ;
1820
1921const tabDiv = document . querySelector ( "div.tab" ) ;
2022const contentDiv = document . querySelector ( "div.content" ) ;
2123const flagImg = document . querySelector ( "img#flag" ) ;
22- const versionSpan = document . querySelector ( "#version" ) ;
23- const updateBtn = document . querySelector ( "#update-btn" ) ;
2424
2525async function initLanguage ( ) {
2626 flagImg . setAttribute ( "src" , getFlag ( ) ) ;
@@ -187,19 +187,36 @@ function createScriptButton(script, isFavorite = false) {
187187 title . innerHTML = t ( script . name ) ;
188188 button . appendChild ( title ) ;
189189
190- // add to favorite button
191190 if ( isFunc ( script ) ) {
191+ // add to favorite button
192192 const addFavoriteBtn = document . createElement ( "i" ) ;
193+ addFavoriteBtn . title = t ( {
194+ en : "Add to farovite" ,
195+ vi : "Thêm vào yêu thích" ,
196+ } ) ;
193197 addFavoriteBtn . className = isFavorite
194198 ? "fa-solid fa-star star active"
195199 : "fa-regular fa-star star" ;
196200 addFavoriteBtn . onclick = ( e ) => {
197201 e . stopPropagation ( ) ;
198202 e . preventDefault ( ) ;
199-
200203 favoriteScriptsSaver . toggle ( script ) . then ( createTabs ) ;
201204 } ;
202205 button . appendChild ( addFavoriteBtn ) ;
206+
207+ // view source button
208+ const viewSourceBtn = document . createElement ( "i" ) ;
209+ viewSourceBtn . title = t ( {
210+ en : "View script source" ,
211+ vi : "Xem mã nguồn" ,
212+ } ) ;
213+ viewSourceBtn . className = "fa-solid fa-code view-source" ;
214+ viewSourceBtn . onclick = ( e ) => {
215+ e . stopPropagation ( ) ;
216+ e . preventDefault ( ) ;
217+ openModal ( t ( script . name ) , `<pre>${ script . func ?. toString ( ) } </pre>` ) ;
218+ } ;
219+ button . appendChild ( viewSourceBtn ) ;
203220 }
204221
205222 // tooltip
@@ -216,31 +233,22 @@ async function runScript(script) {
216233 if ( willRun ) {
217234 recentScriptsSaver . add ( script ) ;
218235 runScriptInCurrentTab ( script . func ) ;
219- }
220- }
221-
222- async function checkForUpdate ( ) {
223- try {
224- const currentVer = ( await chrome . runtime . getManifest ( ) ) . version ;
225- versionSpan . innerHTML = "v" + currentVer ;
226-
227- const { version_check, source_code } = config ;
228- const lastestVer = ( await ( await fetch ( version_check ) ) . json ( ) ) . version ;
229- if ( lastestVer > currentVer ) {
230- updateBtn . style . display = "inline-block" ;
231- updateBtn . innerHTML = t ( {
232- vi : "cập nhật v" + lastestVer ,
233- en : "update v" + lastestVer ,
234- } ) ;
235- updateBtn . onclick = ( ) => {
236- window . open ( source_code ) ;
237- } ;
238- } else {
239- updateBtn . style . display = "none" ;
240- versionSpan . innerHTML += t ( { vi : " (mới nhất)" , en : " (lastest)" } ) ;
241- }
242- } catch ( e ) {
243- console . warn ( "Check for update failed" , e ) ;
236+ } else {
237+ const { whiteList : w , blackList : b } = script ;
238+ openModal (
239+ t ( {
240+ en : `Script not supported in current website` ,
241+ vi : `Script không hỗ trợ website hiện tại` ,
242+ } ) ,
243+ t ( {
244+ en :
245+ `${ w ?. length ? `+ Only run at: ${ w ?. join ( ", " ) } ` : "" } \n` +
246+ `${ b ?. length ? `+ Not run at: ${ b ?. join ( ", " ) } ` : "" } ` ,
247+ vi :
248+ `${ w ?. length ? `+ Chỉ chạy tại: ${ w ?. join ( ", " ) } ` : "" } \n` +
249+ `${ b ?. length ? `+ Không chạy tại: ${ b ?. join ( ", " ) } ` : "" } ` ,
250+ } )
251+ ) ;
244252 }
245253}
246254
0 commit comments