vue-socials
Version:
Social media share buttons and counts for Vue.js
65 lines (56 loc) • 1.71 kB
JavaScript
import { defineComponent } from 'vue';
import BaseSocials from '../../mixins/BaseSocial/BaseSocial.js';
/**
* Hey!
*
* SGithub component used for GitHub social network
* @link https://github.com/
* @example https://github.com/webistomin/
*/
var GITHUB_LINK_TYPES = {
sponsor: 'sponsor',
follow: 'follow',
profile: 'profile'
};
var SGithub = /* #__PURE__ */defineComponent({
name: 'SGithub',
mixins: [BaseSocials('GitHub', {
width: 900,
height: 600
})],
computed: {
networkURL: function networkURL() {
var BASE_URL = 'https://github.com/';
var shareOptions = this.shareOptions;
var username = shareOptions.username,
type = shareOptions.type;
switch (type) {
case GITHUB_LINK_TYPES.sponsor:
return "".concat(BASE_URL, "sponsors/").concat(username);
case GITHUB_LINK_TYPES.follow:
return "".concat(BASE_URL).concat(username, "?tab=followers");
case GITHUB_LINK_TYPES.profile:
default:
return "".concat(BASE_URL).concat(username);
}
},
ariaLabel: function ariaLabel() {
var shareOptions = this.shareOptions;
var username = shareOptions.username,
type = shareOptions.type;
switch (type) {
case GITHUB_LINK_TYPES.sponsor:
return "Sponsor ".concat(username, " on GitHub.");
case GITHUB_LINK_TYPES.follow:
return "Follow ".concat(username, " on GitHub.");
case GITHUB_LINK_TYPES.profile:
default:
return "Watch ".concat(username, " on GitHub.");
}
}
},
render: function render() {
return this.generateComponent(this.networkURL);
}
});
export default SGithub;