diff --git a/components/index.js b/components/index.js index 47f4128..24818ff 100644 --- a/components/index.js +++ b/components/index.js @@ -8,6 +8,7 @@ import "./icon-link-list.js"; import "./image.js"; import "./intro-section.js"; import "./language-section.js"; +import "./leaderboard-section.js"; import "./testimony-section.js"; import "./testimony.js"; import "./steps-section.js"; diff --git a/components/language-section.js b/components/language-section.js index 2a7fd94..7e4c7ff 100644 --- a/components/language-section.js +++ b/components/language-section.js @@ -18,6 +18,7 @@ class LanguageSection extends HTMLElement { justify-content: center; align-items: center; height: 100vh; + background-color: var(--bg-100); } section { diff --git a/components/leaderboard-section.js b/components/leaderboard-section.js new file mode 100644 index 0000000..5bf3851 --- /dev/null +++ b/components/leaderboard-section.js @@ -0,0 +1,108 @@ +import { LEADERBOARD_URL } from "../data.js"; +import { css, html } from "../html-css-utils.js"; + +class LeaderboardSection extends HTMLElement { + constructor() { + super(); + this.render(); + } + + render() { + this.attachShadow({ mode: "open" }); + this.shadowRoot.innerHTML = this.createCss() + this.createHtml(); + } + + createCss() { + return css` + :host { + display: flex; + justify-content: center; + align-items: center; + height: 100vh; + background-color: var(--bg-100); + } + + section { + display: flex; + flex-direction: column; + row-gap: 30px; + margin: 0px 27px 0px; + max-width: 1550px; + + @media only screen and (min-width: 768px) { + row-gap: 50px; + margin: 0px 75px 0px 76px; + } + + @media only screen and (min-width: 1024px) { + position: relative; + flex-direction: row; + width: 80%; + height: 52vh; + margin: 0; + } + } + + .hero { + display: flex; + flex-direction: column; + justify-content: flex-start; + align-items: flex-start; + row-gap: 20px; + width: 65%; + + @media only screen and (min-width: 768px) { + row-gap: 30px; + width: 40%; + } + + @media only screen and (min-width: 1024px) { + justify-content: center; + row-gap: 40px; + width: 37%; + } + } + + .gap { + @media only screen and (min-width: 1024px) { + justify-content: center; + width: 16%; + } + } + + aside { + width: 100%; + + @media only screen and (min-width: 1024px) { + width: 70%; + } + } + `; + } + + createHtml() { + return html` +
+ + +
+ +
+ 성장의 발자취를 리더보드에서 확인할 수 있어요 + + 리더보드 보기 + +
+
+ `; + } +} + +customElements.define("ds-leaderboard-section", LeaderboardSection); diff --git a/components/steps-section.js b/components/steps-section.js index b8f2608..5d62339 100644 --- a/components/steps-section.js +++ b/components/steps-section.js @@ -16,7 +16,7 @@ class StepsSection extends HTMLElement { return css` :host { display: block; - background-color: var(--bg-200); + background-color: var(--bg-100); } section { diff --git a/components/testimony-section.js b/components/testimony-section.js index d6cf221..30f173e 100644 --- a/components/testimony-section.js +++ b/components/testimony-section.js @@ -13,6 +13,11 @@ class TestimonySection extends HTMLElement { createCss() { return css` + :host { + display: block; + background-color: var(--bg-200); + } + section { max-width: 1550px; margin: 0 27px; diff --git a/images/leaderboard.png b/images/leaderboard.png new file mode 100644 index 0000000..1a6904d Binary files /dev/null and b/images/leaderboard.png differ diff --git a/index.html b/index.html index 48b6ec7..555f3f5 100644 --- a/index.html +++ b/index.html @@ -78,6 +78,8 @@ + +