-
Notifications
You must be signed in to change notification settings - Fork 0
Dev #32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dev #32
Changes from all commits
7d914d0
c18e23c
cac8fa1
9a52c32
f1eb5e9
2001484
0bb920a
d2b98c2
1dfcaee
68c0437
0528ec9
9875e18
75a6892
a203ed8
6eb709c
c769969
4af46b5
0d8ed8f
aaeb193
acc9778
21c3cd2
93f5cd2
50899c3
9511ada
9b98a8d
a69e7a7
7b8e188
6296dd6
d6a5869
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,16 +1,33 @@ | ||
| <!doctype html> | ||
| <html lang="ko"> | ||
| <head> | ||
| <meta charset="utf-8" /> | ||
| <link rel="icon" href="%sveltekit.assets%/favicon.png" /> | ||
| <link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin /> | ||
| <link rel="stylesheet" as="style" crossorigin | ||
| href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css" /> | ||
| <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" /> | ||
| <title>๋จํ๋ฐ๋</title> | ||
| %sveltekit.head% | ||
| </head> | ||
| <body data-sveltekit-preload-data="hover"> | ||
| <div style="display: contents">%sveltekit.body%</div> | ||
| </body> | ||
| </html> | ||
|
|
||
| <head> | ||
| <meta charset="utf-8" /> | ||
| <link rel="icon" href="%sveltekit.assets%/images/icons/MSGS_Favicon.ico" /> | ||
| <link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin /> | ||
| <link rel="stylesheet" as="style" crossorigin | ||
| href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css" /> | ||
| <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" /> | ||
| <title>๋จํ๋ฐ๋</title> | ||
|
|
||
| <!-- SEO & Metadata --> | ||
| <meta name="description" content="๋จํ๋ฐ๋ 13๊ธฐ ๋ฉ์๊ฒฐ์ฐ - ๋น์ ์ ๋ฉ์ดํ ์ฌ์ ์ ๊ธฐ๋กํ์ธ์." /> | ||
| <meta property="og:type" content="website" /> | ||
| <meta property="og:title" content="๋จํ๋ฐ๋" /> | ||
| <meta property="og:description" content="๋จํ๋ฐ๋ 13๊ธฐ ๋ฉ์๊ฒฐ์ฐ - ๋น์ ์ ๋ฉ์ดํ ์ฌ์ ์ ๊ธฐ๋กํ์ธ์." /> | ||
| <meta property="og:image" content="%sveltekit.assets%/images/thumbnail.png" /> | ||
| <meta property="og:url" content="https://gc-maplewind.github.io/MSGS_13_F/" /> | ||
|
|
||
| <meta name="twitter:card" content="summary_large_image" /> | ||
| <meta name="twitter:title" content="๋จํ๋ฐ๋" /> | ||
| <meta name="twitter:description" content="๋จํ๋ฐ๋ 13๊ธฐ ๋ฉ์๊ฒฐ์ฐ - ๋น์ ์ ๋ฉ์ดํ ์ฌ์ ์ ๊ธฐ๋กํ์ธ์." /> | ||
| <meta name="twitter:image" content="%sveltekit.assets%/images/thumbnail.png" /> | ||
|
Comment on lines
+13
to
+24
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. SEO ๋ฉํ ํ๊ทธ( |
||
|
|
||
| %sveltekit.head% | ||
| </head> | ||
|
|
||
| <body data-sveltekit-preload-data="hover"> | ||
| <div style="display: contents">%sveltekit.body%</div> | ||
| </body> | ||
|
|
||
| </html> | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -23,6 +23,9 @@ | |
| let studentIdInputRef: HTMLDivElement | undefined = $state(); | ||
| let dialogEl: HTMLDivElement | undefined = $state(); | ||
|
|
||
| // ์๋ฌ ๋ฉ์์ง ์ํ | ||
| let errorMessage = $state(""); | ||
|
|
||
| // ์ ๋๋ฉ์ด์ ์ ์ํ ์ํ | ||
| let isVisible = $state(false); | ||
|
|
||
|
|
@@ -32,24 +35,24 @@ | |
| isVisible = true; | ||
| }, 10); | ||
|
|
||
| const savedName = getSavedName(); | ||
| if (savedName) { | ||
| name = savedName.slice(0, 3); | ||
| saveName = true; | ||
| } | ||
| const savedName = getSavedName(); | ||
| if (savedName) { | ||
| name = savedName.slice(0, 3); | ||
| saveName = true; | ||
| } | ||
|
|
||
| dialogEl?.focus(); | ||
| const handleEscape = (e: KeyboardEvent) => { | ||
| if (e.key === "Escape") { | ||
| handleClose(); | ||
| } | ||
| }; | ||
| dialogEl?.focus(); | ||
| const handleEscape = (e: KeyboardEvent) => { | ||
| if (e.key === "Escape") { | ||
| handleClose(); | ||
| } | ||
| }; | ||
|
|
||
| window.addEventListener("keydown", handleEscape); | ||
| return () => { | ||
| window.removeEventListener("keydown", handleEscape); | ||
| }; | ||
| }); | ||
| window.addEventListener("keydown", handleEscape); | ||
| return () => { | ||
| window.removeEventListener("keydown", handleEscape); | ||
| }; | ||
| }); | ||
|
|
||
| function handleClose(e?: Event) { | ||
| e?.stopPropagation(); | ||
|
|
@@ -106,7 +109,10 @@ | |
| */ | ||
|
|
||
| function showToastMessage(message?: string) { | ||
| toast.show(message || "์ด๋ฆ ๋๋ ํ๋ฒ์ ํ์ธํด ์ฃผ์ธ์."); | ||
| errorMessage = message || "์ด๋ฆ ๋๋ ํ๋ฒ์ ํ์ธํด ์ฃผ์ธ์."; | ||
| setTimeout(() => { | ||
| errorMessage = ""; | ||
| }, 3000); | ||
| } | ||
|
|
||
| // Focus/Blur ํธ๋ค๋ฌ๋ค | ||
|
|
@@ -158,7 +164,7 @@ | |
| tabindex="-1" | ||
| > | ||
| <div | ||
| class="w-full h-[72%] bg-gradient-to-b from-[#FCDDA5] to-[#F1A470] rounded-t-3xl pt-4 pb-8 px-6 flex flex-col items-center shadow-lg transition-transform duration-300 {isVisible | ||
| class="w-full shrink-0 h-[72vh] bg-gradient-to-b from-[#FCDDA5] to-[#F1A470] rounded-t-3xl pt-4 pb-8 px-6 flex flex-col items-center shadow-lg transition-transform duration-300 {isVisible | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ๋ชจ๋ฐ์ผ ๋ธ๋ผ์ฐ์ ์์ |
||
| ? 'translate-y-0' | ||
| : 'translate-y-full'}" | ||
| onclick={(e) => e.stopPropagation()} | ||
|
|
@@ -167,7 +173,7 @@ | |
| <div class="w-full flex justify-end"> | ||
| <button onclick={handleClose} class="text-white p-2"> | ||
| <img | ||
| src="/images/icons/name=Close, Color=White.svg" | ||
| src="/images/icons/close-icon-white.svg" | ||
| alt="๋ซ๊ธฐ" | ||
| class="w-6 h-6" | ||
| draggable="false" | ||
|
|
@@ -226,14 +232,27 @@ | |
| </div> | ||
|
|
||
| <!-- ๋ก๊ทธ์ธ ๋ฒํผ --> | ||
| <Button | ||
| label="๋ฉ์๊ฒฐ์ฐ ํก ์ ์ฅ" | ||
| variant="primary" | ||
| buttonState={isLoading ? "disabled" : "default"} | ||
| onClick={handleLogin} | ||
| type="button" | ||
| class="bg-white !text-[#F87C56] hover:bg-white/90 font-medium py-[14px] rounded-lg" | ||
| /> | ||
| <div class="relative w-full"> | ||
| {#if errorMessage} | ||
| <div | ||
| class="absolute bottom-[calc(100%+8px)] left-0 w-full flex justify-center z-[60] pointer-events-none" | ||
| > | ||
| <span | ||
| class="bg-black/60 text-white text-[15px] px-5 py-2.5 rounded-3xl shadow-md font-medium whitespace-nowrap pointer-events-auto" | ||
| > | ||
| {errorMessage} | ||
| </span> | ||
| </div> | ||
| {/if} | ||
| <Button | ||
| label="๋ฉ์๊ฒฐ์ฐ ํก ์ ์ฅ" | ||
| variant="primary" | ||
| buttonState={isLoading ? "disabled" : "default"} | ||
| onClick={handleLogin} | ||
| type="button" | ||
| class="bg-white !text-[#F87C56] hover:bg-white/90 font-medium py-[14px] rounded-lg w-full" | ||
| /> | ||
| </div> | ||
|
|
||
| <!-- ์ด๋ฆ ์ ์ฅ ์ฒดํฌ๋ฐ์ค --> | ||
| <label class="flex items-center gap-2 cursor-pointer mt-2 mb-2"> | ||
|
|
@@ -248,14 +267,14 @@ | |
| > | ||
| {#if saveName} | ||
| <img | ||
| src="/images/icons/name=check-enable, Color=White.svg" | ||
| src="/images/icons/check-enable-icon.svg" | ||
| alt="์ ์ฅ ํ์ฑํ" | ||
| class="w-full h-full" | ||
| draggable="false" | ||
| /> | ||
| {:else} | ||
| <img | ||
| src="/images/icons/name=check-disable, Color=White.svg" | ||
| src="/images/icons/check-disable-icon.svg" | ||
| alt="์ ์ฅ ๋นํ์ฑํ" | ||
| class="w-full h-full" | ||
| draggable="false" | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๋ชจ๋ฐ์ผ ํ๋๋ฅผ ๋ง๋ viewport ์ค์ ์ ์ ๊ทผ์ฑ ์ด์์ ๋๋ค.
์ค ๋นํ์ฑํ๋ ์ ์๋ ฅ ์ฌ์ฉ์ ์์ ์ ๋ง์ ์ ์์ด ์ ๊ฑฐ๊ฐ ํ์ํฉ๋๋ค.
โฟ ์ ์ ํจ์น
๐ Committable suggestion
๐ค Prompt for AI Agents