diff --git a/frontend/messages/en.json b/frontend/messages/en.json index ddf6ca6..ea4813f 100644 --- a/frontend/messages/en.json +++ b/frontend/messages/en.json @@ -12,10 +12,14 @@ "usability_detail": "The defined test cases can be used over and over again in test runs. The status of test runs and projects can be viewed graphically.", "universal_title": "Universal", "universal_detail": "Multi language support and dark theme allow anyone to use the system without any inconvenience.", - "organize_test_cases": "Organize test cases and manage tests graphically", - "case_edit": "Test Cases", - "case_home": "Dashboard", - "case_run": "Test Runs" + "project_title": "Project-based", + "project_subtitle": "Test cases and test runs are managed for each project. A dashboard allows you to check test case types and progress status.", + "case_management_title": "Test Case Management", + "case_management_subtitle": "Create a project or folder and define test cases.", + "run_management_title": "Test Run Management", + "run_management_subtitle": "The defined test cases can be used over and over again in test runs. The status of test runs and projects can be viewed graphically.", + "member_management_title": "Member Management", + "member_management_subtitle": "You can add/delete project members and set roles for each member." }, "Header": { "title": "Open Source Test Case Management System", diff --git a/frontend/messages/ja.json b/frontend/messages/ja.json index c8945a8..b44e300 100644 --- a/frontend/messages/ja.json +++ b/frontend/messages/ja.json @@ -12,10 +12,14 @@ "usability_detail": "定義したテストケースはテストランで何度も繰り返し使用可能です。テストランやプロジェクトのステータスをグラフで確認できます。", "universal_title": "ユニバーサル", "universal_detail": "多言語対応やダークテーマ機能により誰もが不自由なく使うことができます。", - "organize_test_cases": "テストケースを整理とグラフィカルなテスト管理", - "case_edit": "テストケース", - "case_home": "ダッシュボード", - "case_run": "テストラン" + "project_title": "プロジェクトベース", + "project_subtitle": "プロジェクトごとにテストケース, テスト実行を管理します。テストケースの種類や進捗状況をダッシュボードで確認できます。", + "case_management_title": "テストケース管理", + "case_management_subtitle": "プロジェクトやフォルダーを作成し、テストケースを定義します。", + "run_management_title": "テストラン管理", + "run_management_subtitle": "定義したテストケースはテストランで何度も繰り返し使用可能です。テストランやプロジェクトのステータスをグラフで確認できます。", + "member_management_title": "メンバー管理", + "member_management_subtitle": "プロジェクトメンバーを追加/削除したり、各メンバーに役割を設定することができます。" }, "Header": { "title": "オープンソーステストケース管理システム", diff --git a/frontend/public/top/caseEdit.png b/frontend/public/top/caseEdit.png deleted file mode 100644 index c981bd4..0000000 Binary files a/frontend/public/top/caseEdit.png and /dev/null differ diff --git a/frontend/public/top/caseHome.png b/frontend/public/top/caseHome.png deleted file mode 100644 index a4dfb54..0000000 Binary files a/frontend/public/top/caseHome.png and /dev/null differ diff --git a/frontend/public/top/caseRun.png b/frontend/public/top/caseRun.png deleted file mode 100644 index 65714fd..0000000 Binary files a/frontend/public/top/caseRun.png and /dev/null differ diff --git a/frontend/public/top/dark/case.png b/frontend/public/top/dark/case.png new file mode 100644 index 0000000..38ca2c4 Binary files /dev/null and b/frontend/public/top/dark/case.png differ diff --git a/frontend/public/top/dark/member.png b/frontend/public/top/dark/member.png new file mode 100644 index 0000000..b0fde19 Binary files /dev/null and b/frontend/public/top/dark/member.png differ diff --git a/frontend/public/top/dark/project.png b/frontend/public/top/dark/project.png new file mode 100644 index 0000000..7d28b9a Binary files /dev/null and b/frontend/public/top/dark/project.png differ diff --git a/frontend/public/top/dark/run.png b/frontend/public/top/dark/run.png new file mode 100644 index 0000000..f23ff6c Binary files /dev/null and b/frontend/public/top/dark/run.png differ diff --git a/frontend/public/top/light/case.png b/frontend/public/top/light/case.png new file mode 100644 index 0000000..01f2eb1 Binary files /dev/null and b/frontend/public/top/light/case.png differ diff --git a/frontend/public/top/light/member.png b/frontend/public/top/light/member.png new file mode 100644 index 0000000..1320721 Binary files /dev/null and b/frontend/public/top/light/member.png differ diff --git a/frontend/public/top/light/project.png b/frontend/public/top/light/project.png new file mode 100644 index 0000000..872c7c4 Binary files /dev/null and b/frontend/public/top/light/project.png differ diff --git a/frontend/public/top/light/run.png b/frontend/public/top/light/run.png new file mode 100644 index 0000000..94a8fcf Binary files /dev/null and b/frontend/public/top/light/run.png differ diff --git a/frontend/src/app/[locale]/DemoImage.tsx b/frontend/src/app/[locale]/DemoImage.tsx new file mode 100644 index 0000000..59ab3fb --- /dev/null +++ b/frontend/src/app/[locale]/DemoImage.tsx @@ -0,0 +1,32 @@ +'use client'; +import { Image } from '@nextui-org/react'; +import { useState, useEffect } from 'react'; +import { useTheme } from 'next-themes'; + +type Props = { + imageName: string; + altText: string; +}; + +export default function DemoImage({ imageName, altText }: Props) { + const { theme, setTheme } = useTheme(); + const [currentTheme, setCurrentTheme] = useState('light'); + + useEffect(() => { + if (theme) { + setCurrentTheme(theme); + } + }, [theme]); + + return ( + <> + {altText} + + ); +} diff --git a/frontend/src/app/[locale]/PaneDemoImages.tsx b/frontend/src/app/[locale]/PaneDemoImages.tsx deleted file mode 100644 index baeef2e..0000000 --- a/frontend/src/app/[locale]/PaneDemoImages.tsx +++ /dev/null @@ -1,76 +0,0 @@ -'use client'; -import { title } from '@/components/primitives'; -import { useState, useEffect } from 'react'; -import { Tabs, Tab, Image } from '@nextui-org/react'; - -type PaneDemoImagesMessages = { - title: string; - caseEdit: string; - caseHome: string; - caseRun: string; -}; -type Props = { - messages: PaneDemoImagesMessages; -}; - -export default function DemoImages({ messages }: Props) { - const [currentTab, setcurrentTab] = useState('edit'); - const [currentImage, setcurrentImage] = useState({ - src: '/top/caseEdit.png', - alt: messages.caseEdit, - }); - const tabs = [ - { - key: 'edit', - title: messages.caseEdit, - src: '/top/caseEdit.png', - alt: messages.caseEdit, - }, - { - key: 'home', - title: messages.caseHome, - src: '/top/caseHome.png', - alt: messages.caseHome, - }, - { - key: 'run', - title: messages.caseRun, - src: '/top/caseRun.png', - alt: messages.caseRun, - }, - ]; - - useEffect(() => { - const found = tabs.find((tab) => tab.key === currentTab); - const newImage = { src: found.src, alt: found.title }; - setcurrentImage(newImage); - }, [currentTab]); - - return ( - <> -
-
-

{messages.title}

-
- - {tabs.map((tab) => ( - - ))} - -
- -
- {currentImage.alt} -
-
- - ); -} diff --git a/frontend/src/app/[locale]/page.tsx b/frontend/src/app/[locale]/page.tsx index a8db48c..98dfb2b 100644 --- a/frontend/src/app/[locale]/page.tsx +++ b/frontend/src/app/[locale]/page.tsx @@ -1,18 +1,35 @@ import { useTranslations } from 'next-intl'; -import { Divider } from '@nextui-org/react'; +import { Image, Divider } from '@nextui-org/react'; +import { title, subtitle } from '@/components/primitives'; import PaneMainTitle from './PaneMainTitle'; import PaneMainFeatures from './PaneMainFeatures'; -import PaneDemoImages from './PaneDemoImages'; +import DemoImage from './DemoImage'; export default function Home(params: { locale: string }) { const t = useTranslations('Index'); - const messages = { - title: t('organize_test_cases'), - caseEdit: t('case_edit'), - caseHome: t('case_home'), - caseRun: t('case_run'), - }; + const demoImages = [ + { + uid: 'project', + title: t('project_title'), + subTitle: t('project_subtitle'), + }, + { + uid: 'case', + title: t('case_management_title'), + subTitle: t('case_management_subtitle'), + }, + { + uid: 'run', + title: t('run_management_title'), + subTitle: t('run_management_subtitle'), + }, + { + uid: 'member', + title: t('member_management_title'), + subTitle: t('member_management_subtitle'), + }, + ]; return (
@@ -63,7 +80,20 @@ export default function Home(params: { locale: string }) { - +
+ {demoImages.map((demoImage) => ( +
+
+

{demoImage.title}

+

{demoImage.subTitle}

+
+ +
+ +
+
+ ))} +