logo, sports bar, jquery event handler

This commit is contained in:
Tim Wijma
2022-10-31 20:36:08 +01:00
parent dc14ab714e
commit c6ffc8f3ff
5 changed files with 147 additions and 11 deletions

View File

@@ -6,22 +6,52 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Twitter sports dashboard</title>
<link rel="stylesheet" href="./style/style.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<script src="./js/code.js"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;1,400&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Material+Icons|Material+Icons+Outlined" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
</head>
<body>
<div class="container">
<div class="header">
<div class="logo">
<img src="./media/logo.png" alt="">
<span class="header-title">Cluccer</span>
</div>
<div class="sports">
<div class="sport baseball"></div>
<div class="sport basketball"></div>
<div class="sport volleyball"></div>
<div class="sport tennis"></div>
<div class="sport cricket"></div>
<div class="sport soccer"></div>
<div class="sport football"></div>
<div class="sport rugby"></div>
<div class="sport baseball">
<span class="material-icons-outlined">sports_baseball</span>
<span class="sport-name">Baseball</span>
</div>
<div class="sport basketball">
<span class="material-icons-outlined">sports_basketball</span>
<span class="sport-name">Basketball</span>
</div>
<div class="sport volleyball">
<span class="material-icons-outlined">sports_volleyball</span>
<span class="sport-name">Volleyball</span>
</div>
<div class="sport tennis">
<span class="material-icons-outlined">sports_tennis</span>
<span class="sport-name">Tennis</span>
</div>
<div class="sport cricket">
<span class="material-icons-outlined">sports_cricket</span>
<span class="sport-name">Cricket</span>
</div>
<div class="sport soccer">
<span class="material-icons-outlined">sports_soccer</span>
<span class="sport-name">Soccer</span>
</div>
<div class="sport football">
<span class="material-icons-outlined">sports_football</span>
<span class="sport-name">Football</span>
</div>
<div class="sport rugby">
<span class="material-icons-outlined">sports_rugby</span>
<span class="sport-name">Rugby</span>
</div>
</div>
</div>
<div class="main">
@@ -30,6 +60,8 @@
<div class="rightcol"></div>
</div>
</div>
<script src="./js/code.js"></script>
<script src="./js/connection.js"></script>
</body>
<!-- <script>
// create a rolling chart block

View File

@@ -0,0 +1,23 @@
let root = document.documentElement // Used for css variables
let selectedSports = []
$(".sport").on("click", function() {
$(this).toggleClass("selected")
let sportName = $(this).children()[1].innerHTML // 2nd element, which is the sport name
let index = selectedSports.indexOf(sportName)
if (index > -1 ) { // If element is found in array
selectedSports.splice(index, 1) // Remove sport at index
} else {
selectedSports.push(sportName) // Add sport to array
}
$(this).trigger("selected", [selectedSports.includes(sportName), selectedSports]) // Trigger event
})
function getCSSVariable(name) {
return getComputedStyle(root).getPropertyValue(name)
}

View File

@@ -0,0 +1,5 @@
// Selected = is clicked sport selected or not, BOOL
// Sports = all selected sports, ARRAY
$(".sport").on("selected", function(e, selected, sports) {
console.log(selected, sports);
})

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -1,11 +1,87 @@
:root {
--main-bg: #292929;
--main-light: #ffffff;
--main-medium-dark: #1E1E1E;
--main-dark: #000000;
--secondary: #1D9BF0;
}
body, html, .container {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
overflow: auto;
box-sizing: border-box;
}
body {
font-family: 'Roboto', sans-serif;
font-weight: 400;
}
.container {
background-color: #292929;
background-color: var(--main-bg);
color: white;
padding: 16px 32px;
}
.header, .sports, .logo {
display: flex;
flex-direction: row;
}
.header {
align-items: center;
user-select: none;
}
.logo {
display: flex;
align-items: center;
padding: 16px;
background-color: var(--main-medium-dark);
border-radius: 16px;
}
.logo img {
height: 40px;
}
.logo span {
font-size: 40px;
font-weight: 500;
margin: 0 8px;
}
.sports {
margin-left: 16px;
overflow-x: auto;
}
.sport {
display: flex;
flex-direction: row;
align-items: center;
height: 30px;
padding: 4px;
margin-right: 8px;
border: 1px solid white;
border-radius: 100px;
cursor: pointer;
}
.sport .material-icons-outlined {
font-size: 32px;
}
.sport-name {
font-weight: 500;
font-size: 24px;
margin: 0 6px 0 4px;
}
.selected {
color: var(--secondary);
border-color: var(--secondary);
}