Merged PR 628: 第5階層で規約同意画面を表示する際に、DPAに同意が一瞬表示される

## 概要
[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

## 動作確認状況
- ローカルで確認

## 補足
- 相談、参考資料などがあれば
This commit is contained in:
maruyama.t 2023-12-18 04:07:03 +00:00
parent 9380d9bfc6
commit afa05f381c
3 changed files with 14 additions and 9 deletions

View File

@ -22,3 +22,6 @@ export const selectTermVersions = (state: RootState) => {
}; };
export const selectTier = (state: RootState) => state.terms.domain.tier; export const selectTier = (state: RootState) => state.terms.domain.tier;
export const selectIsLoading = (state: RootState) =>
state.terms.apps.isLoading === true;

View File

@ -39,16 +39,9 @@ export const termsSlice = createSlice({
builder.addCase(getAccountInfoMinimalAccessAsync.rejected, (state) => { builder.addCase(getAccountInfoMinimalAccessAsync.rejected, (state) => {
state.apps.isLoading = false; state.apps.isLoading = false;
}); });
builder.addCase(getTermsInfoAsync.pending, (state) => {
state.apps.isLoading = true;
});
builder.addCase(getTermsInfoAsync.fulfilled, (state, actions) => { builder.addCase(getTermsInfoAsync.fulfilled, (state, actions) => {
state.apps.isLoading = false;
state.domain.termsInfo = actions.payload.termsInfo; state.domain.termsInfo = actions.payload.termsInfo;
}); });
builder.addCase(getTermsInfoAsync.rejected, (state) => {
state.apps.isLoading = false;
});
builder.addCase(updateAcceptedVersionAsync.pending, (state) => { builder.addCase(updateAcceptedVersionAsync.pending, (state) => {
state.apps.isLoading = true; state.apps.isLoading = true;
}); });

View File

@ -13,6 +13,7 @@ import {
getTermsInfoAsync, getTermsInfoAsync,
updateAcceptedVersionAsync, updateAcceptedVersionAsync,
selectTier, selectTier,
selectIsLoading,
selectTermVersions, selectTermVersions,
} from "features//terms"; } from "features//terms";
import { selectLocalStorageKeyforIdToken } from "features/login"; import { selectLocalStorageKeyforIdToken } from "features/login";
@ -27,7 +28,7 @@ const TermsPage: React.FC = (): JSX.Element => {
selectLocalStorageKeyforIdToken selectLocalStorageKeyforIdToken
); );
const tier = useSelector(selectTier); const tier = useSelector(selectTier);
const isLoading = useSelector(selectIsLoading);
const [isCheckedEula, setIsCheckedEula] = useState(false); const [isCheckedEula, setIsCheckedEula] = useState(false);
const [isCheckedPrivacyNotice, setIsCheckedPrivacyNotice] = useState(false); const [isCheckedPrivacyNotice, setIsCheckedPrivacyNotice] = useState(false);
const [isCheckedDpa, setIsCheckedDpa] = useState(false); const [isCheckedDpa, setIsCheckedDpa] = useState(false);
@ -88,7 +89,15 @@ const TermsPage: React.FC = (): JSX.Element => {
tier, tier,
dispatch, dispatch,
]); ]);
if (isLoading) {
return (
<>
<Header />
<h3>loading ...</h3>
<Footer />
</>
);
}
return ( return (
<div className={styles.wrap}> <div className={styles.wrap}>
<Header /> <Header />