From afa05f381c4b192199740eac70197e2dd06ac55c Mon Sep 17 00:00:00 2001 From: "maruyama.t" Date: Mon, 18 Dec 2023 04:07:03 +0000 Subject: [PATCH] =?UTF-8?q?Merged=20PR=20628:=20=E7=AC=AC=EF=BC=95?= =?UTF-8?q?=E9=9A=8E=E5=B1=A4=E3=81=A7=E8=A6=8F=E7=B4=84=E5=90=8C=E6=84=8F?= =?UTF-8?q?=E7=94=BB=E9=9D=A2=E3=82=92=E8=A1=A8=E7=A4=BA=E3=81=99=E3=82=8B?= =?UTF-8?q?=E9=9A=9B=E3=81=AB=E3=80=81DPA=E3=81=AB=E5=90=8C=E6=84=8F?= =?UTF-8?q?=E3=81=8C=E4=B8=80=E7=9E=AC=E8=A1=A8=E7=A4=BA=E3=81=95=E3=82=8C?= =?UTF-8?q?=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 概要 [Task3281: 【Commit諸作業終わったら優先対応】第5階層で規約同意画面を表示する際に、DPAに同意が一瞬表示される](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3281) selectorから別途tierの値が入っているかをselectIsTierLoadingで取得し、まだ入っていない場合(tier===0)Loadingの表示を行うようにした。 ``` export const selectIsTierLoading = (state: RootState) => state.terms.domain.tier === 0; ``` ## レビューポイント - とくになし ## UIの変更 https://ndstokyo.sharepoint.com/:f:/r/sites/Piranha/Shared%20Documents/General/OMDS/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/Task3281?csf=1&web=1&e=D9t5di ## 動作確認状況 - ローカルで確認 ## 補足 - 相談、参考資料などがあれば --- dictation_client/src/features/terms/selectors.ts | 3 +++ dictation_client/src/features/terms/termsSlice.ts | 7 ------- dictation_client/src/pages/TermsPage/index.tsx | 13 +++++++++++-- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/dictation_client/src/features/terms/selectors.ts b/dictation_client/src/features/terms/selectors.ts index 75f45b9..2716c88 100644 --- a/dictation_client/src/features/terms/selectors.ts +++ b/dictation_client/src/features/terms/selectors.ts @@ -22,3 +22,6 @@ export const selectTermVersions = (state: RootState) => { }; export const selectTier = (state: RootState) => state.terms.domain.tier; + +export const selectIsLoading = (state: RootState) => + state.terms.apps.isLoading === true; diff --git a/dictation_client/src/features/terms/termsSlice.ts b/dictation_client/src/features/terms/termsSlice.ts index 7f88271..242692e 100644 --- a/dictation_client/src/features/terms/termsSlice.ts +++ b/dictation_client/src/features/terms/termsSlice.ts @@ -39,16 +39,9 @@ export const termsSlice = createSlice({ builder.addCase(getAccountInfoMinimalAccessAsync.rejected, (state) => { state.apps.isLoading = false; }); - builder.addCase(getTermsInfoAsync.pending, (state) => { - state.apps.isLoading = true; - }); builder.addCase(getTermsInfoAsync.fulfilled, (state, actions) => { - state.apps.isLoading = false; state.domain.termsInfo = actions.payload.termsInfo; }); - builder.addCase(getTermsInfoAsync.rejected, (state) => { - state.apps.isLoading = false; - }); builder.addCase(updateAcceptedVersionAsync.pending, (state) => { state.apps.isLoading = true; }); diff --git a/dictation_client/src/pages/TermsPage/index.tsx b/dictation_client/src/pages/TermsPage/index.tsx index 777a115..0082cfd 100644 --- a/dictation_client/src/pages/TermsPage/index.tsx +++ b/dictation_client/src/pages/TermsPage/index.tsx @@ -13,6 +13,7 @@ import { getTermsInfoAsync, updateAcceptedVersionAsync, selectTier, + selectIsLoading, selectTermVersions, } from "features//terms"; import { selectLocalStorageKeyforIdToken } from "features/login"; @@ -27,7 +28,7 @@ const TermsPage: React.FC = (): JSX.Element => { selectLocalStorageKeyforIdToken ); const tier = useSelector(selectTier); - + const isLoading = useSelector(selectIsLoading); const [isCheckedEula, setIsCheckedEula] = useState(false); const [isCheckedPrivacyNotice, setIsCheckedPrivacyNotice] = useState(false); const [isCheckedDpa, setIsCheckedDpa] = useState(false); @@ -88,7 +89,15 @@ const TermsPage: React.FC = (): JSX.Element => { tier, dispatch, ]); - + if (isLoading) { + return ( + <> +
+

loading ...

+