gemini_prompter / storage.js
SenY's picture
コメントを整理
1e37ab5
raw
history blame
1.32 kB
/**
* 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;
}
});
}