Merge branch 'design' into 'main'
Design front end main page See merge request padas/24ss-5430-web-and-data-eng/gruppe-3/datadash!1
This commit is contained in:
commit
6dbafc99de
113
html/index.html
Normal file
113
html/index.html
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>DataDash</title>
|
||||||
|
<link rel="stylesheet" href="main.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<header>
|
||||||
|
<h1>Welcome to DataDash</h1>
|
||||||
|
<p>The place to launch and discover datasets and API endpoints.</p>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<section id="recents">
|
||||||
|
<h2>Recently added:</h2>
|
||||||
|
<ul class="datasets">
|
||||||
|
<!-- Preliminary content to be replaced by data from our server: -->
|
||||||
|
<li class="dataset">
|
||||||
|
<div class="dataset-info">
|
||||||
|
<div class="icon standup"></div>
|
||||||
|
<div class="details">
|
||||||
|
<h3>Standup</h3>
|
||||||
|
<p>Simply daily accountability phone call, powered by AI</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<aside class="upvote">
|
||||||
|
<button class="upvote-btn">Upvote</button>
|
||||||
|
<span class="upvote-count">0</span>
|
||||||
|
<button class="downvote-btn">Downvote</button>
|
||||||
|
</aside>
|
||||||
|
</li>
|
||||||
|
<li class="dataset">
|
||||||
|
<div class="dataset-info">
|
||||||
|
<div class="icon tori"></div>
|
||||||
|
<div class="details">
|
||||||
|
<h3>Tori</h3>
|
||||||
|
<p>The simple mobile crypto wallet even your grandparents can use</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<aside class="upvote">
|
||||||
|
<button class="upvote-btn">Upvote</button>
|
||||||
|
<span class="upvote-count">0</span>
|
||||||
|
<button class="downvote-btn">Downvote</button>
|
||||||
|
</aside>
|
||||||
|
</li>
|
||||||
|
<li class="dataset">
|
||||||
|
<div class="dataset-info">
|
||||||
|
<div class="icon tyms"></div>
|
||||||
|
<div class="details">
|
||||||
|
<h3>Tyms</h3>
|
||||||
|
<p>Modern accounting ERP for ambitious businesses</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<aside class="upvote">
|
||||||
|
<button class="upvote-btn">Upvote</button>
|
||||||
|
<span class="upvote-count">0</span>
|
||||||
|
<button class="downvote-btn">Downvote</button>
|
||||||
|
</aside>
|
||||||
|
</li>
|
||||||
|
<li class="dataset">
|
||||||
|
<div class="dataset-info">
|
||||||
|
<div class="icon zapcardz"></div>
|
||||||
|
<div class="details">
|
||||||
|
<h3>ZapCardz</h3>
|
||||||
|
<p>Remember what you learn forever with AI powered flashcards</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<aside class="upvote">
|
||||||
|
<button class="upvote-btn">Upvote</button>
|
||||||
|
<span class="upvote-count">0</span>
|
||||||
|
<button class="downvote-btn">Downvote</button>
|
||||||
|
</aside>
|
||||||
|
</li>
|
||||||
|
<li class="dataset">
|
||||||
|
<div class="dataset-info">
|
||||||
|
<div class="icon peek"></div>
|
||||||
|
<div class="details">
|
||||||
|
<h3>Peek</h3>
|
||||||
|
<p>AI organizer and workspace for your browser tabs</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<aside class="upvote">
|
||||||
|
<button class="upvote-btn">Upvote</button>
|
||||||
|
<span class="upvote-count">0</span>
|
||||||
|
<button class="downvote-btn">Downvote</button>
|
||||||
|
</aside>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
<section id="top">
|
||||||
|
<h2>Most Liked:</h2>
|
||||||
|
<ul class="datasets">
|
||||||
|
<li class="dataset">
|
||||||
|
<div class="dataset-info">
|
||||||
|
<div class="icon standup"></div>
|
||||||
|
<div class="details">
|
||||||
|
<h3>Standup</h3>
|
||||||
|
<p>Simply daily accountability phone call, powered by AI</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<aside class="upvote">
|
||||||
|
<button class="upvote-btn">Upvote</button>
|
||||||
|
<span class="upvote-count">0</span>
|
||||||
|
<button class="downvote-btn">Downvote</button>
|
||||||
|
</aside>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
83
html/main.css
Normal file
83
html/main.css
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
:root {
|
||||||
|
--bg-color: #222;
|
||||||
|
--fg-color: #555;
|
||||||
|
--text-color: #dbdbdb;
|
||||||
|
--pad-datasets: 1rem;
|
||||||
|
--pad-main: 2rem;
|
||||||
|
--min-card-size: 60ch;
|
||||||
|
font-size: 12pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: var(--bg-color, black);
|
||||||
|
color: var(--text-color, white);
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
max-width: calc(2 * var(--min-card-size) + var(--pad-main) + var(--pad-datasets));
|
||||||
|
padding-inline: var(--pad-main);
|
||||||
|
margin-inline: auto;
|
||||||
|
container-type: inline-size;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
text-align: center;
|
||||||
|
margin-inline: .75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.datasets {
|
||||||
|
padding-inline: var(--pad-datasets);
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(var(--min-card-size), 1fr));
|
||||||
|
gap: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
@container (width < 80ch) {
|
||||||
|
.datasets {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.dataset {
|
||||||
|
padding: 1rem 2rem;
|
||||||
|
background-color: var(--fg-color, darkgrey);
|
||||||
|
border-radius: 1rem;
|
||||||
|
list-style: none;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.upvote {
|
||||||
|
margin-left: 1rem;
|
||||||
|
margin-block: 1rem;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
gap: .5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.upvote-btn, .downvote-btn {
|
||||||
|
background: url(triangle.svg) no-repeat;
|
||||||
|
background-size: contain;
|
||||||
|
border: none;
|
||||||
|
width: 2em;
|
||||||
|
height: 2em;
|
||||||
|
padding: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
color: transparent;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.downvote-btn {
|
||||||
|
transform: rotate(180deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
:is(.upvote-btn, .downvote-btn):is(:hover, :focus-visible) {
|
||||||
|
filter: brightness(1.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
:is(.upvote-btn, .downvote-btn):active {
|
||||||
|
filter: brightness(1.75);
|
||||||
|
}
|
2
html/sad-looking-glass.svg
Normal file
2
html/sad-looking-glass.svg
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg width="16" height="16" viewBox="0 0 16 16" version="1.1" id="sad-looking-glass" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><g id="main-layer"><path id="looking-glass" style="fill:none;stroke:#222222;stroke-width:1.5;stroke-linecap:round" d="M 11.22141,6 A 5.2214103,5.2214103 0 0 1 6,11.22141 5.2214103,5.2214103 0 0 1 0.77858973,6 5.2214103,5.2214103 0 0 1 6,0.77858973 5.2214103,5.2214103 0 0 1 11.22141,6 Z M 15.25,15.25 10,10" /><circle style="fill:#222222" id="left-eye" cx="4" cy="4.75" r="0.75" /><circle style="fill:#222222" id="right-eye" cx="8" cy="4.75" r="0.75" /><path style="fill:none;stroke:#222222;stroke-width:1.5;stroke-linecap:round" d="M 4,8 C 6,6.5 8,8 8,8" id="mouth" /></g></svg>
|
After Width: | Height: | Size: 794 B |
2
html/triangle.svg
Normal file
2
html/triangle.svg
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg width="16" height="16" viewBox="0 0 16 16" version="1.1" id="svg1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><defs id="defs1" /><g id="layer1"><path style="fill:#222" d="M 0,16 8,0 16,16 Z" id="path1" /></g></svg>
|
After Width: | Height: | Size: 306 B |
Loading…
Reference in New Issue
Block a user