@@ -3,6 +3,11 @@ const stateButton = document.getElementById('state_button')
33const themeButton = document . getElementById ( 'theme_button' )
44const settingsButton = document . getElementById ( 'settings_button' )
55
6+ // Editor Actions
7+ const editorType = document . getElementById ( 'editor_type' )
8+ const editorCSS = document . getElementById ( 'editor_css' )
9+ const editorJS = document . getElementById ( 'editor_js' )
10+
611// Snipx Pages
712const editorPage = document . getElementById ( 'editor_page' )
813const settingsPage = document . getElementById ( 'settings_page' )
@@ -47,6 +52,8 @@ Object.entries(defaultStorage).forEach(([key, value]) => {
4752
4853// Load UI using values in localStorage
4954window . addEventListener ( 'load' , ( e ) => {
55+ // HEADER LOAD
56+ // .................................
5057 // Update STATE render
5158 switch ( localStorage . getItem ( 'SnipxIsActive' ) ) {
5259 case 'true' : stateButton . innerText = 'toggle_on' ; break
@@ -62,53 +69,90 @@ window.addEventListener('load', (e) => {
6269 case 'editor' : editorPage . style . display = 'flex' ; break
6370 case 'settings' : settingsPage . style . display = 'flex' ; break
6471 }
65- } , false )
66-
67- // Load Event Listeners towards the end of the file
68- // STATE
69- stateButton . addEventListener ( 'click' , ( e ) => {
70- switch ( localStorage . getItem ( 'SnipxIsActive' ) ) {
71- case 'true' :
72- localStorage . setItem ( 'SnipxIsActive' , 'false' )
73- stateButton . innerText = 'toggle_off'
74- // Remove all rendered snippets from the browser
72+ // EDITOR LOAD
73+ // ................................
74+ // Update EDITOR render
75+ switch ( localStorage . getItem ( 'SnipxEditor' ) ) {
76+ case 'css' :
77+ // console.log(editorType.childNodes)
78+ editorType . childNodes . forEach ( n => {
79+ if ( n . nodeName === 'OPTION' && n . value === 'css' ) {
80+ n . setAttribute ( 'selected' , null )
81+ editorCSS . style . display = 'flex'
82+ }
83+ } )
7584 break
76- case 'false' :
77- localStorage . setItem ( 'SnipxIsActive' , 'true' )
78- stateButton . innerText = 'toggle_on'
79- // Render all snippets to the browser
80- break
81- }
82- } , false )
83- // THEME
84- themeButton . addEventListener ( 'click' , ( e ) => {
85- switch ( localStorage . getItem ( 'SnipxTheme' ) ) {
86- case 'dark' :
87- localStorage . setItem ( 'SnipxTheme' , 'light' )
88- themeButton . innerText = 'dark_mode'
89- // Load light theme
85+ case 'js' :
86+ editorType . childNodes . forEach ( n => {
87+ if ( n . nodeName === 'OPTION' && n . value === 'js' ) {
88+ n . setAttribute ( 'selected' , null )
89+ editorJS . style . display = 'flex'
90+ }
91+ } )
9092 break
91- case 'light' :
92- localStorage . setItem ( 'SnipxTheme' , 'dark' )
93- themeButton . innerText = 'light_mode'
94- // Load dark theme
95- break
9693 }
94+ // HEADER UPDATE
95+ // .................................
96+ // Load Event Listeners towards the end of the file
97+ // STATE
98+ stateButton . addEventListener ( 'click' , ( e ) => {
99+ switch ( localStorage . getItem ( 'SnipxIsActive' ) ) {
100+ case 'true' :
101+ localStorage . setItem ( 'SnipxIsActive' , 'false' )
102+ stateButton . innerText = 'toggle_off'
103+ // Remove all rendered snippets from the browser
104+ break
105+ case 'false' :
106+ localStorage . setItem ( 'SnipxIsActive' , 'true' )
107+ stateButton . innerText = 'toggle_on'
108+ // Render all snippets to the browser
109+ break
110+ }
111+ } , false )
112+ // THEME
113+ themeButton . addEventListener ( 'click' , ( e ) => {
114+ switch ( localStorage . getItem ( 'SnipxTheme' ) ) {
115+ case 'dark' :
116+ localStorage . setItem ( 'SnipxTheme' , 'light' )
117+ themeButton . innerText = 'dark_mode'
118+ // Load light theme
119+ break
120+ case 'light' :
121+ localStorage . setItem ( 'SnipxTheme' , 'dark' )
122+ themeButton . innerText = 'light_mode'
123+ // Load dark theme
124+ break
125+ }
126+ } , false )
127+ // SETTINGS
128+ settingsButton . addEventListener ( 'click' , ( e ) => {
129+ switch ( localStorage . getItem ( 'SnipxPage' ) ) {
130+ // Load editor page
131+ case 'editor' :
132+ localStorage . setItem ( 'SnipxPage' , 'settings' )
133+ editorPage . style . display = 'none'
134+ editorCSS . style . display = 'none'
135+ editorJS . style . display = 'none'
136+ settingsPage . style . display = 'flex'
137+ break
138+ // Load settings page
139+ case 'settings' :
140+ localStorage . setItem ( 'SnipxPage' , 'editor' )
141+ switch ( localStorage . getItem ( 'SnipxEditor' ) ) {
142+ case 'css' : editorCSS . style . display = 'block' ; break
143+ case 'js' : editorJS . style . display = 'block' ; break
144+ }
145+ settingsPage . style . display = 'none'
146+ editorPage . style . display = 'flex'
147+ break
148+ }
149+ } , false )
150+ // Editor UPDATE
151+ // .................................
152+ // TYPE
153+ editorType . addEventListener ( 'change' , ( e ) => {
154+ localStorage . setItem ( 'SnipxEditor' , editorType . value )
155+ // Change editor type
156+ } , false )
97157} , false )
98- // SETTINGS
99- settingsButton . addEventListener ( 'click' , ( e ) => {
100- switch ( localStorage . getItem ( 'SnipxPage' ) ) {
101- // Load editor page
102- case 'editor' :
103- localStorage . setItem ( 'SnipxPage' , 'settings' )
104- editorPage . style . display = 'none'
105- settingsPage . style . display = 'flex'
106- break
107- // Load settings page
108- case 'settings' :
109- localStorage . setItem ( 'SnipxPage' , 'editor' )
110- settingsPage . style . display = 'none'
111- editorPage . style . display = 'flex'
112- break
113- }
114- } , false )
158+
0 commit comments