'use strict'; var React = require('react'); var request = require('superagent'); var Router = require('react-router'); var Link = require('react-router').Link; var Faq = require('./faq.jsx'); var Foot = require('./foot.jsx'); var Recent = React.createClass({ render: function() { return (

Recently Shared

{this.props.recents.map(function(item, i){ return (); })}
); } }); var RecentItem = React.createClass({ render: function() { if (!this.props.item.artwork) { return false; } return (
); } }); var SearchForm = React.createClass({ mixins: [ Router.Navigation, Router.State ], getInitialState: function () { return { submitting: true }; }, handleSubmit: function(e) { this.setState({ submitting: true }); var that = this; e.preventDefault(); var url = this.refs.url.getDOMNode().value.trim(); if (!url) { that.setState({ submitting: false }); return; } request.post('/search').send({url:url}).end(function(res) { that.setState({ submitting: false }); if (res.body.error) { return alert(res.body.error.message) } that.transitionTo("share", res.body); }); }, componentDidMount: function () { this.setState({ submitting: false }); }, render: function() { return (
); } }); module.exports = React.createClass({ getInitialState: function () { // Use this only on first page load, refresh whenever we navigate back. if (this.props.recents) { var recents = this.props.recents; delete this.props.recents; return { recents: recents }; } return { recents: [] }; }, componentDidMount: function () { if (!this.props.recents) { request.get('/recent').set('Accept', 'application/json').end(function(res) { this.setState({ recents: res.body.recents }); }.bind(this)); } }, render: function() { return (

match.audio

Make sharing from music services better. We match album and track links from Rdio, Spotify, Deezer, Beats Music, Google Music and iTunes and give you back a link with all of them.

Tools

Download the Chrome Extension and get Match Audio links right from your address bar.

Download the Chrome Extension

); } });