More sharing service fixes

This commit is contained in:
Jonathan Cremin 2015-01-11 23:52:47 +00:00
parent 269586dc0f
commit 86011a93aa
2 changed files with 14 additions and 9 deletions

View file

@ -1,12 +1,16 @@
'use strict';
var React = require('react');
var Router = require('react-router');
module.exports = React.createClass({
mixins: [ Router.State ],
render: function() {
var image = this.props.shares ? this.props.shares[0].artwork.large : "https://match.audio/images/logo-512.png";
var title = this.props.shares ? this.props.shares[0].artist.name + " by " + this.props.shares[0].name : "Match Audio";
var shareUrl = "https://match.audio/" + this.getParams().service + "/" + this.getParams().type + "/" + this.getParams().id;
return (
<head>
<meta charSet="utf-8" />
@ -20,7 +24,7 @@ module.exports = React.createClass({
<meta name="twitter:title" property="og:title" content={title} />
<meta name="twitter:description" property="og:description" content="We've matched this music on Rdio, Spotify, Deezer, Beats Music, Google Music and iTunes so you can open it in the service you use." />
<meta name="twitter:image:src" property="og:image" content={image} />
<meta property="og:url" content="" />
<meta property="og:url" content={shareUrl} />
<link rel="shortcut icon" href="/images/favicon.png" />
<link rel="icon" sizes="512x512" href="/images/logo-512.png" />
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,300,700' rel='stylesheet' type='text/css' />

View file

@ -87,15 +87,17 @@ module.exports = React.createClass({
getInitialState: function () {
if (this.props.shares && this.props.shares[0].id == this.getParams().id) {
return {
name: this.props.shares ? this.props.shares[0].name : "",
artist: this.props.shares ? this.props.shares[0].artist.name : "",
shares: this.props.shares || []
name: this.props.shares[0].name,
artist: this.props.shares[0].artist.name,
shares: this.props.shares,
shareUrl: "https://match.audio/" + this.getParams().service + "/" + this.getParams().type + "/" + this.getParams().id
};
}
return {
name: "",
artist: "",
shares: []
shares: [],
shareUrl: ""
};
},
@ -110,7 +112,6 @@ module.exports = React.createClass({
this.state.shares.forEach(function(share) {
if (typeof share.matched_at === "undefined") {
console.log(share)
complete = false;
}
});
@ -192,9 +193,9 @@ module.exports = React.createClass({
<div className="col-md-3 col-sm-4 hidden-xs">
<ul className="list-inline share-tools">
<li>Share this</li>
<li><a href={"http://twitter.com/intent/tweet/?text=Check out " + encodeURIComponent(this.state.name) + " by " + encodeURIComponent(this.state.artist) + "&via=MatchAudio"} className="share-dialog"><img src="/images/twitter.png" alt="Twitter" /></a></li>
<li><a href="http://www.facebook.com/sharer/sharer.php" className="share-dialog"><img src="/images/facebook.png" alt="Facebook" /></a></li>
<li><a href="https://plus.google.com/share" className="share-dialog"><img src="/images/googleplus.png" alt="Google+" /></a></li>
<li><a href={"http://twitter.com/intent/tweet/?text=" + encodeURIComponent(this.state.name) + " by " + encodeURIComponent(this.state.artist) + "&via=MatchAudio&url=" + this.state.shareUrl} className="share-dialog"><img src="/images/twitter.png" alt="Twitter" /></a></li>
<li><a href={"http://www.facebook.com/sharer/sharer.php?p[url]=" + this.state.shareUrl} className="share-dialog"><img src="/images/facebook.png" alt="Facebook" /></a></li>
<li><a href={"https://plus.google.com/share?url=" + this.state.shareUrl} className="share-dialog"><img src="/images/googleplus.png" alt="Google+" /></a></li>
</ul>
</div>
</div>