/*
    Предрейсовые осмотры - мобильное приложение
    Хранилище данных формы входа
*/

//---------
//Константы
//---------

const DEFAULT = {
    serverUrl: '',
    username: '',
    password: '',
    savePassword: false,
    showPassword: false
};

//-----------
//Тело модуля
//-----------

let stored = { ...DEFAULT };

//Флаг: после очистки не принимать следующую запись (cleanup при размонтировании не должен перезаписать очищенный store)
let skipNextSet = false;

//Получить копию сохранённых данных формы
function getAuthFormStore() {
    return { ...DEFAULT, ...stored };
}

//Сохранить данные формы (мержим с текущими)
function setAuthFormStore(data) {
    if (skipNextSet) {
        skipNextSet = false;
        return;
    }
    if (data != null && typeof data === 'object') {
        stored = { ...stored, ...data };
    }
}

//Сбросить хранилище (например после успешного входа)
function clearAuthFormStore() {
    stored = { ...DEFAULT };
    skipNextSet = true;
}

//----------------
//Интерфейс модуля
//----------------

module.exports = {
    getAuthFormStore,
    setAuthFormStore,
    clearAuthFormStore
};
