package Ġhtml Ċ Ċ import Ġkotlinx . html .* Ċ Ċ class ĠSettings Ġ: ĠAbstract HTML Page ( ĊĠĠĠ Ġtitle Ġ= Ġ" Settings ", ĊĠĠĠ Ġcss Ġ= ĠarrayOf (" settings ", Ġ" root "), ĊĠĠĠ Ġprotected Ġ= Ġtrue , Ċ ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġbody ( body : ĠB ODY ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbody . div Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdiv (" main ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiv (" block ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" header " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiv (" name ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspan Ġ{ Ġ+" Settings " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiv (" go - back ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhref Ġ= Ġ"/" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+" Return Ġto Ġthe ĠMain ĠPage " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" logout " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠInput Type . button ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" Log ĠOut " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmake Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain Ġ= Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperty Type Ġ= Ġ" email ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader Value Ġ= Ġ" Email ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinputs Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInput ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" email ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ" Enter Ġnew Ġemail Ġaddress ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput Type Ġ= ĠInput Type . email , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġ" Email ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcaption Ġ= Ġ"* After Ġsubmitting Ġyou Ġwill Ġreceive Ġan Ġemail Ġwith Ġcon formation " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Value Ġ= Ġ" Submit " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmake Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain Ġ= Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperty Type Ġ= Ġ" name ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader Value Ġ= Ġ" Account ĠName ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinputs Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInput ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" name ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ" Enter Ġnew Ġaccount Ġname ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput Type Ġ= ĠInput Type . text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġ" Account ĠName ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcaption Ġ= Ġ"* Other Ġusers Ġcan Ġfind Ġyour Ġpublic Ġcal endars Ġby Ġyour Ġaccount 's Ġname " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Value Ġ= Ġ" Submit " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmake Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain Ġ= Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperty Type Ġ= Ġ" password ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader Value Ġ= Ġ" Password ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinputs Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInput ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" password ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ" Enter Ġnew Ġpassword ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput Type Ġ= ĠInput Type . password , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġ" Password ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcaption Ġ= Ġ"* Password Ġshould Ġbe Ġat Ġleast Ġ 1 2 Ġsymbols Ġand Ġmax Ġof Ġ 2 4 , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" containing Ġlower Ġand Ġupper Ġcase Ġletters , Ġdigits Ġand Ġspecial Ġcharacters : Ġ@ \\ $ ! % * ?& " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInput ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" repeat - password ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ" Repeat Ġyour Ġpassword ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput Type Ġ= ĠInput Type . password , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġ" Repeat ĠPassword ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcaption Ġ= Ġ"* Enter Ġthe Ġsame Ġpassword Ġagain " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Value Ġ= Ġ" Submit " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmake Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain Ġ= Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperty Type Ġ= Ġ" delete ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader Value Ġ= Ġ" Delete ĠAccount ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinputs Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInput ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" delete ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ" Enter Ġyour Ġaccount Ġname Ġto Ġconfirm Ġdeletion ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput Type Ġ= ĠInput Type . text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġ" Account ĠName ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcaption Ġ= Ġ" WARNING ! ĠThis Ġaction Ġcannot Ġbe Ġund one ! ĠYour Ġaccount Ġwill Ġbe Ġdeleted Ġcompletely !" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Value Ġ= Ġ" Continue ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġmake Property ( ĊĠĠĠ Ġmain : ĠDIV , ĊĠĠĠ Ġproperty Type : ĠString , ĊĠĠĠ Ġheader Value : ĠString , ĊĠĠĠ Ġinputs : ĠArray < Input >, ĊĠĠĠ Ġbutton Value : ĠString , ĊĠĠĠ Ġbody : Ġ( DIV , ĠString , ĠArray < Input >) Ġ-> ĠUnit Ġ= Ġ{ Ġmain Inner , Ġproperty Type Inner , Ġinputs Inner Ġ-> ĊĠĠĠĠĠĠĠ Ġdefault Body ( main Inner , Ġproperty Type Inner , Ġinputs Inner ) ĊĠĠĠ Ġ}, Ċ ) Ġ{ ĊĠĠĠ Ġreturn Ġmain . div (" block ") Ġ{ ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġ" prop -$ property Type " ĊĠĠĠĠĠĠĠ Ġdiv (" prop - name ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdiv (" name - container ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" name - container -$ property Type " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspan ( classes Ġ= Ġ" header - text ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" header - text -$ property Type " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ header Value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbody ( main , Ġproperty Type , Ġinputs ) ĊĠĠĠĠĠĠĠ Ġdiv (" submit - change ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput ( classes Ġ= Ġ" submit - button ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠInput Type . button ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġbutton Value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ"${ property Type }- btn " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġdefault Body ( main : ĠDIV , Ġproperty Type : ĠString , Ġinputs : ĠArray < Input >) Ġ{ ĊĠĠĠ Ġreturn Ġmain . div Ġ( classes Ġ= Ġ" change - block ") Ġ{ ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġ" change - block -$ property Type " ĊĠĠĠĠĠĠĠ Ġthis . div ( classes Ġ= Ġ" change - page ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" page -$ property Type " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdiv (" field - container ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmake Inputs ( this , Ġinputs ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġmake Inputs ( div : ĠDIV , Ġinputs : ĠArray < Input >): ĠList < Unit > Ġ{ ĊĠĠĠ Ġreturn Ġinputs . map Ġ{ ĊĠĠĠĠĠĠĠ Ġdiv . div (" field ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" f -${ it . id }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ{ Ġ+ it . label Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġit . input Type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" input -${ it . id }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġit . placeholder ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspan (" caption ") Ġ{ Ġ+ it . caption Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠInput ( ĊĠĠĠ Ġval Ġid : ĠString , ĊĠĠĠ Ġval Ġlabel : ĠString , ĊĠĠĠ Ġval Ġinput Type : ĠInput Type , ĊĠĠĠ Ġval Ġplaceholder : ĠString , ĊĠĠĠ Ġval Ġcaption : ĠString , Ċ )