From 3ae0f11f5f1283ba907df3f295cd682ee2f52410 Mon Sep 17 00:00:00 2001 From: yui-szk <148746551+yui-szk@users.noreply.github.com> Date: Thu, 5 Sep 2024 15:01:42 +0900 Subject: [PATCH] Feature/issue38 add home screen (#40) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ホーム画面の実装を行いました --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- public/audio/ice.mp3 | Bin 0 -> 30719 bytes public/images/cocktail-glass-empty.svg | 168 +++++++++++++++++++++++++ public/images/cocktail-glass.svg | 8 +- src/components/CreateMessageTop.tsx | 29 ++++- src/components/router.tsx | 5 +- src/layout/WithHTML.tsx | 3 + src/pages/Home.tsx | 150 +++++++++++++++++++++- 7 files changed, 354 insertions(+), 9 deletions(-) create mode 100644 public/audio/ice.mp3 create mode 100644 public/images/cocktail-glass-empty.svg diff --git a/public/audio/ice.mp3 b/public/audio/ice.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..e80848b9d070b4c6ce0c9f27296eff55a6da7c77 GIT binary patch literal 30719 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

N!k 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 PzgG4?z_$MX4dK54wK9jQ literal 0 HcmV?d00001 diff --git a/public/images/cocktail-glass-empty.svg b/public/images/cocktail-glass-empty.svg new file mode 100644 index 0000000..11bef5f --- /dev/null +++ b/public/images/cocktail-glass-empty.svg @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/cocktail-glass.svg b/public/images/cocktail-glass.svg index 11bef5f..87c73f3 100644 --- a/public/images/cocktail-glass.svg +++ b/public/images/cocktail-glass.svg @@ -117,28 +117,28 @@ diff --git a/src/components/CreateMessageTop.tsx b/src/components/CreateMessageTop.tsx index f6f9b85..e85fe32 100644 --- a/src/components/CreateMessageTop.tsx +++ b/src/components/CreateMessageTop.tsx @@ -1,6 +1,19 @@ -import { css } from "@hono/hono/css"; +import { css, keyframes } from "@hono/hono/css"; import { WithHTML } from "../layout/WithHTML.tsx"; +const fadeIn = keyframes` + from { + opacity: 0; + } + to{ + opacity: 1; + } +`; + +const fadeAnimation = css` + animation: ${fadeIn} 3s forwards; +`; + const imageStyle = css` height: 85vh; display: flex; @@ -34,9 +47,19 @@ const buttonStyle = css` export const CreateMessageTop = () => { return ( -

+
+
- empty glass + empty glass
diff --git a/src/components/router.tsx b/src/components/router.tsx index 746c7ba..5da4f50 100644 --- a/src/components/router.tsx +++ b/src/components/router.tsx @@ -1,4 +1,6 @@ import { Hono } from "@hono/hono"; + +import { Home } from "../pages/Home.tsx"; import { CreateMessageTop } from "./CreateMessageTop.tsx"; import { CreateMessageSelect } from "./CreateMessageSelect.tsx"; import { CreateMessageCheck } from "./CreateMessageCheck.tsx"; @@ -10,6 +12,7 @@ import { CreateMessageCheck } from "./CreateMessageCheck.tsx"; export const createMessage = new Hono(); createMessage - .get("/", (ctx) => ctx.html()) + .get("/", (ctx) => ctx.html()) + .get("/create", (ctx) => ctx.html()) .get("/select", (ctx) => ctx.html()) .get("/check", (ctx) => ctx.html()); diff --git a/src/layout/WithHTML.tsx b/src/layout/WithHTML.tsx index 301d61f..322f062 100644 --- a/src/layout/WithHTML.tsx +++ b/src/layout/WithHTML.tsx @@ -8,6 +8,9 @@ const layoutStyle = css` padding: 0; box-sizing: border-box; + --font-jp: "Noto Serif JP", serif; + --font-en: "Cormorant Garamond", serif; + --color-black: #000000; --color-white: #ffffff; --color-main: #443d3a; diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx index a915e43..15acbb2 100644 --- a/src/pages/Home.tsx +++ b/src/pages/Home.tsx @@ -1,5 +1,124 @@ +import { css, keyframes } from "@hono/hono/css"; import { WithHTML } from "../layout/WithHTML.tsx"; +const bound = keyframes` + 0% { + top: -4rem; + opacity: 0; + } + 10% { + opacity: 1; + } + 50% { + top: 0; + opacity: 1; + } + 75% { + top: -1rem; + opacity: 1; + } + 100% { + top: 0; + opacity: 1; + } +`; + +const titleAnimation = css` + font-family: var(--font-en); + font-size: 1.75rem; + margin: 3.5rem 0; + text-align: center; + letter-spacing: 3px; + + span { + position: relative; + opacity: 0; + animation: 0.8s ease-out forwards ${bound}; + } + + #after-space { + margin-right: 0.5rem; + } + + span:nth-child(1) { + animation-delay: 0.1s; + } + + span:nth-child(2) { + animation-delay: 0.2s; + } + + span:nth-child(3) { + animation-delay: 0.3s; + } + + span:nth-child(4) { + animation-delay: 0.4s; + } + + span:nth-child(5) { + animation-delay: 0.5s; + } + + span:nth-child(6) { + animation-delay: 0.6s; + } + + span:nth-child(7) { + animation-delay: 0.7s; + } + + span:nth-child(8) { + animation-delay: 0.8s; + } + + span:nth-child(9) { + animation-delay: 1.2s; + } + + span:nth-child(10) { + animation-delay: 1.3s; + } + + span:nth-child(11) { + animation-delay: 1.4s; + } + + span:nth-child(12) { + animation-delay: 1.5s; + } + + span:nth-child(13) { + animation-delay: 1.6s; + } + + span:nth-child(14) { + animation-delay: 1.7s; + } + + span:nth-child(15) { + animation-delay: 1.8s; + } +`; + +const imageStyle = css` + height: calc(100svh - 15rem); + display: flex; + align-items: center; + justify-content: center; + + img { + height: calc(100svh - 15rem); + max-height: calc(820px - 15rem); + } +`; + +const noteStyle = css` + font-size: 0.8rem; + margin-top: 1rem; + text-align: center; +`; + /** * ホーム画面を返す */ @@ -7,7 +126,36 @@ import { WithHTML } from "../layout/WithHTML.tsx"; export const Home = () => { return ( -
+
+

+ C + o + c + k + t + a + i + l + M + e + s + s + a + g + e +

+
+
+

グラスをクリックではじめる

+

+ ※音が鳴ります +

+
+
); };