From 47daddc10c291ec67320dd2485bffc498ea44bdf Mon Sep 17 00:00:00 2001 From: f0x52 Date: Mon, 6 Feb 2023 09:19:56 +0100 Subject: [chore/frogend] Restructure form data default values / update from Query data (#1422) * eslint: set console use to error to catch debug littering in CI * remove debug logging * some form field restructuring, fixes submitted updates not being reflected * more form field restructuring * remove debug logger * simplify field updates * fix react state set during render when submitting import file * className instead of class * show Select hints again --- web/source/settings/user/profile.js | 12 ++++++------ web/source/settings/user/settings.js | 30 ++++++++++++++++++++++-------- 2 files changed, 28 insertions(+), 14 deletions(-) (limited to 'web/source/settings/user') diff --git a/web/source/settings/user/profile.js b/web/source/settings/user/profile.js index 76f416dd1..b2d2d25b3 100644 --- a/web/source/settings/user/profile.js +++ b/web/source/settings/user/profile.js @@ -71,12 +71,12 @@ function UserProfileForm({ data: profile }) { const form = { avatar: useFileInput("avatar", { withPreview: true }), header: useFileInput("header", { withPreview: true }), - displayName: useTextInput("display_name", { defaultValue: profile.display_name }), - note: useTextInput("note", { defaultValue: profile.source?.note }), - customCSS: useTextInput("custom_css", { defaultValue: profile.custom_css }), - bot: useBoolInput("bot", { defaultValue: profile.bot }), - locked: useBoolInput("locked", { defaultValue: profile.locked }), - enableRSS: useBoolInput("enable_rss", { defaultValue: profile.enable_rss }), + displayName: useTextInput("display_name", { source: profile }), + note: useTextInput("note", { source: profile, valueSelector: (p) => p.source?.note }), + customCSS: useTextInput("custom_css", { source: profile }), + bot: useBoolInput("bot", { source: profile }), + locked: useBoolInput("locked", { source: profile }), + enableRSS: useBoolInput("enable_rss", { source: profile }), }; const [submitForm, result] = useFormSubmit(form, query.useUpdateCredentialsMutation()); diff --git a/web/source/settings/user/settings.js b/web/source/settings/user/settings.js index df258d39c..6b6b3c09f 100644 --- a/web/source/settings/user/settings.js +++ b/web/source/settings/user/settings.js @@ -49,7 +49,6 @@ module.exports = function UserSettings() { }; function UserSettingsForm({ data }) { - const { source } = data; /* form keys - string source[privacy] - bool source[sensitive] @@ -58,10 +57,10 @@ function UserSettingsForm({ data }) { */ const form = { - defaultPrivacy: useTextInput("source[privacy]", { defaultValue: source.privacy ?? "unlisted" }), - isSensitive: useBoolInput("source[sensitive]", { defaultValue: source.sensitive }), - language: useTextInput("source[language]", { defaultValue: source.language?.toUpperCase() ?? "EN" }), - format: useTextInput("source[status_format]", { defaultValue: source.status_format ?? "plain" }), + defaultPrivacy: useTextInput("source[privacy]", { source: data, defaultValue: "unlisted" }), + isSensitive: useBoolInput("source[sensitive]", { source: data }), + language: useTextInput("source[language]", { source: data, valueSelector: (s) => s.source.language?.toUpperCase() ?? "EN" }), + format: useTextInput("source[status_format]", { source: data, defaultValue: "plain" }), }; const [submitForm, result] = useFormSubmit(form, query.useUpdateCredentialsMutation()); @@ -132,9 +131,24 @@ function PasswordChange() { return (

Change password

- - - + + + ); -- cgit v1.2.3