Open ArianaGuial opened 1 month ago
Register Page
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Register | Tumblr</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" integrity="sha384-T3c6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
<style>
body {
font-family: Arial, sans-serif;
background-color: #001935;
color: #fff;
text-align: center;
display: flex;
flex-direction: column;
min-height: 100vh;
}
header {
background-color: #001935;
padding: 10px;
display: flex;
align-items: center;
}
#logo {
margin-right: 10px;
}
#logo img {
max-width: 100%;
height: auto;
}
#search {
background-color: #fff;
color: #333;
border: none;
border-radius: 3px;
padding: 5px;
width: 400px;
}
main {
flex-grow: 1;
display: flex;
justify-content: center;
align-items: center;
}
form {
background-color: #001935;
padding: 30px;
border-radius: 5px;
max-width: 400px;
position: relative;
}
input[type="text"], input[type="password"], input[type="email"] {
width: 100%;
padding: 10px;
margin-bottom: 10px;
border-radius: 3px;
border: none;
background-color: #fff;
color: #333;
box-sizing: border-box;
}
input[type="submit"] {
width: 100%;
padding: 10px;
border-radius: 3px;
border: none;
background-color: #00b8d9;
color: #fff;
font-weight: bold;
cursor: pointer;
margin-bottom: 10px;
}
.error {
color: #ff0000;
margin-bottom: 10px;
}
.footer {
position: absolute;
bottom: 0;
width: 50%;
background-color: #001935;
padding: 20px;
font-size: 14px;
color: #aaa;
}
.footer-left {
left: 0;
text-align: left;
}
.footer ul {
list-style: none;
padding: 0;
margin: 0;
text-align: left;
}
.footer ul li {
display: inline-block;
margin-right: 10px;
}
.footer ul li a {
color: #aaa;
text-decoration: none;
}
.footer p {
margin: 0;
text-align: right;
}
.footer p a {
color: #aaa;
text-decoration: none;
}
#logo1 img {
max-width: 100%;
height: 50px;
margin-right: 10px;
}
#logo2 img {
max-width: 100%;
height: 50px;
}
#logo2 img{
margin-bottom: 20px;
}
.hr-text {
margin: 20px auto;
text-align: center;
}
.hr-text::before,
.hr-text::after {
content: "";
display: inline-block;
width: 40%;
height: 1px;
background-color: #ccc;
vertical-align: middle;
}
.hr-text span {
display: inline-block;
vertical-align: middle;
padding: 0 10px;
background-color: #001935;
}
</style>
</head>
<body>
<header>
<div id="logo1">
<img src="C:\Users\Ariana\Downloads\t-white.png" alt="Tumblr Logo">
</div>
<input type="text" id="search" placeholder="Search Tumblr">
</header>
<main>
<div style="display: flex; flex-direction: column; align-items: center;">
<div id="logo2">
<img src="C:\Users\Ariana\Downloads\tumblr-logo-black-and-white.png" alt="Tumblr Logo">
</div>
<form id="registrationForm" action="C:\Users\Ariana\Documents\college files\2ND YEAR\WebDev1\SignInTUMBLR.html" method="get" novalidate>
<div id="fullnameError" class="error"></div>
<input type="text" name="fullname" id="fullname" placeholder="Full Name" class="form-control">
<div id="emailError" class="error"></div>
<input type="email" name="email" id="email" placeholder="Email" class="form-control">
<div id="passwordError" class="error"></div>
<input type="password" name="password" id="password" placeholder="Password" class="form-control">
<div id="repeatPasswordError" class="error"></div>
<input type="password" name="repeat_password" id="repeatPassword" placeholder="Repeat Password" class="form-control">
<input type="submit" value="Register" class="btn btn-primary">
<div class="hr-text"><span>or</span></div>
<input type="submit" value="Continue with Google" class="btn btn-secondary">
<input type="submit" value="Continue with Apple" class="btn btn-secondary">
</form>
</div>
</main>
<footer class="footer footer-left">
<ul>
<li><a href="#">Terms</a></li>
<li><a href="#">Privacy</a></li>
<li><a href="#">Jobs</a></li>
<li><a href="#">Support</a></li>
</ul>
</footer>
<script>
function validateEmail(email) {
const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return re.test(String(email).toLowerCase());
}
const form = document.getElementById('registrationForm');
const fullname = document.getElementById('fullname');
const email = document.getElementById('email');
const password = document.getElementById('password');
const repeatPassword = document.getElementById('repeatPassword');
form.addEventListener('submit', function(event) {
let valid = true;
const fullnameValue = fullname.value.trim();
const emailValue = email.value.trim();
const passwordValue = password.value.trim();
const repeatPasswordValue = repeatPassword.value.trim();
const fullnameError = document.getElementById('fullnameError');
const emailError = document.getElementById('emailError');
const passwordError = document.getElementById('passwordError');
const repeatPasswordError = document.getElementById('repeatPasswordError');
if (fullnameValue === '') {
fullnameError.textContent = 'Full Name is required.';
valid = false;
} else {
fullnameError.textContent = '';
}
if (emailValue === '') {
emailError.textContent = 'Email is required.';
valid = false;
} else if (!validateEmail(emailValue)) {
emailError.textContent = 'Email is not valid.';
valid = false;
} else {
emailError.textContent = '';
}
if (passwordValue === '') {
passwordError.textContent = 'Password is required.';
valid = false;
} else if (passwordValue.length < 8) {
passwordError.textContent = 'Password must be at least 8 characters long.';
valid = false;
} else {
passwordError.textContent = '';
}
if (repeatPasswordValue === '') {
repeatPasswordError.textContent = 'Repeat Password is required.';
valid = false;
} else if (repeatPasswordValue !== passwordValue) {
repeatPasswordError.textContent = 'Passwords do not match.';
valid = false;
} else {
repeatPasswordError.textContent = '';
}
if (!valid) {
event.preventDefault();
}
});
</script>
</body>
</html>
Tumblr Website
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Log in | Tumblr</title>
<style>
/* CSS Reset */
/* ... */
/* Custom Styles */
body {
font-family: Arial, sans-serif;
background-color: #000;
color: #fff;
display: flex;
flex-direction: column;
min-height: 100vh;
margin: 0;
}
header {
background-color: #000;
padding: 10px;
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
}
#logo-container {
display: flex;
align-items: center;
}
#logo img {
max-width: 100%;
height: 20px;
margin-left: 240px;
margin-bottom: -100000000px;
margin-top: -100000000px;
}
#menu-items {
display: flex;
margin-left: 220px;
}
#menu-items a {
color: #fff;
text-decoration: none;
font-weight: bold;
padding: 5px 10px;
margin-right: 10px;
}
#menu-items a:hover {
color: #3090f7;
}
#search {
background-color: #444;
color: #fff;
border: none;
border-radius: 3px;
padding: 5px;
width: 200px;
margin-right: 140px;
}
main {
display: flex;
flex-grow: 1;
}
.sidebar {
background-color: #000;
padding: 20px;
width: 300px;
overflow: auto;
margin-top: -165px;
margin-left: 150px;
}
.sidebar ul {
list-style: none;
padding: 0;
}
.sidebar ul li {
margin-bottom: 20px;
display: flex;
align-items: center;
}
.sidebar ul li a {
color: #aaa;
text-decoration: none;
margin-left: 20px;
}
.sidebar ul li a:hover {
color: #3090f7;
}
.sidebar ul li img {
height: 20px;
}
.content {
background-color: #000;
padding: 20px;
flex-grow: 1;
display: flex;
flex-direction: column;
align-items: center;
margin-top: -20px;
margin-right: 200px;
}
.post {
position: relative;
padding: 20px;
margin-bottom: 20px;
text-align: center;
align-items: center;
}
.post img {
max-width: 800%;
height: 1400px;
margin: 0 auto;
}
.header-image {
text-align: center;
margin-bottom: 20px;
margin-top: 20px;
margin-left: -90px;
display: flex;
justify-content: center;
}
.header-image img {
max-width: 50%;
height: 110px;
margin: 0 auto;
}
.sidebar-right {
background-color: #222;
padding: 20px;
width: 300px;
overflow: auto;
}
.footer {
background-color: #000;
color: #fff;
padding: 20px;
text-align: center;
}
.container {
display: flex;
justify-content: center;
align-items: left;
margin-left: -120px;
}
.avatar img {
width: 50px;
height: 50px;
border-radius: 50%;
}
.username {
font-weight: bold;
}
.follow-btn {
align-self: flex-start;
margin-top: 10px;
margin-bottom: 20px;
padding: 5px 10px;
background-color: #3090f7;
color: #ffffff;
border: none;
border-radius: 3px;
cursor: pointer;
}
.follow-btn:hover {
background-color: #1a73e8;
}
.sidebar-right {
background-color: #000000;
padding: 10px;
width: 200px;
overflow: auto;
margin-right: 200px;
margin-left: -60px;
margin-top: -160px;
}
.post-interactions {
position: absolute;
bottom: 515px;
right: 30px;
display: flex;
justify-content: flex-end;
padding: 10px;
width: auto;
overflow: auto;
}
button {
border: none;
padding: 0;
background-color: transparent;
margin-left: 10px;
}
button img {
max-width: 24px;
max-height: 24px;
}
button:hover img {
filter: invert(50%) sepia(100%) saturate(500%) hue-rotate(180deg);
}
.card-container {
display: flex;
overflow-x: auto;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
max-width: 560px;
margin: 0 auto;
}
.card {
flex: 0 0 300px;
height: 350px;
background-color: #242424;
margin-right: 20px;
padding: 20px;
box-sizing: border-box;
}
.card img{
max-width: 80%;
max-height: 80%;
}
.follow-btn1 {
align-self: flex-start;
margin-top: 10px;
margin-bottom: 20px;
margin-left: 30px;
padding: 5px 10px;
width: 200px;
background-color: #3090f7;
color: #ffffff;
border: none;
border-radius: 3px;
cursor: pointer;
}
.follow-btn1:hover {
background-color: #1a73e8;
}
</style>
</head>
<body>
<header>
<div id="logo-container">
<div id="logo">
<img src="C:/Users/Ariana/Downloads/tumblr-logo-black-and-white.png" alt="Tumblr Logo">
</div>
<div class="container">
<nav id="menu-items">
<a href="#">Following</a>
<a href="#">For you</a>
<a href="#">Your tags</a>
</nav>
</div>
</div>
<input type="text" id="search" placeholder="Search Tumblr">
</header>
<div class="header-image">
<img src="C:/Users/Ariana/Downloads/tumblr_93ed0db6c32d5f013ec3acf07afe184f_42039d40_1280.png" alt="Header Image">
</div>
<main>
<div class="sidebar">
<ul>
<li><img src="C:/Users/Ariana/Downloads/home_24dp_FILL0_wght400_GRAD0_opsz24.png" alt="Logo"> <a href="#">Home</a></li>
<li><img src="C:/Users/Ariana/Downloads/explore_24dp_FILL0_wght400_GRAD0_opsz24.png" alt="Logo"> <a href="#">Explore</a></li>
<li><img src="C:/Users/Ariana/Downloads/bolt_24dp_FILL0_wght400_GRAD0_opsz24.png" alt="Logo"> <a href="#">Activity</a></li>
<li><img src="C:/Users/Ariana/Downloads/sms_24dp_FILL0_wght400_GRAD0_opsz24.png" alt="Logo"> <a href="#">Messages</a></li>
<li><img src="C:/Users/Ariana/Downloads/mail_24dp_FILL0_wght400_GRAD0_opsz24.png" alt="Logo"> <a href="#">Inbox</a></li>
<li><img src="C:/Users/Ariana/Downloads/person_24dp_FILL0_wght400_GRAD0_opsz24.png" alt="Logo"> <a href="C:/Users/Ariana/Documents/college files/2ND YEAR/WebDev1/ProfilePageTUMBLR.html">Account</a></li>
<li><img src="C:/Users/Ariana/Downloads/settings_24dp_FILL0_wght400_GRAD0_opsz24.png" alt="Logo"> <a href="#">Settings</a></li>
<li><img src="C:/Users/Ariana/Downloads/storefront_24dp_FILL0_wght400_GRAD0_opsz24.png" alt="Logo"> <a href="#">TumblrMart</a></li>
</ul>
</div>
<div class="content">
<div class="post">
<img src="C:/Users/Ariana/Downloads/Screenshot_20240528_171158_Chrome.png" alt="Post Image">
<div class="post-interactions">
<button><a href="#"><img src="C:/Users/Ariana/Downloads/switch_access_shortcut_24dp_FILL0_wght400_GRAD0_opsz24.png" alt="Switch Access Shortcut"></a></button>
<button><a href="#"><img src="C:/Users/Ariana/Downloads/chat_bubble_24dp_FILL0_wght400_GRAD0_opsz24.png" alt="Chat Bubble"></a></button>
<button id="repeat-button"><a href="#"><img src="C:/Users/Ariana/Downloads/repeat_24dp_FILL0_wght400_GRAD0_opsz24.png" alt="Repeat"></a></button>
<button id="heart-button"><img src="C:/Users/Ariana/Downloads/favorite_24dp_FILL0_wght400_GRAD0_opsz24.png" alt="Favorite"></button>
</div>
</div>
<h1>Trending on Tumblr Today</h1>
<div class="card-container">
<div class="card">
<h2>#apex</h2>
<li><img src="C:\Users\Ariana\Downloads\Screenshot 2024-05-29 091447.png"></li>
<button class="follow-btn1">Follow</button>
</div>
<div class="card">
<h2>#college</h2>
<li><img src="C:\Users\Ariana\Downloads\Screenshot 2024-05-29 110206.png"></li>
<button class="follow-btn1">Follow</button>
</div>
<div class="card">
<h2>#snow</h2>
<li><img src="C:\Users\Ariana\Downloads\Screenshot 2024-05-29 110728.png"></li>
<button class="follow-btn1">Follow</button>
</div>
<div class="card">
<h2>#palia</h2>
<li><img src="C:\Users\Ariana\Downloads\Screenshot 2024-05-29 111008.png"></li>
<button class="follow-btn1">Follow</button>
</div>
</div>
</div>
<div class="sidebar-right">
<ul>
<div class="user-info">
<div class="avatar">
<img src="C:/Users/Ariana/Downloads/temporary-profile-placeholder-1.jpg" alt="Avatar">
</div>
<div class="user-details">
<div class="username">jozef123</div>
<div class="name">Josee Shimazaki</div>
<button class="follow-btn">Follow</button>
</div>
</div>
<div class="user-info">
<div class="avatar">
<img src="C:/Users/Ariana/Downloads/temporary-profile-placeholder-1.jpg" alt="Avatar">
</div>
<div class="user-details">
<div class="username">Apexkid</div>
<div class="name">Wala Kulala</div>
<button class="follow-btn">Follow</button>
</div>
</div>
<div class="user-info">
<div class="avatar">
<img src="C:/Users/Ariana/Downloads/temporary-profile-placeholder-1.jpg" alt="Avatar">
</div>
<div class="user-details">
<div class="username">mushroom456</div>
<div class="name">Shinitaki Mushrum</div>
<button class="follow-btn">Follow</button>
</div>
</div>
</ul>
</div>
</main>
<footer class="footer">
<p>© 2023 Tumblr. All rights reserved.</p>
</footer>
<script>
document.querySelectorAll('.follow-btn').forEach(button => {
button.addEventListener('click', () => {
if (button.textContent === 'Follow') {
button.textContent = 'Followed';
button.style.backgroundColor = '#888';
} else {
button.textContent = 'Follow';
button.style.backgroundColor = '#3090f7';
}
});
});
document.querySelectorAll('.follow-btn1').forEach(button => {
button.addEventListener('click', () => {
if (button.textContent === 'Follow') {
button.textContent = 'Followed';
button.style.backgroundColor = '#888';
} else {
button.textContent = 'Follow';
button.style.backgroundColor = '';
}
});
});
document.getElementById('heart-button').addEventListener('click', function() {
const img = this.querySelector('img');
const redHeartSrc = "C:/Users/Ariana/Downloads/360_F_520196054_Uy8LwGHzlqAQWEG3rMICCfaSZuAzXTF2-removebg-preview.png";
const blackHeartSrc = "C:/Users/Ariana/Downloads/favorite_24dp_FILL0_wght400_GRAD0_opsz24.png";
if (img.src.includes('favorite_24dp_FILL0_wght400_GRAD0_opsz24.png')) {
img.src = redHeartSrc;
} else {
img.src = blackHeartSrc;
}
});
document.getElementById('repeat-button').addEventListener('click', function() {
const img = this.querySelector('img');
const greenRepeatSrc = "C:/Users/Ariana/Downloads/275-2755908_icon-free-download-png-and-teal-repeat-icon (1).png";
const defaultRepeatSrc = "C:/Users/Ariana/Downloads/repeat_24dp_FILL0_wght400_GRAD0_opsz24.png";
if (img.src.includes('repeat_24dp_FILL0_wght400_GRAD0_opsz24.png')) {
img.src = greenRepeatSrc;
} else {
img.src = defaultRepeatSrc;
}
});
</script>
</body>
</html>
Profile Page
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tumblr Blog</title>
<style>
body {
margin: 0;
padding: 0;
background-color: black;
color: white;
font-family: Arial, sans-serif;
}
.sidebar {
position: fixed;
top: 0;
left: 0;
width: 200px;
height: 100vh;
background-color: black;
padding: 20px;
}
.sidebar ul {
list-style-type: none;
padding: 0;
margin: 0;
}
.sidebar ul li {
margin-bottom: 10px;
}
.content {
margin-left: 220px;
padding: 20px;
}
.post-image {
max-width: 100%;
height: auto;
}
.blog-info {
text-align: center;
margin-top: 20px;
}
.blog-header {
font-size: 24px;
font-weight: bold;
margin-top: 40px;
}
.blog-details {
margin-top: 10px;
}
.blog-nav {
margin-top: 20px;
display: flex;
justify-content: center;
}
.blog-nav a {
margin: 0 10px;
color: white;
text-decoration: none;
}
.sponsored {
position: fixed;
top: 20px;
right: 20px;
background-color: rgba(255, 255, 255, 0.2);
padding: 10px;
border-radius: 5px;
}
.container {
position: relative;
display: center;
align-items: center;
}
.container img {
width: flex;
height: flex;
}
.overlay {
position: absolute;
top: 90%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
}
.overlay img {
width: 30%;
height: 30%;
}
.Name {
position: absolute;
margin-top: 80px;
top: 90%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
}
.sign-out {
background-color: blue;
color: white;
padding: 10px 20px;
border: none;
border-radius: 5px;
text-decoration: none;
display: inline-block;
}
.sign-out:hover {
background-color: gray;
color: white;
}
</style>
</head>
<body>
<div class="blog-info">
<div class="container">
<img src="C:\Users\Ariana\Downloads\Screenshot 2024-05-28 175539.png" alt="Background Image">
<div class="overlay">
<img src="C:\Users\Ariana\Downloads\temporary-profile-placeholder-1.jpg" alt="Overlaid Image">
</div>
</div>
<div class="blog-header">Unknown</div>
<div class="blog-details">
<span>@unknown / </span>
<span>unknown.tumblr.com</span>
</div>
<div class="blog-details">
<span>art name: noone</span>
</div>
<div class="blog-nav">
<a href="#">Blog settings</a>
<a href="#">Ask me anything</a>
<a href="#">...</a>
</div>
<div class="blog-nav">
<a href="#">Posts</a>
<a href="#">Likes</a>
<a href="#">Following</a>
</div>
<div class="blog-nav">
<a href="C:\Users\Ariana\Documents\college files\2ND YEAR\WebDev1\SignInTUMBLR.html" class="sign-out">Sign Out</a>
</div>
</div>
</body>
</html>
Sign In Page
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Sign In | Tumblr</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" integrity="sha384-T3c6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
<style>
body {
font-family: Arial, sans-serif;
background-color: #001935;
color: #fff;
text-align: center;
display: flex;
flex-direction: column;
min-height: 100vh;
}
header {
background-color: #001935;
padding: 10px;
display: flex;
align-items: center;
}
main {
flex-grow: 1;
display: flex;
justify-content: center;
align-items: center;
}
form {
background-color: #001935;
padding: 30px;
border-radius: 5px;
max-width: 400px;
width: 100%;
}
input[type="text"], input[type="password"] {
width: 100%;
padding: 10px;
margin-bottom: 10px;
border-radius: 3px;
border: none;
background-color: #fff;
color: #333;
box-sizing: border-box;
}
input[type="submit"] {
width: 100%;
padding: 10px;
border-radius: 3px;
border: none;
background-color: #00b8d9;
color: #fff;
font-weight: bold;
cursor: pointer;
margin-bottom: 10px;
}
.error {
color: #ff0000;
margin-bottom: 10px;
}
#search {
background-color: #fff;
color: #333;
border: none;
border-radius: 3px;
padding: 5px;
width: 400px;
}
#logo {
margin-right: 10px;
}
#logo img {
max-width: 100%;
height: auto;
}
#logo1 img {
max-width: 100%;
height: 50px;
margin-right: 10px;
}
#logo2 img {
max-width: 100%;
height: 50px;
}
#logo2 img {
margin-bottom: 20px;
}
.footer {
position: absolute;
bottom: 0;
width: 50%;
background-color: #001935;
padding: 20px;
font-size: 14px;
color: #aaa;
}
.footer-left {
left: 0;
text-align: left;
}
.footer ul {
list-style: none;
padding: 0;
margin: 0;
text-align: left;
}
.footer ul li {
display: inline-block;
margin-right: 10px;
}
.footer ul li a {
color: #aaa;
text-decoration: none;
}
.footer p {
margin: 0;
text-align: right;
}
.footer p a {
color: #aaa;
text-decoration: none;
}
</style>
</head>
<body>
<header>
<div id="logo1">
<img src="C:\Users\Ariana\Downloads\t-white.png" alt="Tumblr Logo">
</div>
<input type="text" id="search" placeholder="Search Tumblr">
</header>
<main>
<div style="display: flex; flex-direction: column; align-items: center;">
<div id="logo2" style="margin-bottom: 20px;">
<img src="C:\Users\Ariana\Downloads\tumblr-logo-black-and-white.png" alt="Tumblr Logo">
</div>
<form id="signInForm" action="C:\Users\Ariana\Documents\college files\2ND YEAR\WebDev1\TumblrWebsiteReplica.html" method="post">
<div id="usernameError" class="error"></div>
<input type="text" name="username" id="username" placeholder="Username" class="form-control">
<div id="passwordError" class="error"></div>
<input type="password" name="password" id="password" placeholder="Password" class="form-control">
<input type="submit" value="Sign In" class="btn btn-primary">
</form>
</div>
</main>
<footer class="footer footer-left">
<ul>
<li><a href="#">Terms</a></li>
<li><a href="#">Privacy</a></li>
<li><a href="#">Jobs</a></li>
<li><a href="#">Support</a></li>
</ul>
</footer>
<script>
document.getElementById('signInForm').addEventListener('submit', function(event) {
let valid = true;
const username = document.getElementById('username').value.trim();
const password = document.getElementById('password').value.trim();
const usernameError = document.getElementById('usernameError');
const passwordError = document.getElementById('passwordError');
if (username === '') {
usernameError.textContent = 'Username is required.';
valid = false;
} else {
usernameError.textContent = '';
}
if (password === '') {
passwordError.textContent = 'Password is required.';
valid = false;
} else {
passwordError.textContent = '';
}
if (!valid) {
event.preventDefault();
}
});
</script>
</body>
</html>
Tumblr Website Replica