55 < script src ="https://code.jquery.com/ui/1.14.1/jquery-ui.min.js "> </ script >
66</ head >
77< body onkeydown ="handlekey(event) ">
8+ < div id ="welcomedialog ">
9+ < div class ="intropanelbase ">
10+ < div class ="intropanelleft ">
11+ < img src ="logo.png " style ="height: 65px; width: 65px "> </ img >
12+ < div class ="intropanel-title "> LocalNote</ div >
13+ < div class ="intropanel-button " onclick ="openfile() "> Open Notebook</ div >
14+ < div class ="intropanel-button " onclick ="createfile() "> Create Notebook</ div >
15+ < div class ="intropanel-button " onclick ="opendemo() "> Open Demo Notebook</ div >
16+ </ div >
17+ </ div >
18+ </ div >
819 < header >
920 < svg xmlns ="http://www.w3.org/2000/svg " style ="color: #555; -webkit-app-region: no-drag; " width ="20 " height ="20 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2 " stroke-linecap ="round " stroke-linejoin ="round " class ="lucide lucide-panel-left " onclick ="$('#editor-sidebar').toggle() "> < rect width ="18 " height ="18 " x ="3 " y ="3 " rx ="2 "/> < path d ="M9 3v18 "/> </ svg >
1021 < img src ="logo.png " style ="height: 30px; width: 30px; margin-right: 15px; margin-left: 15px; "> </ img >
142153 pagenames = argsconcat
143154 }
144155 try {
145- pnemoji = argsconcat . split ( "&" ) . slice ( 1 )
156+ pnemoji = argsconcat . split ( "&" ) . slice ( 1 ) [ 0 ]
146157 if ( pnemoji . length == 0 ) {
147158 pnemoji = "📄"
148159 }
360371 var openfile = function ( ) {
361372 fd = showOpenFilePicker ( )
362373 . then ( ar => {
363- // for (const f of ar.getFile()) {
364374 console . log ( ar [ 0 ] . getFile ( ) )
365375 fileitem = ar [ 0 ]
366376 ar [ 0 ] . getFile ( )
378388 } )
379389 }
380390
391+ var createfile = function ( ) {
392+ fd = window . showSaveFilePicker ( {
393+ suggestedName : 'Untitled Notebook.txt' ,
394+ types : [ {
395+ description : 'LocalNote NoteBook' ,
396+ accept : {
397+ 'application/x-lnb' : [ '.LNB' ] ,
398+ } ,
399+ } ] ,
400+ } ) ;
401+ fd . then ( ar => {
402+ ar . createWritable ( )
403+ . then ( async ( fws ) => {
404+ await fws . truncate ( 0 ) ;
405+
406+ await fws . write ( JSON . stringify ( currentdoc ) ) ;
407+
408+ await fws . close ( ) ;
409+
410+ console . log ( ar . getFile ( ) )
411+ fileitem = ar
412+ ar . getFile ( )
413+ . then ( fl => {
414+ fl . text ( ) . then ( res => {
415+ console . log ( res )
416+ currentdoc = {
417+ "manifestver" : 1.0 ,
418+ "pages" : [
419+ {
420+ "name" : "Page 1" ,
421+ "emoji" : "📄" ,
422+ "content" : `
423+ <div class="nblock"><div class="blockhandle"></div><h1 placeholder="Press / to insert content" contenteditable="" class="editbox" onfocus="blockfocus()" onblur="blockblur()"></h1></div>
424+ ` ,
425+ } ,
426+ ]
427+ }
428+ $ ( "#docname" ) . html ( fl . name )
429+ currentdocfileitem = fl
430+ refreshsidebar ( )
431+ loadpage ( 0 )
432+ $ ( "#welcomedialog" ) . remove ( )
433+ } )
434+ } )
435+ } )
436+ } )
437+ }
438+
381439 var opendemo = function ( ) {
382440 refreshsidebar ( )
383441 loadpage ( 0 )
387445 const urlParams = new URLSearchParams ( document . location . search ) ;
388446
389447 </ script >
390- < div id ="welcomedialog ">
391- < div class ="intropanelbase ">
392- < div class ="intropanelleft ">
393- < img src ="logo.png " style ="height: 65px; width: 65px "> </ img >
394- < div class ="intropanel-title "> LocalNote</ div >
395- < div class ="intropanel-button " onclick ="openfile() "> Open Notebook</ div >
396- < div class ="intropanel-button " onclick ="opendemo() "> Create Notebook</ div >
397- < div class ="intropanel-button " onclick ="opendemo() "> Open Demo Notebook</ div >
398- </ div >
399- </ div >
400- </ div >
401448</ body >
0 commit comments