@@ -16,14 +16,19 @@ class WtrlabParser extends Parser{
1616 async getChapterUrls ( dom ) {
1717 let json = dom . querySelector ( "script#__NEXT_DATA__" ) ?. textContent ;
1818 json = JSON . parse ( json ) ;
19- this . magickey = json . buildId ;
19+ this . magickey = json ? .buildId ;
2020 let leaves = dom . baseURI . split ( "/" ) ;
2121 let language = leaves [ leaves . length - 3 ] ;
2222 let id = leaves [ leaves . length - 2 ] . slice ( 6 ) ;
2323 let slug = leaves [ leaves . length - 1 ] . split ( "?" ) [ 0 ] ;
2424 this . slug = slug ;
2525 let chapters = ( await HttpClient . fetchJson ( "https://wtr-lab.com/api/chapters/" + id ) ) . json ;
2626
27+ let serie_id = chapters . chapters [ 0 ] . serie_id ;
28+
29+ let terms = ( await HttpClient . fetchJson ( "https://wtr-lab.com/api/user/config" ) ) . json ;
30+ this . terms = terms ?. config ?. terms . filter ( a => ( a ?. filter == null ) || ( a ?. filter . includes ( serie_id ) ) ) ;
31+
2732 return chapters . chapters . map ( a => ( {
2833 sourceUrl : "https://wtr-lab.com/" + language + "/serie-" + id + "/" + slug + "/" + a . order ,
2934 title : ( document . getElementById ( "removeChapterNumberCheckbox" ) . checked ) ?a . title :a . order + ": " + a . title
@@ -147,6 +152,9 @@ class WtrlabParser extends Parser{
147152 for ( let i = 0 ; i < json ?. data ?. data ?. glossary_data ?. terms ?. length ?? 0 ; i ++ ) {
148153 let term = json . data . data . glossary_data . terms [ i ] [ 0 ] ?? "※" + i + "⛬" ;
149154 newtext = newtext . replaceAll ( "※" + i + "⛬" , term ) ;
155+ for ( let term of this . terms ) {
156+ newtext = newtext . replaceAll ( term ?. from , term ?. to ) ;
157+ }
150158 }
151159 pnode . textContent = newtext ;
152160 newDoc . content . appendChild ( pnode ) ;
0 commit comments