1
1
// ==UserScript==
2
2
// @name Web Script Lain
3
3
// @namespace http://cyle.xyz
4
- // @version 1.14
4
+ // @version 1.15
5
5
// @description Make me sad. Make me mad. Make me feel alright?
6
6
// @author Cyle
7
7
// @match https://3d.laingame.net/
@@ -15,7 +15,7 @@ GM_addStyle ( "#subtitle { font-family: Nanum Gothic; font-size: 28px !important
15
15
const vttLink = 'https://raw.githubusercontent.com/CyleAR/web-script-lain/master/Translations/' ;
16
16
const clareLink = 'https://raw.githubusercontent.com/nvfclaire/translain/master/Translations/'
17
17
const flagLink = 'https://raw.githubusercontent.com/CyleAR/web-script-lain/master/miscs/' ;
18
- const languages = new Map ( [
18
+ const locales = new Map ( [
19
19
[ 'Korean' , 'ko' ] ,
20
20
[ 'French' , 'fr' ] ,
21
21
[ 'English' , 'en' ] ,
@@ -63,7 +63,7 @@ function waitTrackSrc()
63
63
}
64
64
65
65
function addButtons ( div ) {
66
- languages . forEach ( ( value , key ) => {
66
+ locales . forEach ( ( value , key ) => {
67
67
let button = document . createElement ( 'button' ) ;
68
68
let addButtons = ( ) => {
69
69
button . id = value ;
@@ -92,7 +92,7 @@ function currentLangScanner(){ //key : Korean, value : ko
92
92
let target = document . querySelector ( '#' + currentLang ) ;
93
93
target . style . background = 'white' ;
94
94
setInterval ( ( ) => {
95
- languages . forEach ( ( value , key ) => {
95
+ locales . forEach ( ( value , key ) => {
96
96
let target = document . querySelector ( '#' + value ) ;
97
97
if ( value !== currentLang ) {
98
98
target . style . background = 'none' ;
@@ -101,20 +101,29 @@ function currentLangScanner(){ //key : Korean, value : ko
101
101
} , 500 )
102
102
}
103
103
104
- function createUI ( ) {
104
+ function createUI ( ) { // Add new UI div for locale buttons
105
105
let langDiv = document . createElement ( 'div' ) ;
106
106
let addDiv = ( ) => {
107
- langDiv . className = 'languages ' ;
107
+ langDiv . className = 'locales ' ;
108
108
langDiv . style . height = '48px' ;
109
109
langDiv . style . width = '800px'
110
- langDiv . style . marginTop = '-48px' ;
110
+ }
111
+ let tweakRootDiv = ( ) => {
112
+ let target = document . querySelector ( '#root' ) ;
113
+ target . style . transform = 'translate(-50%, -50%)' ;
114
+ target . style . position = 'absolute' ;
115
+ target . style . top = '50%' ;
116
+ target . style . left = '50%'
117
+ target . prepend ( langDiv ) ;
111
118
}
112
119
let UIScanner = setInterval ( ( ) => {
113
120
let target = document . querySelector ( '#root > div.game' ) ;
114
121
if ( target ) {
115
- target . style . overflow = 'clip visible' ;
116
122
clearInterval ( UIScanner ) ;
117
- target . prepend ( langDiv ) ;
123
+ target . style . position = 'initial' ;
124
+ target . style . webkitTransform = 'translate(0)' ;
125
+ target . style . transform = 'translate(0)' ;
126
+ tweakRootDiv ( ) ;
118
127
addDiv ( ) ;
119
128
addButtons ( langDiv ) ;
120
129
currentLangScanner ( ) ;
0 commit comments