From 647290eeba485c59a684564c5eeff60c844655ad Mon Sep 17 00:00:00 2001 From: Yusuke Nakamura Date: Mon, 22 Apr 2024 00:35:56 +0900 Subject: [PATCH 1/2] feat: logout button --- app/(authenticated)/sports/[id]/page.tsx | 6 ++++++ components/layout/navigation.tsx | 23 +++++++++++++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/app/(authenticated)/sports/[id]/page.tsx b/app/(authenticated)/sports/[id]/page.tsx index 686ef0b..b063f4f 100644 --- a/app/(authenticated)/sports/[id]/page.tsx +++ b/app/(authenticated)/sports/[id]/page.tsx @@ -3,6 +3,7 @@ import {SportInfoField} from "@/components/sports/sportInfoField"; import {Accordion, AccordionSummary, AccordionDetails, Stack, Grid, Link, Typography, Breadcrumbs} from "@mui/material"; import {ButtonLarge} from "@/components/layout/buttonLarge"; import {HiChevronDown} from "react-icons/hi2"; +import CardList from "@/components/layout/cardList"; export default function SportPage() { return( @@ -35,6 +36,11 @@ export default function SportPage() { Bリーグ + + + + + ) } \ No newline at end of file diff --git a/components/layout/navigation.tsx b/components/layout/navigation.tsx index 6d9cae0..86a962f 100644 --- a/components/layout/navigation.tsx +++ b/components/layout/navigation.tsx @@ -1,8 +1,8 @@ 'use client' import * as React from 'react' -import {AppBar, Box, Button, Drawer, Stack, SvgIcon, Toolbar, Typography} from "@mui/material"; +import {AppBar, Box, Button, Drawer, IconButton, Stack, SvgIcon, Toolbar, Typography} from "@mui/material"; import Image from "next/image"; -import {HiHome, HiMegaphone, HiMiniNewspaper, HiUser, HiUserGroup, HiTableCells, HiRectangleGroup, HiTrophy} from "react-icons/hi2"; +import {HiHome, HiMegaphone, HiMiniNewspaper, HiUser, HiUserGroup, HiTableCells, HiRectangleGroup, HiTrophy, HiArrowRightOnRectangle} from "react-icons/hi2"; import WiderLogo from "@/components/svg/wider"; import Link from "next/link" @@ -162,6 +162,25 @@ export const Navigation = () => { + (C)2024 From 347942e64c5edc4da8c5d57723a50b99504f549c Mon Sep 17 00:00:00 2001 From: Yusuke Nakamura Date: Wed, 24 Apr 2024 23:46:57 +0900 Subject: [PATCH 2/2] feat: Navigation IconButton Mockup --- components/layout/navPrivacyPolicyDrawer.tsx | 77 +++++++++++++++++++ components/layout/navigation.tsx | 40 +++++----- components/layout/privacyPolicy.tsx | 79 ++++++++++++++++++++ components/layout/privacyPolicyDrawer.tsx | 75 +------------------ 4 files changed, 177 insertions(+), 94 deletions(-) create mode 100644 components/layout/navPrivacyPolicyDrawer.tsx create mode 100644 components/layout/privacyPolicy.tsx diff --git a/components/layout/navPrivacyPolicyDrawer.tsx b/components/layout/navPrivacyPolicyDrawer.tsx new file mode 100644 index 0000000..d8b1281 --- /dev/null +++ b/components/layout/navPrivacyPolicyDrawer.tsx @@ -0,0 +1,77 @@ +'use client' +import {Container, Button, AppBar, Box, SwipeableDrawer, IconButton, Tooltip, BottomNavigation,} from "@mui/material"; +import React from 'react'; +import {HiBuildingLibrary, HiXMark} from "react-icons/hi2"; +import PrivacyPolicy from "@/components/layout/privacyPolicy"; + +const NavPrivacyPolicyDrawer = () => { + const [open, setOpen] = React.useState(false); + + const toggleDrawer = (newOpen: boolean) => () => { + setOpen(newOpen); + }; + + const DrawerList = ( + <> + + + + + + + + + + + + ); + + return ( + <> + + + + + + + {DrawerList} + + + ); +}; + +export default NavPrivacyPolicyDrawer; diff --git a/components/layout/navigation.tsx b/components/layout/navigation.tsx index 86a962f..96181ec 100644 --- a/components/layout/navigation.tsx +++ b/components/layout/navigation.tsx @@ -1,10 +1,12 @@ 'use client' import * as React from 'react' -import {AppBar, Box, Button, Drawer, IconButton, Stack, SvgIcon, Toolbar, Typography} from "@mui/material"; +import {AppBar, Box, Button, Drawer, IconButton, Stack, SvgIcon, Toolbar, Tooltip, Typography} from "@mui/material"; import Image from "next/image"; import {HiHome, HiMegaphone, HiMiniNewspaper, HiUser, HiUserGroup, HiTableCells, HiRectangleGroup, HiTrophy, HiArrowRightOnRectangle} from "react-icons/hi2"; +import {SiGithub} from "react-icons/si"; import WiderLogo from "@/components/svg/wider"; import Link from "next/link" +import NavPrivacyPolicyDrawer from "@/components/layout/navPrivacyPolicyDrawer"; export const Navigation = () => { const drawerWidth = 303; @@ -30,7 +32,7 @@ export const Navigation = () => { sx: { backgroundColor: "#7F8CD6", color: "#fff", - mt:8 + pt:8 } }} sx={{ @@ -162,26 +164,20 @@ export const Navigation = () => { - - + + + + + + + + + + + + + + (C)2024 diff --git a/components/layout/privacyPolicy.tsx b/components/layout/privacyPolicy.tsx new file mode 100644 index 0000000..fcd4598 --- /dev/null +++ b/components/layout/privacyPolicy.tsx @@ -0,0 +1,79 @@ +import {Stack, Divider, Typography, Card, Container} from "@mui/material"; +import WiderLogo from "@/components/svg/wider"; + +const PrivacyPolicy = () => { + return ( + + + SPORTSDAYの個人情報取り扱い方針 + + どのような情報を収集しますか? + 当サイトを利用すると、以下の情報が収集されることがあります。 + + + 基本的なアカウント情報 + + 当サイトを利用するためには、Microsoftアカウントの基本的な情報(名前・アイコン)を取得します。また、参加する競技やチーム・リーグ・トーナメント・得点状況といった大会進行にしたがって必要な情報は、SPORTSDAY Adminを用いて登録されます。これらの情報は他のSPORTSDAYユーザーに公開されます。 + + + + + Cookie + + 当サイトを利用すると、お使いのブラウザのCookieを利用します。CookieはSPORTSDAYの利用に伴う情報のみが保存・利用されます。Cookieが許可されていなければ、SPORTSDAYが正常に動作しない可能性があります。 + + + + + その他のデータ + + アンケートや基本的な使用状況(アクセス数)は、SPORTSDAYの管理者(大会運営者)が閲覧することがあります。 + + + + 情報は何に使用されますか? + 収集した情報は次のように使用されることがあります。 + + + SPORTSDAYのコア機能の提供 + + 基本的なアカウント情報は大会実施期間に限り、他のユーザーに競技一覧や進行状況として見ることで、大会の現況を把握することができるようにするために使用されます。また、大会運営者が大会前にリーグ・トーナメント・試合時間の調整を行う際や、大会進行時に競技の得点を入力する際に、ユーザーまたはチームを識別するために最低限の情報を表示することがあります。 + + + + + ログイン状態の識別 + + Cookieは、主にSPORTSDAYにログインしているかどうかを識別するために利用されます。 + + + + + SPORTSDAYの改善 + + 当サイトでは、一部でアクセス解析ツールであるGoogle Analyticsを使用しており、そのためにCookieを利用することがあります。アンケートの回答結果やアクセス数などの情報は、SPORTSDAYの開発者や運営者が今後のシステム改善のためだけに閲覧することがあります。 + + + + 情報をどのように保護しますか? + SPORTSDAY開発者は、ユーザーが入力・送信する際や自身の情報にアクセスする際に個人情報を安全に保つため、さまざまなセキュリティ上の対策を実施しています。アプリケーションとユーザーの間の通信はSSL/TLSによって保護されます。また、ログイン処理はOIDCを用いており、SPORTSDAY開発者はパスワードなどの情報を一切収集することができません。 + + データの保持はどのように行われますか? + SPORTSDAY開発者は誠意を持って次のように努めます:大会を通して収集されたアンケート結果以外のデータは、大会期間(大会当日の前後約1ヶ月)のみサーバーに保持されます。大会期間を過ぎると直ちに削除され、サーバーのストレージを完全にクリーンな状態にして安全に処理します。 + + 何らかの情報を外部に提供していますか? + SPORTSDAY開発者は、個人を特定できるいかなる情報を外部へ提供・流出することはありません。ただし、アンケート結果から得られた評価など、実際の大会で得られたデータのうち個人の特定が不可能な情報のみをSPORTSDAYのプロモーションや発表のために利用する場合があります。 + + プライバシーポリシーの変更について + プライバシーポリシーの変更があった場合、このページに変更を掲載します。 + 最終更新:2024年4月17日 + + (C)2024 + + + + + ); +}; + +export default PrivacyPolicy; diff --git a/components/layout/privacyPolicyDrawer.tsx b/components/layout/privacyPolicyDrawer.tsx index 92bc71c..c2300a7 100644 --- a/components/layout/privacyPolicyDrawer.tsx +++ b/components/layout/privacyPolicyDrawer.tsx @@ -1,8 +1,8 @@ 'use client' -import {Container, Button, Card, Stack, Typography, AppBar, Box, SwipeableDrawer, Divider} from "@mui/material"; +import {Container, Button, AppBar, Box, SwipeableDrawer, } from "@mui/material"; import React from 'react'; import {HiXMark} from "react-icons/hi2"; -import WiderLogo from "@/components/svg/wider"; +import PrivacyPolicy from "@/components/layout/privacyPolicy"; const PrivacyPolicyDrawer = () => { const [open, setOpen] = React.useState(false); @@ -40,76 +40,7 @@ const PrivacyPolicyDrawer = () => { onClick={toggleDrawer(false)} onKeyDown={toggleDrawer( false)} > - - - SPORTSDAYの個人情報取り扱い方針 - - どのような情報を収集しますか? - 当サイトを利用すると、以下の情報が収集されることがあります。 - - - 基本的なアカウント情報 - - 当サイトを利用するためには、Microsoftアカウントの基本的な情報(名前・アイコン)を取得します。また、参加する競技やチーム・リーグ・トーナメント・得点状況といった大会進行にしたがって必要な情報は、SPORTSDAY Adminを用いて登録されます。これらの情報は他のSPORTSDAYユーザーに公開されます。 - - - - - Cookie - - 当サイトを利用すると、お使いのブラウザのCookieを利用します。CookieはSPORTSDAYの利用に伴う情報のみが保存・利用されます。Cookieが許可されていなければ、SPORTSDAYが正常に動作しない可能性があります。 - - - - - その他のデータ - - アンケートや基本的な使用状況(アクセス数)は、SPORTSDAYの管理者(大会運営者)が閲覧することがあります。 - - - - 情報は何に使用されますか? - 収集した情報は次のように使用されることがあります。 - - - SPORTSDAYのコア機能の提供 - - 基本的なアカウント情報は大会実施期間に限り、他のユーザーに競技一覧や進行状況として見ることで、大会の現況を把握することができるようにするために使用されます。また、大会運営者が大会前にリーグ・トーナメント・試合時間の調整を行う際や、大会進行時に競技の得点を入力する際に、ユーザーまたはチームを識別するために最低限の情報を表示することがあります。 - - - - - ログイン状態の識別 - - Cookieは、主にSPORTSDAYにログインしているかどうかを識別するために利用されます。 - - - - - SPORTSDAYの改善 - - 当サイトでは、一部でアクセス解析ツールであるGoogle Analyticsを使用しており、そのためにCookieを利用することがあります。アンケートの回答結果やアクセス数などの情報は、SPORTSDAYの開発者や運営者が今後のシステム改善のためだけに閲覧することがあります。 - - - - 情報をどのように保護しますか? - SPORTSDAY開発者は、ユーザーが入力・送信する際や自身の情報にアクセスする際に個人情報を安全に保つため、さまざまなセキュリティ上の対策を実施しています。アプリケーションとユーザーの間の通信はSSL/TLSによって保護されます。また、ログイン処理はOIDCを用いており、SPORTSDAY開発者はパスワードなどの情報を一切収集することができません。 - - データの保持はどのように行われますか? - SPORTSDAY開発者は誠意を持って次のように努めます:大会を通して収集されたアンケート結果以外のデータは、大会期間(大会当日の前後約1ヶ月)のみサーバーに保持されます。大会期間を過ぎると直ちに削除され、サーバーのストレージを完全にクリーンな状態にして安全に処理します。 - - 何らかの情報を外部に提供していますか? - SPORTSDAY開発者は、個人を特定できるいかなる情報を外部へ提供・流出することはありません。ただし、アンケート結果から得られた評価など、実際の大会で得られたデータのうち個人の特定が不可能な情報のみをSPORTSDAYのプロモーションや発表のために利用する場合があります。 - - プライバシーポリシーの変更について - プライバシーポリシーの変更があった場合、このページに変更を掲載します。 - 最終更新:2024年4月17日 - - (C)2024 - - - - + );