diff --git a/web/src/__generated__/gatsby-types.ts b/web/src/__generated__/gatsby-types.ts index 1579507..beac083 100644 --- a/web/src/__generated__/gatsby-types.ts +++ b/web/src/__generated__/gatsby-types.ts @@ -2820,19 +2820,18 @@ declare namespace GatsbyTypes { readonly order: Maybe>> } - type SEOQueryVariables = Exact<{ [key: string]: never }> + type NewsTemplateQueryVariables = Exact<{ + id: Scalars["String"] + }> - type SEOQuery = { - readonly site: Maybe<{ - readonly siteMetadata: Maybe< - Pick & { - defaultTitle: SiteSiteMetadata["title"] - defaultDescription: SiteSiteMetadata["description"] - siteUrl: SiteSiteMetadata["url"] - defaultImage: SiteSiteMetadata["image"] - } - > - }> + type NewsTemplateQuery = { + readonly markdownRemark: Maybe< + Pick & { + readonly frontmatter: Maybe< + Pick + > + } + > } type IndexPageQueryVariables = Exact<{ [key: string]: never }> @@ -2841,30 +2840,33 @@ declare namespace GatsbyTypes { readonly site: Maybe<{ readonly siteMetadata: Maybe> }> - readonly allMarkdownRemark: { + readonly allFile: { readonly nodes: ReadonlyArray< - Pick & { - readonly frontmatter: Maybe< - Pick + Pick & { + readonly childMarkdownRemark: Maybe< + Pick & { + readonly frontmatter: Maybe< + Pick + > + } > - readonly parent: Maybe> } > } } - type NewsPageQueryVariables = Exact<{ [key: string]: never }> - type NewsPageQuery = { - readonly allMarkdownRemark: { - readonly nodes: ReadonlyArray< - Pick & { - readonly parent: Maybe> + type ReadmeQueryVariables = Exact<{ [key: string]: never }> + + type ReadmeQuery = { + readonly file: Maybe<{ + readonly childMarkdownRemark: Maybe< + Pick & { readonly frontmatter: Maybe< - Pick + Pick > } > - } + }> } type GatsbyImageSharpFixedFragment = Pick< @@ -2950,31 +2952,33 @@ declare namespace GatsbyTypes { "aspectRatio" | "src" | "srcSet" | "srcWebp" | "srcSetWebp" | "sizes" > - type NewsTemplateQueryVariables = Exact<{ - id: Scalars["String"] - }> + type SEOQueryVariables = Exact<{ [key: string]: never }> - type NewsTemplateQuery = { - readonly markdownRemark: Maybe< - Pick & { - readonly frontmatter: Maybe< - Pick - > - } - > + type SEOQuery = { + readonly site: Maybe<{ + readonly siteMetadata: Maybe< + Pick & { + defaultTitle: SiteSiteMetadata["title"] + defaultDescription: SiteSiteMetadata["description"] + siteUrl: SiteSiteMetadata["url"] + defaultImage: SiteSiteMetadata["image"] + } + > + }> } - type ReadmeQueryVariables = Exact<{ [key: string]: never }> + type NewsPageQueryVariables = Exact<{ [key: string]: never }> - type ReadmeQuery = { - readonly file: Maybe<{ - readonly childMarkdownRemark: Maybe< - Pick & { + type NewsPageQuery = { + readonly allMarkdownRemark: { + readonly nodes: ReadonlyArray< + Pick & { + readonly parent: Maybe> readonly frontmatter: Maybe< - Pick + Pick > } > - }> + } } } diff --git a/web/src/news/2021-03-24_shutdown.md b/web/src/news/2021-03-24_shutdown.md new file mode 100644 index 0000000..a9ea42b --- /dev/null +++ b/web/src/news/2021-03-24_shutdown.md @@ -0,0 +1,11 @@ +--- +date: "2021-03-24" +title: サービス停止について +--- + +大学との幾度かの面談の末、YCUスケジュールはサービスを停止することといたしました。 +今まで利用していただいた方や、応援していただいた方に心から御礼申し上げます。 +YCUスケジュールは停止してしまいますが、これからもより便利でより快適な大学生活を送るためのサービスを開発していきます。何卒よろしくお願いします。 +なお、YCUスケジュールについてや、その他要望などあればYCUスケジュールの開発サークルの[Engine](https://twitter.com/ycu_engine)へメッセージいただければと思います。 + +短い間でしたが、本当にありがとうございました。 diff --git a/web/src/pages/index.tsx b/web/src/pages/index.tsx index c231cc4..65e0f64 100644 --- a/web/src/pages/index.tsx +++ b/web/src/pages/index.tsx @@ -16,30 +16,29 @@ import { apiBasePath } from "~/lib/api/base" const IndexPage = (): JSX.Element => { console.log(apiBasePath) - const { - site, - allMarkdownRemark, - } = useStaticQuery(graphql` + const { site, allFile } = useStaticQuery(graphql` query IndexPage { site { siteMetadata { description } } - allMarkdownRemark( - sort: { fields: frontmatter___date, order: DESC } + allFile( + filter: { sourceInstanceName: { eq: "news" } } + sort: { + fields: childrenMarkdownRemark___frontmatter___date + order: DESC + } limit: 1 ) { nodes { id - htmlAst - frontmatter { - date - title - } - parent { - ... on File { - name + name + childMarkdownRemark { + htmlAst + frontmatter { + date + title } } } @@ -47,9 +46,7 @@ const IndexPage = (): JSX.Element => { } `) - const latestNews = useMemo(() => allMarkdownRemark.nodes[0], [ - allMarkdownRemark.nodes, - ]) + const latestNews = useMemo(() => allFile.nodes[0], [allFile.nodes]) return ( @@ -80,9 +77,11 @@ const IndexPage = (): JSX.Element => { 📗 お知らせ - {latestNews.frontmatter?.title} - {latestNews.frontmatter?.date} - {renderAst(latestNews.htmlAst)} + + {latestNews.childMarkdownRemark?.frontmatter?.title} + + {latestNews.childMarkdownRemark?.frontmatter?.date} + {renderAst(latestNews.childMarkdownRemark?.htmlAst)} 以前のお知らせ diff --git a/web/src/pages/login.tsx b/web/src/pages/login.tsx index f2f29e0..0ff83fa 100644 --- a/web/src/pages/login.tsx +++ b/web/src/pages/login.tsx @@ -1,87 +1,83 @@ -import { useMsal } from "@azure/msal-react" -import { Fragment, memo } from "react" -import { Button, ButtonList } from "~/components/molecules/Button" +import { Fragment } from "react" import { Card } from "~/components/molecules/Card" import { Heading1 } from "~/components/molecules/Heading" import { InnerLink, Paragraph } from "~/components/molecules/Typography" import { SEO } from "~/components/organisms/SEO" -import { loginRequest } from "~/lib/msal" -import { useToast } from "~/store/toast" -const LoginPageBody = memo(() => { - const { createToast } = useToast() - const { instance, accounts, inProgress } = useMsal() +// const LoginPageBody = memo(() => { +// const { createToast } = useToast() +// const { instance, accounts, inProgress } = useMsal() - if (accounts.length > 0) { - const account = accounts[0] - return ( - - - - {account.username} - でログインしています! -
- アカウントが違う場合やログアウトする場合は下のボタンをクリックしてください。 -
-
- - - -
- ) - } else if (inProgress === "login") { - return ( - - ただいまログイン処理中です... - - ) - } else { - return ( - - - - 会員登録は不要でMicrosoftのアカウントでログインするだけで、すぐに利用を開始することができます。 -
- 利用上の注意 - を確認した上でYCUスケジュールの利用を開始しましょう。 -
-
- - - -
- ) - } -}) +// if (accounts.length > 0) { +// const account = accounts[0] +// return ( +// +// +// +// {account.username} +// でログインしています! +//
+// アカウントが違う場合やログアウトする場合は下のボタンをクリックしてください。 +//
+//
+// +// +// +//
+// ) +// } else if (inProgress === "login") { +// return ( +// +// ただいまログイン処理中です... +// +// ) +// } else { +// return ( +// +// +// +// 会員登録は不要でMicrosoftのアカウントでログインするだけで、すぐに利用を開始することができます。 +//
+// 利用上の注意 +// を確認した上でYCUスケジュールの利用を開始しましょう。 +//
+//
+// +// +// +//
+// ) +// } +// }) const LoginPage = (): JSX.Element => { return ( @@ -94,8 +90,17 @@ const LoginPage = (): JSX.Element => {
また、 yokohama-cu.ac.jp 以外のアカウントでは利用できません。 + + YCUスケジュールは現在サービスを停止しています。 +
+ 詳しくは、 + + サービス停止について + + をご覧ください。 +
- + {/* */}
) } diff --git a/web/src/pages/news.tsx b/web/src/pages/news.tsx index 3cb6e0d..ae4d47e 100644 --- a/web/src/pages/news.tsx +++ b/web/src/pages/news.tsx @@ -33,6 +33,7 @@ const NewsPage = (): JSX.Element => { parent { ... on File { name + sourceInstanceName } } excerptAst(pruneLength: 50, truncate: true) @@ -48,9 +49,11 @@ const NewsPage = (): JSX.Element => { return ( - {data.allMarkdownRemark.nodes.map((news) => ( - - ))} + {data.allMarkdownRemark.nodes + .filter((node) => node.parent?.sourceInstanceName === "news") + .map((news) => ( + + ))} ) } diff --git a/ycu-schedule.code-workspace b/ycu-schedule.code-workspace new file mode 100644 index 0000000..e28df28 --- /dev/null +++ b/ycu-schedule.code-workspace @@ -0,0 +1,12 @@ +{ + "folders": [ + { + "path": ".", + "name": "root" + }, + { + "path": "web", + "name": "web" + } + ] +} \ No newline at end of file