diff --git a/index.html b/index.html new file mode 100644 index 0000000..5f55c21 --- /dev/null +++ b/index.html @@ -0,0 +1,48 @@ + + + + + + + + + Code Academy + + + +
+ Coming Soon! + +

Code Academy

+
+ +
+
+

Leave your email

+
+
+ + +
+ +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/main.js b/main.js new file mode 100644 index 0000000..f27a38a --- /dev/null +++ b/main.js @@ -0,0 +1,32 @@ +const input = document.querySelector('.form__input'); + +input.addEventListener('keyup', () => { + if (input.value !== '') { + input.classList.add('form__input--filled'); + } else { + input.classList.remove('form__input--filled'); + } +}); + +const config = { + apiKey: process.env.API_KEY, + authDomain: process.env.AUTH_DOMAIN, + databaseURL: process.env.DATABASE_URL, + projectId: process.env.PROJECT_ID, + storageBucket: process.env.STORAGE_BUCKET, + messagingSenderId: process.env.MESSAGING_SENDER_ID, +}; + +firebase.initializeApp(config); + +const database = firebase.database(); +const ref = database.ref('emails'); + +const submitButton = document.querySelector('#LandingEmail'); + +submitButton.addEventListener('click', (e) => { + e.preventDefault(); + const email = input.value; + + ref.push(email); +}); diff --git a/style.css b/style.css new file mode 100644 index 0000000..ce51c4e --- /dev/null +++ b/style.css @@ -0,0 +1,229 @@ +*, *:after, *:before { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: 'Lato', sans-serif; + background: linear-gradient(180deg, #83EB94 0%, #47D95E 100%); + background-repeat: no-repeat; + min-height: 100vh; + display: flex; + flex-direction: column; +} + +.header { + display: flex; + flex-direction: column; + align-items: center; + position: relative; +} + +.header__ribbon { + display: none; +} + +@media(min-width: 768px) { + .header__ribbon { + display: block; + width: 10%; + top: 50px; + position: absolute; + right: 0; + } +} + +@media(min-width: 1920px) { + .header__ribbon { + width: 5%; + } +} + +.header__logo { + width: 100%; +} + +@media(min-width: 768px) { + .header__logo { + width: 80%; + } +} + +@media(min-width: 1024px) { + .header__logo { + width: 35%; + } +} + +@media(min-width: 1920px) { + .header__logo { + width: 40%; + } +} + +.header__title { + color: #fff; + text-transform: uppercase; + text-align: center; + font-weight: 300; + letter-spacing: 4px; +} + +@media(min-width: 1024px) { + .header__title { + font-size: 3.5rem; + } +} + +.main { + margin-top: 2rem; +} + +@media(min-height: 700px) { + .main { + margin-top: 5rem; + } +} + +.form { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + width: 70%; + margin: 0 auto; +} + +.form__title { + color: #fff; + font-size: 1.1rem; + font-weight: 400; + margin-bottom: 1.5rem; +} + +@media(min-width: 768px) { + .form__title { + font-size: 2rem; + } +} + +@media(min-width: 768px) { + .form__container { + display: flex; + justify-content: center; + align-items: center; + width: 100%; + } +} + +.form__group { + display: flex; + flex-direction: column; + width: 100%; + position: relative; + margin-top: .5rem; +} + +@media(min-width: 768px) { + .form__group { + margin-top: 0; + } +} + +.form__input { + border: none; + height: 50px; + box-shadow: inset 0px 4px 4px rgba(0, 0, 0, 0.25); + border-radius: 9px; + text-indent: 10px; + position: relative; + display: block; +} + +.form__label { + position: absolute; + top: 50%; + left: 10px; + transform: translateY(-50%); + color: #A0A0A0; + font-weight: 300; + transition: top .5s ease; +} + +.form__input:focus { + outline: none; + box-shadow: inset 0 0 0 2pt #5AAF65; +} + +.form__input:focus + .form__label { + top: -12px; + color: #fff; +} + +.form__input--filled + .form__label { + top: -12px; + color: #fff; +} + +.form__input:focus + .form__label:after, +.form__input--filled + .form__label:after { + content: ':'; + color: #fff; + position: absolute; + right: -5px; + top: 0; +} + +.form__input:invalid + .form__label { + color: red; +} + +.form__input:invalid + .form__label:before { + content: 'Invalid'; + color: red; +} + +.form__input:invalid + .form__label:after { + color: red; +} + +.form__input:invalid { + box-shadow: inset 0 0 0 2pt red; +} + +.form__button { + background: #0297EC; + color: #fff; + text-transform: uppercase; + border: none; + font-weight: 700; + padding: 1rem 2rem; + border-radius: 9px; + width: 100%; + margin-top: 1rem; + transition: box-shadow .5s ease; + cursor: pointer; +} + +.form__button:hover { + box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.5); +} + +@media(min-width: 768px) { + .form__button { + margin-top: 0; + margin-left: 1rem; + } +} + +.footer { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + text-align: center; + color: #fff; + margin-bottom: 1rem; + margin-top: auto; +} \ No newline at end of file