From 8138286233f7e2b68cd2a2c10457dac7d8640830 Mon Sep 17 00:00:00 2001 From: Kentai Radiquum Date: Fri, 20 Sep 2024 12:09:25 +0500 Subject: [PATCH] feat: add login to the preference modal --- app/api/config.ts | 5 + app/components/Profile/Profile.EditModal.tsx | 95 +++++++++++-------- .../Profile/Profile.EditStatusModal.tsx | 3 +- 3 files changed, 64 insertions(+), 39 deletions(-) diff --git a/app/api/config.ts b/app/api/config.ts index ca80d64..e4036f3 100644 --- a/app/api/config.ts +++ b/app/api/config.ts @@ -18,6 +18,11 @@ export const ENDPOINTS = { favorite: `${API_PREFIX}/favorite`, settings: { my: `${API_PREFIX}/profile/preference/my`, + login: { + info: `${API_PREFIX}/profile/preference/login/info`, + history: `${API_PREFIX}/profile/login/history/all`, // // + change: `${API_PREFIX}/profile/preference/login/change`, // ?login= + }, statusEdit: `${API_PREFIX}/profile/preference/status/edit`, statsEdit: `${API_PREFIX}/profile/preference/privacy/stats/edit`, countsEdit: `${API_PREFIX}/profile/preference/privacy/counts/edit`, diff --git a/app/components/Profile/Profile.EditModal.tsx b/app/components/Profile/Profile.EditModal.tsx index 160cc93..82cd315 100644 --- a/app/components/Profile/Profile.EditModal.tsx +++ b/app/components/Profile/Profile.EditModal.tsx @@ -41,6 +41,7 @@ export const ProfileEditModal = (props: { google: false, }); const [status, setStatus] = useState(""); + const [login, setLogin] = useState(""); const privacy_stat_act_social_text = { 0: "Все пользователи", @@ -54,26 +55,39 @@ export const ProfileEditModal = (props: { 9: "Неизвестно", }; - const { data, isLoading, error } = useSWR( - `${ENDPOINTS.user.settings.my}?token=${props.token}`, - fetcher + function _fetchInfo(url: string) { + const { data, isLoading, error } = useSWR(url, fetcher); + return [data, isLoading, error]; + } + + const [prefData, prefLoading, prefError] = _fetchInfo( + `${ENDPOINTS.user.settings.my}?token=${props.token}` + ); + const [loginData, loginLoading, loginError] = _fetchInfo( + `${ENDPOINTS.user.settings.login.info}?token=${props.token}` ); useEffect(() => { - if (data) { + if (prefData) { setPrivacySettings({ - privacy_stats: data.privacy_stats, - privacy_counts: data.privacy_counts, - privacy_social: data.privacy_social, - privacy_friend_requests: data.privacy_friend_requests, + privacy_stats: prefData.privacy_stats, + privacy_counts: prefData.privacy_counts, + privacy_social: prefData.privacy_social, + privacy_friend_requests: prefData.privacy_friend_requests, }); setSocialBounds({ - vk: data.is_vk_bound || data.isVkBound || false, - google: data.is_google_bound || data.isGoogleBound || false, + vk: prefData.is_vk_bound || prefData.isVkBound || false, + google: prefData.is_google_bound || prefData.isGoogleBound || false, }); - setStatus(data.status); + setStatus(prefData.status); } - }, [data]); + }, [prefData]); + + useEffect(() => { + if (loginData) { + setLogin(loginData.login); + } + }, [loginData]); return ( <> @@ -84,21 +98,26 @@ export const ProfileEditModal = (props: { > Редактирование профиля - {isLoading ? ( + {prefLoading ? ( ) : (
-
+
-

Профиль

+
+

Профиль

+

+ Изменения будут видны после перезагрузки страницы +

+
-
+
+ -
+
-
+

{login}

+ +
+
-
+

Приватность

@@ -198,32 +218,28 @@ export const ProfileEditModal = (props: { }

-
+
+
-
+
-

- Безопасность и привязка к сервисам -

+
+

+ Безопасность и привязка к сервисам +

+

+ Не доступно для изменения в данном клиенте +

+
-
-

Изменить Email или Пароль

-

- Изменить возможно только в мобильном приложении -

-
-
+

Привязка к сервисам

-

- Изменить возможно только в мобильном приложении -

{socialBounds.vk || socialBounds.google ? "Аккаунт привязан к:" @@ -233,6 +249,9 @@ export const ProfileEditModal = (props: { {socialBounds.google && "Google"}

+
+

Смена Эл. Почты или Пароля

+
)} diff --git a/app/components/Profile/Profile.EditStatusModal.tsx b/app/components/Profile/Profile.EditStatusModal.tsx index 83df836..c6ee1c0 100644 --- a/app/components/Profile/Profile.EditStatusModal.tsx +++ b/app/components/Profile/Profile.EditStatusModal.tsx @@ -61,6 +61,7 @@ export const ProfileEditStatusModal = (props: { Изменить статус