logo, sports bar, jquery event handler
This commit is contained in:
@@ -6,22 +6,52 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Twitter sports dashboard</title>
|
<title>Twitter sports dashboard</title>
|
||||||
<link rel="stylesheet" href="./style/style.css">
|
<link rel="stylesheet" href="./style/style.css">
|
||||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
<script src="./js/code.js"></script>
|
<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>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
|
<div class="logo">
|
||||||
|
<img src="./media/logo.png" alt="">
|
||||||
|
<span class="header-title">Cluccer</span>
|
||||||
|
</div>
|
||||||
<div class="sports">
|
<div class="sports">
|
||||||
<div class="sport baseball"></div>
|
<div class="sport baseball">
|
||||||
<div class="sport basketball"></div>
|
<span class="material-icons-outlined">sports_baseball</span>
|
||||||
<div class="sport volleyball"></div>
|
<span class="sport-name">Baseball</span>
|
||||||
<div class="sport tennis"></div>
|
</div>
|
||||||
<div class="sport cricket"></div>
|
<div class="sport basketball">
|
||||||
<div class="sport soccer"></div>
|
<span class="material-icons-outlined">sports_basketball</span>
|
||||||
<div class="sport football"></div>
|
<span class="sport-name">Basketball</span>
|
||||||
<div class="sport rugby"></div>
|
</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>
|
</div>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
@@ -30,6 +60,8 @@
|
|||||||
<div class="rightcol"></div>
|
<div class="rightcol"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<script src="./js/code.js"></script>
|
||||||
|
<script src="./js/connection.js"></script>
|
||||||
</body>
|
</body>
|
||||||
<!-- <script>
|
<!-- <script>
|
||||||
// create a rolling chart block
|
// create a rolling chart block
|
||||||
|
|||||||
@@ -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)
|
||||||
|
}
|
||||||
5
dashboard_static/js/connection.js
Normal file
5
dashboard_static/js/connection.js
Normal 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);
|
||||||
|
})
|
||||||
BIN
dashboard_static/media/logo.png
Normal file
BIN
dashboard_static/media/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.9 KiB |
@@ -1,11 +1,87 @@
|
|||||||
|
:root {
|
||||||
|
--main-bg: #292929;
|
||||||
|
--main-light: #ffffff;
|
||||||
|
--main-medium-dark: #1E1E1E;
|
||||||
|
--main-dark: #000000;
|
||||||
|
--secondary: #1D9BF0;
|
||||||
|
}
|
||||||
|
|
||||||
body, html, .container {
|
body, html, .container {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
overflow: auto;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: 'Roboto', sans-serif;
|
||||||
|
font-weight: 400;
|
||||||
}
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
background-color: #292929;
|
background-color: var(--main-bg);
|
||||||
color: white;
|
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);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user