Spaces:
Running
Running
/** | |
* storage.js - ローカルストレージを使用したデータ永続化を管理 | |
* | |
* 主な機能: | |
* - フォーム入力値の保存と復元 | |
* - 自動保存機能(5秒間隔) | |
* | |
* 重要な関数: | |
* - saveToUserStorage(): フォームデータを保存 | |
* - loadFromUserStorage(): 保存されたデータを復元 | |
*/ | |
function saveToUserStorage(force = false) { | |
const currentTime = new Date().getTime(); | |
const lastSaveTimestamp = parseInt(localStorage.getItem('lastSaveTimestamp') || '0'); | |
if (!force && currentTime - lastSaveTimestamp < 5000) { | |
return; | |
} | |
const data = {}; | |
document.querySelectorAll('input, textarea, select').forEach(input => { | |
data[input.id] = input.value; | |
}); | |
localStorage.setItem('gemini_prompt', JSON.stringify(data)); | |
localStorage.setItem('lastSaveTimestamp', currentTime.toString()); | |
return true; | |
} | |
function loadFromUserStorage() { | |
const data = JSON.parse(localStorage.getItem('gemini_prompt')) || {}; | |
document.querySelectorAll('input, textarea, select').forEach(input => { | |
let v = data[input.id] || ""; | |
if (v) { | |
if (input.type === "number") { | |
v = parseInt(v); | |
} | |
input.value = v; | |
} | |
}); | |
} | |