mirror of
https://github.com/danbee/spotify-client
synced 2025-03-04 08:59:12 +00:00
First commit.
This commit is contained in:
commit
8267f95634
7
.meteor/.finished-upgraders
Normal file
7
.meteor/.finished-upgraders
Normal file
@ -0,0 +1,7 @@
|
||||
# This file contains information which helps Meteor properly upgrade your
|
||||
# app when you run 'meteor update'. You should check it into version control
|
||||
# with your project.
|
||||
|
||||
notices-for-0.9.0
|
||||
notices-for-0.9.1
|
||||
0.9.4-platform-file
|
||||
1
.meteor/.gitignore
vendored
Normal file
1
.meteor/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
local
|
||||
7
.meteor/.id
Normal file
7
.meteor/.id
Normal file
@ -0,0 +1,7 @@
|
||||
# This file contains a token that is unique to your project.
|
||||
# Check it into your repository along with the rest of this directory.
|
||||
# It can be used for purposes such as:
|
||||
# - ensuring you don't accidentally deploy one app on top of another
|
||||
# - providing package authors with aggregated statistics
|
||||
|
||||
dmk8fsfa8vh91m4mf9x
|
||||
1
.meteor/cordova-plugins
Normal file
1
.meteor/cordova-plugins
Normal file
@ -0,0 +1 @@
|
||||
|
||||
11
.meteor/packages
Normal file
11
.meteor/packages
Normal file
@ -0,0 +1,11 @@
|
||||
# Meteor packages used by this project, one per line.
|
||||
#
|
||||
# 'meteor add' and 'meteor remove' will edit this file for you,
|
||||
# but you can also edit it by hand.
|
||||
|
||||
meteor-platform
|
||||
autopublish
|
||||
insecure
|
||||
http
|
||||
underscore
|
||||
|
||||
2
.meteor/platforms
Normal file
2
.meteor/platforms
Normal file
@ -0,0 +1,2 @@
|
||||
server
|
||||
browser
|
||||
1
.meteor/release
Normal file
1
.meteor/release
Normal file
@ -0,0 +1 @@
|
||||
METEOR@1.0
|
||||
52
.meteor/versions
Normal file
52
.meteor/versions
Normal file
@ -0,0 +1,52 @@
|
||||
application-configuration@1.0.3
|
||||
autopublish@1.0.1
|
||||
autoupdate@1.1.3
|
||||
base64@1.0.1
|
||||
binary-heap@1.0.1
|
||||
blaze-tools@1.0.1
|
||||
blaze@2.0.3
|
||||
boilerplate-generator@1.0.1
|
||||
callback-hook@1.0.1
|
||||
check@1.0.2
|
||||
ctl-helper@1.0.4
|
||||
ctl@1.0.2
|
||||
ddp@1.0.11
|
||||
deps@1.0.5
|
||||
ejson@1.0.4
|
||||
fastclick@1.0.1
|
||||
follower-livedata@1.0.2
|
||||
geojson-utils@1.0.1
|
||||
html-tools@1.0.2
|
||||
htmljs@1.0.2
|
||||
http@1.0.8
|
||||
id-map@1.0.1
|
||||
insecure@1.0.1
|
||||
jquery@1.0.1
|
||||
json@1.0.1
|
||||
launch-screen@1.0.0
|
||||
livedata@1.0.11
|
||||
logging@1.0.5
|
||||
meteor-platform@1.2.0
|
||||
meteor@1.1.3
|
||||
minifiers@1.1.2
|
||||
minimongo@1.0.5
|
||||
mobile-status-bar@1.0.1
|
||||
mongo@1.0.8
|
||||
observe-sequence@1.0.3
|
||||
ordered-dict@1.0.1
|
||||
random@1.0.1
|
||||
reactive-dict@1.0.4
|
||||
reactive-var@1.0.3
|
||||
reload@1.1.1
|
||||
retry@1.0.1
|
||||
routepolicy@1.0.2
|
||||
session@1.0.4
|
||||
spacebars-compiler@1.0.3
|
||||
spacebars@1.0.3
|
||||
templating@1.0.9
|
||||
tracker@1.0.3
|
||||
ui@1.0.4
|
||||
underscore@1.0.1
|
||||
url@1.0.2
|
||||
webapp-hashing@1.0.1
|
||||
webapp@1.1.4
|
||||
30
spotify-client.css
Normal file
30
spotify-client.css
Normal file
@ -0,0 +1,30 @@
|
||||
/* CSS declarations go here */
|
||||
*, *:before, *:after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
}
|
||||
|
||||
ul.songs {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
ul.songs li:after {
|
||||
content: "";
|
||||
display: block;
|
||||
clear: left;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
ul.songs .album {
|
||||
color: #666;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
img.cover {
|
||||
float: left;
|
||||
margin-right: 1em;
|
||||
}
|
||||
23
spotify-client.html
Normal file
23
spotify-client.html
Normal file
@ -0,0 +1,23 @@
|
||||
<head>
|
||||
<title>Spotify Client</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<form class="search">
|
||||
<input name="q" type="search">
|
||||
</form>
|
||||
|
||||
<ul class="songs">
|
||||
{{#each songs}}
|
||||
{{> song}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
</body>
|
||||
|
||||
<template name="song">
|
||||
<li>
|
||||
<img class="cover" src="{{image}}">
|
||||
<div class="track"><b>{{artist}}</b>: {{title}}</div>
|
||||
<div class="album">{{album}}</div>
|
||||
</li>
|
||||
</template>
|
||||
41
spotify-client.js
Normal file
41
spotify-client.js
Normal file
@ -0,0 +1,41 @@
|
||||
if (Meteor.isClient) {
|
||||
Template.body.helpers({
|
||||
songs: function () {
|
||||
return Session.get('songs')
|
||||
}
|
||||
})
|
||||
|
||||
Template.body.events({
|
||||
"submit .search": function (event) {
|
||||
event.preventDefault()
|
||||
|
||||
q = event.target.q.value
|
||||
|
||||
if (q) {
|
||||
HTTP.call('get', 'https://api.spotify.com/v1/search', {
|
||||
params: { type: 'track', market: 'GB', q: q }
|
||||
}, function (error, result) {
|
||||
if (!error) {
|
||||
tracks = []
|
||||
|
||||
items = JSON.parse(result.content).tracks.items
|
||||
|
||||
items.forEach(function (item) {
|
||||
tracks.push({
|
||||
artist: item.artists.map(function (artist) {
|
||||
return artist.name
|
||||
}).join(', '),
|
||||
album: item.album.name,
|
||||
title: item.name,
|
||||
image: item.album.images[2].url
|
||||
})
|
||||
console.log(item)
|
||||
})
|
||||
|
||||
Session.set('songs', tracks)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user