summaryrefslogtreecommitdiff
path: root/docs/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/index.html')
-rw-r--r--docs/index.html138
1 files changed, 60 insertions, 78 deletions
diff --git a/docs/index.html b/docs/index.html
index 0c5217f..9263023 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -65,6 +65,7 @@ body.fade {
top: 0; left: 0;
width: 100%; height: 100%;
overflow: hidden;
+ pointer-events: none;
}
.bgs {
position: absolute;
@@ -181,7 +182,7 @@ ol li {
line-height: 1.4;
}
.player {
- padding: 10px 20px;
+ padding: 12px 20px;
width: 300px;
display: flex;
flex-direction: row;
@@ -193,25 +194,22 @@ ol li {
.player .icon {
width: 1.2em;
height: 1.2em;
- background-image: url(img/play.png);
+ background-image: url(img/pause-inv.png);
background-size: 100%;
background-position: center;
border: 2px solid rgba(255,255,255,0.3);
- border-radius: 50%;
+ border-radius: 100%;
margin: 0 10px 0 10px;
- transition: all 100ms;
}
-.player:hover .icon {
- background-image: url(img/play-inv.png);
+.player.playing .icon {
+ background-image: url(img/pause-inv.png);
}
.player.paused .icon {
- background-image: url(img/pause.png);
-}
-.player.paused:hover .icon {
- background-image: url(img/pause-inv.png);
+ background-image: url(img/play-inv.png);
}
.player .track {
transition: all 100ms;
+ flex: auto;
}
.player:hover .track {
color: rgba(255,255,255,1.0);
@@ -220,14 +218,46 @@ ol li {
-webkit-overflow-scrolling: touch;
overflow-y: auto;
max-height: calc(100vh - 140px);
- width: 310px;
+ width: 331px;
max-width: calc(100vw - 30px);
background: black;
position: absolute;
bottom: 160px; right: 0;
- margin: 10px 10px;
+ margin: 0px 10px;
+ padding: 0px;
+ height: 0; overflow: hidden;
+ transition: all 0.5s cubic-bezier(0,1,1,1);
+}
+.playlist.visible {
+ height: 180px;
+}
+.playlist ul {
+ margin: 0; padding: 0;
+}
+.playlist li {
+ margin: 0; padding: 10px;
+ cursor: pointer;
+ transition: all 0.2s;
+ background: rgba(20,5,10,0.5);
+}
+.playlist li.active {
+ color: #000;
+ background: rgba(255,255,255,0.9);
+}
+.playlistToggle {
+ align-self: flex-end;
+ width: 15px;
+ height: 15px;
padding: 10px;
- background: rgba(0,0,0,0.5);
+ display: flex;
+ flex-direction: column;
+ justify-content:space-between;
+}
+.playlistToggle div {
+ width: 100%;
+ height: 2px;
+ border-bottom: 1px solid #999;
+ background: white;
}
section {
-webkit-overflow-scrolling: touch;
@@ -239,7 +269,7 @@ section {
bottom: 160px; left: 0;
margin: 10px 10px;
padding: 10px;
- background: rgba(0,0,0,0.5);
+ background: rgba(20,5,10,0.5);
pointer-events: none;
opacity: 0;
transition: opacity 200ms;
@@ -249,6 +279,7 @@ section {
.hardware #hardware,
.contact #contact {
opacity: 1;
+ pointer-events: auto;
}
@keyframes fade {
0% { opacity: 0.6; }
@@ -271,9 +302,14 @@ section {
<a href="#hardware">Equipment</a>
<a href="#contact">Contact</a>
</div>
- <div class="player">
+ <div class="player paused">
<div class="icon"></div>
<div class="track">Dreaming City</div>
+ <div class="playlistToggle">
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
</div>
</div>
</header>
@@ -292,14 +328,12 @@ section {
<i>As Xena Vectra</i>
</p>
<p>
- <img src="img/escape-from-neukoelln.jpg" class="cover"><br/>
<b>Escape from Neukölln</b> EP (2018)<br>
- 12" / digital on <a href="https://xenavectra.bandcamp.com/albums/escape-from-neukolln/">Bandcamp</a>
+ Digital on <a href="https://xenavectra.bandcamp.com/albums/escape-from-neukolln/">Bandcamp</a>
<br>
<br>
</p>
<p>
- <img src="img/dreaming-city.jpg" class="cover"><br/>
<b>Dreaming City</b> EP (2018)<br>
Cassette / digital on <a href="https://xenavectra.bandcamp.com/albums/escape-from-neukolln/">Bandcamp</a>
</p>
@@ -334,77 +368,25 @@ section {
<h2>Contact</h2>
<p>
Booking:
- <a id='email_addr'></a><br>
+ <a target='_blank' id='email_addr'></a><br>
Twitter:
- @<a id='twitter_addr'></a><br>
+ @<a target='_blank' id='twitter_addr'></a><br>
Soundcloud:
- <a href="https://soundcloud.com/xenavectra/">xenavectra</a>,
- <a href="https://soundcloud.com/magisphere/">magisphere</a>
+ <a target='_blank' href="https://soundcloud.com/xenavectra/">xenavectra</a>,
+ <a target='_blank' href="https://soundcloud.com/magisphere/">magisphere</a>
<br/>
- Bandcamp: <a href="https://xenavectra.bandcamp.com/">xenavectra</a><br/>
+ Bandcamp: <a target='_blank' href="https://xenavectra.bandcamp.com/">xenavectra</a><br/>
</p>
</section>
<div class="playlist">
- <h2>Playlist</h2>
+ <ul></ul>
</div>
<script src="./js/util.js"></script>
<script src="./js/cielab.js"></script>
<script src="./js/sounds.js"></script>
+<script src="./js/player.js"></script>
<script src="./js/stars.js"></script>
<script src="./js/shards.js"></script>
-<script type="text/javascript">
-const site = (function(){
- let section
- let links = toArray(document.querySelectorAll('.menu a'))
- let time = new Date()
- let hour = time.getHours()
- if (hour < 8 || hour > 16) {
- document.body.parentNode.classList.add('night')
- } else {
- document.body.parentNode.classList.add('day')
- }
- setTimeout(() => {
- document.body.classList.remove('loading')
- navigateHash(window.location.hash)
- const email = atob("eGVuYXZlY3RyYTkwOUBnbWFpbC5jb20=")
- const twitter = atob("dmVjdHJheGVuYQ==")
- document.querySelector("#email_addr").href = 'mailto:' + email
- document.querySelector("#email_addr").innerHTML = email
- document.querySelector("#twitter_addr").innerHTML = twitter
- document.querySelector("#twitter_addr").href = 'https://twitter.com/' + email
- }, 0)
- function navigateHash(url){
- let new_section = url.split('#')[1]
- if (section) {
- document.body.classList.remove(section)
- links.forEach(link => link.classList.remove('active'))
- }
- if (new_section && new_section !== section) {
- document.body.classList.add(new_section)
- links.forEach(link => link.getAttribute('href').match(new_section) && link.classList.add('active'))
- section = new_section
- } else {
- section = null
- }
- window.location.hash = section || ""
- }
- toArray(document.querySelectorAll('.menu a')).forEach(a => {
- a.addEventListener("click", e => {
- e.preventDefault()
- sounds.play('click')
- navigateHash(e.target.href)
- })
- })
-})()
-const player = (function(){
- let player = {}
- let tracks = [
- { file: "sounds/dreaming_city_2.mp3", title: "Dreaming City 2" },
- { file: "sounds/dreaming_city_2.mp3", title: "Dreaming City 2" },
- { file: "sounds/dreaming_city_2.mp3", title: "Dreaming City 2" },
- { file: "sounds/dreaming_city_2.mp3", title: "Dreaming City 2" },
- ]
-})
-</script>
+<script src="./js/site.js"></script>
</body>
</html>