@@ -7,6 +7,8 @@ const buttonExtensibleContainer = document.getElementById('button-container-exte
7
7
const buttonTimeContainer = document . getElementById ( 'button-container-time' )
8
8
const buttonClose = document . getElementById ( 'stop-code' )
9
9
const buttonWiki = document . getElementById ( 'button-wiki' )
10
+ const leftButtons = document . getElementById ( 'left-button' )
11
+ const textVersion = document . getElementById ( 'span-version' )
10
12
const languageSelector = document . getElementById ( 'language-selector' )
11
13
const switchTheme = document . getElementById ( 'switch-theme' )
12
14
const titleCrono = document . getElementById ( 'crono-title' )
@@ -36,10 +38,23 @@ socket.addEventListener('message', (event) => {
36
38
translateElements = message . translateElements
37
39
38
40
// Configuration and translation
39
- switchTheme . checked = message . config . themedark
41
+ switchTheme . checked = message . config . themeDark
40
42
buttonClose . title = translateElements . home . close
43
+ textVersion . textContent = message . config . version
44
+ if ( message . config . version !== 'Error' && message . config . versionRelease !== 'Error' && compareVersions ( message . config . version , message . config . versionRelease ) === 1 ) {
45
+ const link = document . createElement ( 'a' )
46
+ link . href = 'https://github.com/BrowserSourcesForOBS/obs-timer-controller/releases/latest'
47
+ link . target = '_blank'
48
+ link . id = 'link-newVersion'
49
+ const button = document . createElement ( 'button' )
50
+ button . className = 'button-versionRelease'
51
+ button . title = translateElements . home . newVersionTitle
52
+ button . textContent = translateElements . home . newVersion + message . config . versionRelease
53
+ link . appendChild ( button )
54
+ leftButtons . appendChild ( link )
55
+ }
41
56
buttonWiki . title = translateElements . home . wiki
42
- if ( message . config . themedark ) {
57
+ if ( message . config . themeDark ) {
43
58
document . body . classList . remove ( 'light-theme' )
44
59
document . body . classList . add ( 'dark-theme' )
45
60
} else {
@@ -96,7 +111,7 @@ buttonClose.addEventListener('click', () => {
96
111
} )
97
112
98
113
switchTheme . addEventListener ( 'change' , ( ) => {
99
- socket . send ( JSON . stringify ( { action : 'themeChange' , themedark : switchTheme . checked } ) )
114
+ socket . send ( JSON . stringify ( { action : 'themeChange' , themeDark : switchTheme . checked } ) )
100
115
} )
101
116
102
117
languageSelector . addEventListener ( 'change' , ( ) => {
@@ -291,3 +306,15 @@ function showNotification (message, button) {
291
306
notification . remove ( )
292
307
} , 2000 )
293
308
}
309
+
310
+ function compareVersions ( versionA , versionB ) {
311
+ const a = versionA . split ( 'v' ) [ 1 ] . split ( '.' ) . map ( Number )
312
+ const b = versionB . split ( 'v' ) [ 1 ] . split ( '.' ) . map ( Number )
313
+
314
+ for ( let i = 0 ; i < 3 ; i ++ ) {
315
+ if ( a [ i ] < b [ i ] ) return 1 // B es más moderna que A
316
+ if ( a [ i ] > b [ i ] ) return - 1 // B es más antigua que A
317
+ }
318
+
319
+ return 0 // Son la misma versión
320
+ }
0 commit comments