Merged PR 601: ヘルプページ画面実装
## 概要 [Task3204: ヘッダ修正対応](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3204) - ヘルプページを追加して、ヘッダのタブに表示されるようにしました。 - ヘッダのタブはロールの制限なく見えるようにしています。 - ヘルプページからさらに個別のヘルプへのリンクは仮のURLにしています。 - 動作としては別タブで開くようにしています。 ## レビューポイント - パスをタブ名に合わせて`/support`としましたが不自然な点はないでしょうか? - 仮のURLがxxxとなっているため、別タブで開かれたページがNot Foundとなってしまっていますが問題ないでしょうか? ## UIの変更 - [Task3204](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/Task3204?csf=1&web=1&e=N9yn0D) ## 動作確認状況 - ローカルで確認
This commit is contained in:
parent
6db8b4cbd7
commit
cca9cf6e5e
@ -23,6 +23,7 @@ import AccountPage from "pages/AccountPage";
|
|||||||
import AcceptToUsePage from "pages/TermsPage";
|
import AcceptToUsePage from "pages/TermsPage";
|
||||||
import { TemplateFilePage } from "pages/TemplateFilePage";
|
import { TemplateFilePage } from "pages/TemplateFilePage";
|
||||||
import { AccountDeleteSuccess } from "pages/AccountPage/accountDeleteSuccess";
|
import { AccountDeleteSuccess } from "pages/AccountPage/accountDeleteSuccess";
|
||||||
|
import SupportPage from "pages/SupportPage";
|
||||||
|
|
||||||
const AppRouter: React.FC = () => (
|
const AppRouter: React.FC = () => (
|
||||||
<Routes>
|
<Routes>
|
||||||
@ -81,6 +82,10 @@ const AppRouter: React.FC = () => (
|
|||||||
element={<RouteAuthGuard component={<PartnerPage />} />}
|
element={<RouteAuthGuard component={<PartnerPage />} />}
|
||||||
/>
|
/>
|
||||||
<Route path="/accountDeleteSuccess" element={<AccountDeleteSuccess />} />
|
<Route path="/accountDeleteSuccess" element={<AccountDeleteSuccess />} />
|
||||||
|
<Route
|
||||||
|
path="/support"
|
||||||
|
element={<RouteAuthGuard component={<SupportPage />} />}
|
||||||
|
/>
|
||||||
|
|
||||||
<Route path="*" element={<NotFoundPage />} />
|
<Route path="*" element={<NotFoundPage />} />
|
||||||
</Routes>
|
</Routes>
|
||||||
|
|||||||
@ -7,6 +7,7 @@ export const HEADER_MENUS_LICENSE = "License";
|
|||||||
export const HEADER_MENUS_DICTATIONS = "Dictations";
|
export const HEADER_MENUS_DICTATIONS = "Dictations";
|
||||||
export const HEADER_MENUS_WORKFLOW = "Workflow";
|
export const HEADER_MENUS_WORKFLOW = "Workflow";
|
||||||
export const HEADER_MENUS_PARTNER = "Partners";
|
export const HEADER_MENUS_PARTNER = "Partners";
|
||||||
|
export const HEADER_MENUS_SUPPORT = "Support";
|
||||||
|
|
||||||
export const HEADER_MENUS: {
|
export const HEADER_MENUS: {
|
||||||
key: HeaderMenus;
|
key: HeaderMenus;
|
||||||
@ -43,6 +44,11 @@ export const HEADER_MENUS: {
|
|||||||
label: getTranslationID("common.label.headerPartners"),
|
label: getTranslationID("common.label.headerPartners"),
|
||||||
path: "/partners",
|
path: "/partners",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
key: HEADER_MENUS_SUPPORT,
|
||||||
|
label: getTranslationID("common.label.headerSupport"),
|
||||||
|
path: "/support",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
export const HEADER_NAME = getTranslationID("common.label.headerName");
|
export const HEADER_NAME = getTranslationID("common.label.headerName");
|
||||||
|
|||||||
@ -8,7 +8,8 @@ export type HeaderMenus =
|
|||||||
| "License"
|
| "License"
|
||||||
| "Dictations"
|
| "Dictations"
|
||||||
| "Workflow"
|
| "Workflow"
|
||||||
| "Partners";
|
| "Partners"
|
||||||
|
| "Support";
|
||||||
|
|
||||||
// ログイン後に遷移しうるパス
|
// ログイン後に遷移しうるパス
|
||||||
export type LoginedPaths =
|
export type LoginedPaths =
|
||||||
@ -17,4 +18,5 @@ export type LoginedPaths =
|
|||||||
| "/license"
|
| "/license"
|
||||||
| "/dictations"
|
| "/dictations"
|
||||||
| "/workflow"
|
| "/workflow"
|
||||||
| "/partners";
|
| "/partners"
|
||||||
|
| "/support";
|
||||||
|
|||||||
@ -20,6 +20,7 @@ export const isLoginPaths = (d: string): d is LoginedPaths => {
|
|||||||
case "/dictations":
|
case "/dictations":
|
||||||
case "/workflow":
|
case "/workflow":
|
||||||
case "/partners":
|
case "/partners":
|
||||||
|
case "/support":
|
||||||
return true;
|
return true;
|
||||||
default: {
|
default: {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
|
|||||||
90
dictation_client/src/pages/SupportPage/index.tsx
Normal file
90
dictation_client/src/pages/SupportPage/index.tsx
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
import React from "react";
|
||||||
|
import Header from "components/header";
|
||||||
|
import { UpdateTokenTimer } from "components/auth/updateTokenTimer";
|
||||||
|
import { useTranslation } from "react-i18next";
|
||||||
|
import { getTranslationID } from "translation";
|
||||||
|
import styles from "styles/app.module.scss";
|
||||||
|
|
||||||
|
const SupportPage: React.FC = () => {
|
||||||
|
const { t } = useTranslation();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className={styles.wrap}>
|
||||||
|
<Header />
|
||||||
|
<UpdateTokenTimer />
|
||||||
|
<main className={styles.main}>
|
||||||
|
<div>
|
||||||
|
<div className={styles.pageHeader}>
|
||||||
|
<h1 className={styles.pageTitle}>
|
||||||
|
{t(getTranslationID("supportPage.label.title"))}
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section className={styles.support}>
|
||||||
|
<div>
|
||||||
|
<h2>{t(getTranslationID("supportPage.label.howToUse"))}</h2>
|
||||||
|
|
||||||
|
<div className={styles.txContents}>
|
||||||
|
<ul className={styles.listDocument}>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
// TODO: 将来的に正式なURLに変更する
|
||||||
|
href="/support"
|
||||||
|
target="_blank"
|
||||||
|
className={styles.linkTx}
|
||||||
|
>
|
||||||
|
{t(
|
||||||
|
getTranslationID("supportPage.label.supportPageEnglish")
|
||||||
|
)}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
// TODO: 将来的に正式なURLに変更する
|
||||||
|
href="/support"
|
||||||
|
target="_blank"
|
||||||
|
className={styles.linkTx}
|
||||||
|
>
|
||||||
|
{t(
|
||||||
|
getTranslationID("supportPage.label.supportPageGerman")
|
||||||
|
)}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
// TODO: 将来的に正式なURLに変更する
|
||||||
|
href="/support"
|
||||||
|
target="_blank"
|
||||||
|
className={styles.linkTx}
|
||||||
|
>
|
||||||
|
{t(
|
||||||
|
getTranslationID("supportPage.label.supportPageFrench")
|
||||||
|
)}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
// TODO: 将来的に正式なURLに変更する
|
||||||
|
href="/support"
|
||||||
|
target="_blank"
|
||||||
|
className={styles.linkTx}
|
||||||
|
>
|
||||||
|
{t(
|
||||||
|
getTranslationID("supportPage.label.supportPageSpanish")
|
||||||
|
)}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p className={styles.txNormal}>
|
||||||
|
{t(getTranslationID("supportPage.text.notResolved"))}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
export default SupportPage;
|
||||||
@ -2484,8 +2484,8 @@ tr.isSelected .menuInTable li a.isDisable {
|
|||||||
}
|
}
|
||||||
.formChange ul.chooseMember li input:checked + label:hover,
|
.formChange ul.chooseMember li input:checked + label:hover,
|
||||||
.formChange ul.holdMember li input:checked + label:hover {
|
.formChange ul.holdMember li input:checked + label:hover {
|
||||||
background: #e6e6e6 url(../images/arrow_circle_right.svg) no-repeat right
|
background: #e6e6e6 url(../assets/images/arrow_circle_right.svg) no-repeat
|
||||||
center;
|
right center;
|
||||||
background-size: 1.3rem;
|
background-size: 1.3rem;
|
||||||
}
|
}
|
||||||
.formChange > p {
|
.formChange > p {
|
||||||
|
|||||||
@ -25,6 +25,7 @@
|
|||||||
"headerDictations": "(de)Dictations",
|
"headerDictations": "(de)Dictations",
|
||||||
"headerWorkflow": "(de)Workflow",
|
"headerWorkflow": "(de)Workflow",
|
||||||
"headerPartners": "(de)Partners",
|
"headerPartners": "(de)Partners",
|
||||||
|
"headerSupport": "(de)Support",
|
||||||
"tier1": "(de)Admin",
|
"tier1": "(de)Admin",
|
||||||
"tier2": "(de)BC",
|
"tier2": "(de)BC",
|
||||||
"tier3": "(de)Distributor",
|
"tier3": "(de)Distributor",
|
||||||
@ -531,5 +532,18 @@
|
|||||||
"forOdds": "(de)for ODDS.",
|
"forOdds": "(de)for ODDS.",
|
||||||
"button": "(de)Continue"
|
"button": "(de)Continue"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"supportPage": {
|
||||||
|
"label": {
|
||||||
|
"title": "(de)Support",
|
||||||
|
"howToUse": "(de)How to use the system",
|
||||||
|
"supportPageEnglish": "OMDS Cloud User Guide",
|
||||||
|
"supportPageGerman": "OMDS Cloud Benutzerhandbuch",
|
||||||
|
"supportPageFrench": "OMDS Cloud Mode d'emploi",
|
||||||
|
"supportPageSpanish": "OMDS Cloud Guía del usuario"
|
||||||
|
},
|
||||||
|
"text": {
|
||||||
|
"notResolved": "(de)If the problem persists even after referring to the user guide, please contact a higher-level person in charge."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -25,6 +25,7 @@
|
|||||||
"headerDictations": "Dictations",
|
"headerDictations": "Dictations",
|
||||||
"headerWorkflow": "Workflow",
|
"headerWorkflow": "Workflow",
|
||||||
"headerPartners": "Partners",
|
"headerPartners": "Partners",
|
||||||
|
"headerSupport": "Support",
|
||||||
"tier1": "Admin",
|
"tier1": "Admin",
|
||||||
"tier2": "BC",
|
"tier2": "BC",
|
||||||
"tier3": "Distributor",
|
"tier3": "Distributor",
|
||||||
@ -531,5 +532,18 @@
|
|||||||
"forOdds": "for ODDS.",
|
"forOdds": "for ODDS.",
|
||||||
"button": "Continue"
|
"button": "Continue"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"supportPage": {
|
||||||
|
"label": {
|
||||||
|
"title": "Support",
|
||||||
|
"howToUse": "How to use the system",
|
||||||
|
"supportPageEnglish": "OMDS Cloud User Guide",
|
||||||
|
"supportPageGerman": "OMDS Cloud Benutzerhandbuch",
|
||||||
|
"supportPageFrench": "OMDS Cloud Mode d'emploi",
|
||||||
|
"supportPageSpanish": "OMDS Cloud Guía del usuario"
|
||||||
|
},
|
||||||
|
"text": {
|
||||||
|
"notResolved": "If the problem persists even after referring to the user guide, please contact a higher-level person in charge."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -25,6 +25,7 @@
|
|||||||
"headerDictations": "(es)Dictations",
|
"headerDictations": "(es)Dictations",
|
||||||
"headerWorkflow": "(es)Workflow",
|
"headerWorkflow": "(es)Workflow",
|
||||||
"headerPartners": "(es)Partners",
|
"headerPartners": "(es)Partners",
|
||||||
|
"headerSupport": "(es)Support",
|
||||||
"tier1": "(es)Admin",
|
"tier1": "(es)Admin",
|
||||||
"tier2": "(es)BC",
|
"tier2": "(es)BC",
|
||||||
"tier3": "(es)Distributor",
|
"tier3": "(es)Distributor",
|
||||||
@ -531,5 +532,18 @@
|
|||||||
"forOdds": "(es)for ODDS.",
|
"forOdds": "(es)for ODDS.",
|
||||||
"button": "(es)Continue"
|
"button": "(es)Continue"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"supportPage": {
|
||||||
|
"label": {
|
||||||
|
"title": "(es)Support",
|
||||||
|
"howToUse": "(es)How to use the system",
|
||||||
|
"supportPageEnglish": "OMDS Cloud User Guide",
|
||||||
|
"supportPageGerman": "OMDS Cloud Benutzerhandbuch",
|
||||||
|
"supportPageFrench": "OMDS Cloud Mode d'emploi",
|
||||||
|
"supportPageSpanish": "OMDS Cloud Guía del usuario"
|
||||||
|
},
|
||||||
|
"text": {
|
||||||
|
"notResolved": "(es)If the problem persists even after referring to the user guide, please contact a higher-level person in charge."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -25,6 +25,7 @@
|
|||||||
"headerDictations": "(fr)Dictations",
|
"headerDictations": "(fr)Dictations",
|
||||||
"headerWorkflow": "(fr)Workflow",
|
"headerWorkflow": "(fr)Workflow",
|
||||||
"headerPartners": "(fr)Partners",
|
"headerPartners": "(fr)Partners",
|
||||||
|
"headerSupport": "(fr)Support",
|
||||||
"tier1": "(fr)Admin",
|
"tier1": "(fr)Admin",
|
||||||
"tier2": "(fr)BC",
|
"tier2": "(fr)BC",
|
||||||
"tier3": "(fr)Distributor",
|
"tier3": "(fr)Distributor",
|
||||||
@ -531,5 +532,18 @@
|
|||||||
"forOdds": "(fr)for ODDS.",
|
"forOdds": "(fr)for ODDS.",
|
||||||
"button": "(fr)Continue"
|
"button": "(fr)Continue"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"supportPage": {
|
||||||
|
"label": {
|
||||||
|
"title": "(fr)Support",
|
||||||
|
"howToUse": "(fr)How to use the system",
|
||||||
|
"supportPageEnglish": "OMDS Cloud User Guide",
|
||||||
|
"supportPageGerman": "OMDS Cloud Benutzerhandbuch",
|
||||||
|
"supportPageFrench": "OMDS Cloud Mode d'emploi",
|
||||||
|
"supportPageSpanish": "OMDS Cloud Guía del usuario"
|
||||||
|
},
|
||||||
|
"text": {
|
||||||
|
"notResolved": "(fr)If the problem persists even after referring to the user guide, please contact a higher-level person in charge."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user