fix: 내 정보&설정에서 설정 저장 로직을 개선하고 불필요한 속성 제거
This commit is contained in:
@@ -1418,6 +1418,7 @@ test('내 정보&설정 keeps desktop density and becomes a 390px horizontal-ide
|
|||||||
await page.locator('#set_my_setting').click();
|
await page.locator('#set_my_setting').click();
|
||||||
await expect.poll(() => state.settingMutations.length).toBe(1);
|
await expect.poll(() => state.settingMutations.length).toBe(1);
|
||||||
expect(state.settingMutations[0]).not.toHaveProperty('generalId');
|
expect(state.settingMutations[0]).not.toHaveProperty('generalId');
|
||||||
|
expect(state.settingMutations[0]).not.toHaveProperty('myset');
|
||||||
expect(state.settingMutations[0]).toMatchObject({
|
expect(state.settingMutations[0]).toMatchObject({
|
||||||
use_auto_nation_war: 1,
|
use_auto_nation_war: 1,
|
||||||
use_auto_nation_promotion: 1,
|
use_auto_nation_promotion: 1,
|
||||||
|
|||||||
@@ -249,7 +249,16 @@ const loadPage = async (resetImmediateActionIds = true) => {
|
|||||||
world.value = state;
|
world.value = state;
|
||||||
selectionPoolStatus.value = joinConfig.selectionPool;
|
selectionPoolStatus.value = joinConfig.selectionPool;
|
||||||
if (general) {
|
if (general) {
|
||||||
Object.assign(form, general.settings);
|
Object.assign(form, {
|
||||||
|
tnmt: general.settings.tnmt,
|
||||||
|
defence_train: general.settings.defence_train,
|
||||||
|
use_treatment: general.settings.use_treatment,
|
||||||
|
use_auto_nation_turn: general.settings.use_auto_nation_turn,
|
||||||
|
use_auto_nation_war: general.settings.use_auto_nation_war,
|
||||||
|
use_auto_nation_promotion: general.settings.use_auto_nation_promotion,
|
||||||
|
use_auto_nation_finance: general.settings.use_auto_nation_finance,
|
||||||
|
use_auto_nation_capital: general.settings.use_auto_nation_capital,
|
||||||
|
});
|
||||||
selectedIconId.value =
|
selectedIconId.value =
|
||||||
iconChoices.value.find((icon) => icon.picture === general.general.picture)?.id ??
|
iconChoices.value.find((icon) => icon.picture === general.general.picture)?.id ??
|
||||||
iconChoices.value[0]?.id ??
|
iconChoices.value[0]?.id ??
|
||||||
@@ -283,7 +292,16 @@ const changeGeneralIcon = async () => {
|
|||||||
const saveSettings = async () => {
|
const saveSettings = async () => {
|
||||||
if (!canSave.value) return;
|
if (!canSave.value) return;
|
||||||
try {
|
try {
|
||||||
await trpc.general.setMySetting.mutate({ ...form });
|
await trpc.general.setMySetting.mutate({
|
||||||
|
tnmt: form.tnmt,
|
||||||
|
defence_train: form.defence_train,
|
||||||
|
use_treatment: form.use_treatment,
|
||||||
|
use_auto_nation_turn: form.use_auto_nation_turn,
|
||||||
|
use_auto_nation_war: form.use_auto_nation_war,
|
||||||
|
use_auto_nation_promotion: form.use_auto_nation_promotion,
|
||||||
|
use_auto_nation_finance: form.use_auto_nation_finance,
|
||||||
|
use_auto_nation_capital: form.use_auto_nation_capital,
|
||||||
|
});
|
||||||
await loadPage();
|
await loadPage();
|
||||||
} catch (cause) {
|
} catch (cause) {
|
||||||
showErrorToast(`설정 저장에 실패했습니다: ${errorText(cause)}`);
|
showErrorToast(`설정 저장에 실패했습니다: ${errorText(cause)}`);
|
||||||
|
|||||||
Reference in New Issue
Block a user