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 (
+ <>
+