Fix
This commit is contained in:
		
							parent
							
								
									ee5bc74142
								
							
						
					
					
						commit
						5f3a55c473
					
				| 
						 | 
				
			
			@ -93,7 +93,34 @@
 | 
			
		|||
  async function syncLocalStorage(){
 | 
			
		||||
    console.log("Syncing...")
 | 
			
		||||
    uploadLocalStorage();
 | 
			
		||||
    fetchLocalStorage();
 | 
			
		||||
    localStorage.setItem('lastModified', new Date().toISOString());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  function dumpLocalStorage(){
 | 
			
		||||
     try {
 | 
			
		||||
      let storageObject = {};
 | 
			
		||||
      for (let i = 0; i < localStorage.length; i++) {
 | 
			
		||||
        const key = localStorage.key(i);
 | 
			
		||||
        if (key) {
 | 
			
		||||
          storageObject[key] = localStorage.getItem(key);
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      const dataStr = JSON.stringify(storageObject, null, 2);
 | 
			
		||||
      const blob = new Blob([dataStr], { type: "application/json" });
 | 
			
		||||
      const url = URL.createObjectURL(blob);
 | 
			
		||||
      const link = document.createElement("a");
 | 
			
		||||
      link.href = url;
 | 
			
		||||
      const dateTimeStr = now.toISOString().replace(/:\d+\.\d+Z$/, '').replace(/-|:/g, '_');
 | 
			
		||||
      link.download = `ChatGPT-web_${dateTimeStr}.json`;
 | 
			
		||||
      document.body.appendChild(link);
 | 
			
		||||
      link.click();
 | 
			
		||||
      document.body.removeChild(link);
 | 
			
		||||
      URL.revokeObjectURL(url);
 | 
			
		||||
    
 | 
			
		||||
    } catch (error) {
 | 
			
		||||
      console.error('Error dumping localStorage:', error);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  onMount(() => {
 | 
			
		||||
| 
						 | 
				
			
			@ -154,6 +181,11 @@
 | 
			
		|||
              <span class="icon"><Fa icon={faRotate}/></span>
 | 
			
		||||
            </button>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="is-left is-up ml-2">
 | 
			
		||||
            <button class="button" aria-haspopup="true" on:click|preventDefault|stopPropagation={() => { dumpLocalStorage(); }}>
 | 
			
		||||
              <span class="icon"><Fa icon={faDownload}/></span>
 | 
			
		||||
            </button>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="level-right">
 | 
			
		||||
        {#if !hasModels}
 | 
			
		||||
| 
						 | 
				
			
			@ -164,7 +196,7 @@
 | 
			
		|||
        {:else}
 | 
			
		||||
        <div class="level-item">
 | 
			
		||||
          <button on:click={() => { $pinMainMenu = false; startNewChatWithWarning(activeChatId) }} class="panel-block button" title="Start new chat with default profile" class:is-disabled={!hasModels}
 | 
			
		||||
            ><span class="greyscale mr-1"><Fa icon={faSquarePlus} /></span> New chat</button>
 | 
			
		||||
            ><span class="greyscale mr-1"><Fa icon={faSquarePlus} /></span></button>
 | 
			
		||||
          </div>
 | 
			
		||||
        {/if}
 | 
			
		||||
      </div>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue