JSFiddle - React, Tailwind, and code Playground
by devdev
HTML
<pre id="out"></pre>
JavaScript
function init_state_by_calc( previous_state ){
var next_state
var state={}
state.sections_ok = [true, true, true]
for(var i=0; i<previous_state.to_fix_list.length; i++){
state.sections_ok[previous_state.to_fix_list[i]] = false
}
state.tray_icon_ok = state.sections_ok[0] && state.sections_ok[1] && state.sections_ok[2]
next_state = state
return next_state
}
function out_write(text){ out.innerHTML+=text }
function out_writeln(text){ out_write(text+"\n") }
function out_writeln_json(object){ out_writeln( JSON.stringify( object) ) }
/// out_writeln(JSON.stringify(init_state_by_calc( {to_fix_list:[]})))
/// out_writeln(JSON.stringify(init_state_by_calc( {to_fix_list:[1]})))
var current_state_short = {to_fix_list:[1]}
out_writeln_json(init_state_by_calc(current_state_short))
current_state_short.to_fix_list = []
out_writeln_json(init_state_by_calc(current_state_short))