Fix
This commit is contained in:
		
							parent
							
								
									ee5bc74142
								
							
						
					
					
						commit
						5f3a55c473
					
				| 
						 | 
					@ -93,7 +93,34 @@
 | 
				
			||||||
  async function syncLocalStorage(){
 | 
					  async function syncLocalStorage(){
 | 
				
			||||||
    console.log("Syncing...")
 | 
					    console.log("Syncing...")
 | 
				
			||||||
    uploadLocalStorage();
 | 
					    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(() => {
 | 
					  onMount(() => {
 | 
				
			||||||
| 
						 | 
					@ -154,6 +181,11 @@
 | 
				
			||||||
              <span class="icon"><Fa icon={faRotate}/></span>
 | 
					              <span class="icon"><Fa icon={faRotate}/></span>
 | 
				
			||||||
            </button>
 | 
					            </button>
 | 
				
			||||||
        </div>
 | 
					        </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>
 | 
				
			||||||
      <div class="level-right">
 | 
					      <div class="level-right">
 | 
				
			||||||
        {#if !hasModels}
 | 
					        {#if !hasModels}
 | 
				
			||||||
| 
						 | 
					@ -164,7 +196,7 @@
 | 
				
			||||||
        {:else}
 | 
					        {:else}
 | 
				
			||||||
        <div class="level-item">
 | 
					        <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}
 | 
					          <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>
 | 
					          </div>
 | 
				
			||||||
        {/if}
 | 
					        {/if}
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue