UNPKG

vue-socials

Version:

Social media share buttons and counts for Vue.js

101 lines (82 loc) 3.33 kB
import { defineComponent } from 'vue'; import BaseSocials from '../../mixins/BaseSocial/BaseSocial.js'; /** * Hey! * * SGithubRepo component used for GitHub social network * @link https://github.com/ */ var GITHUB_LINK_TYPES = { repo: 'repo', watch: 'watch', star: 'star', fork: 'fork', download: 'download', issue: 'issue', pr: 'pr', template: 'template' }; var SGithubRepo = /* #__PURE__ */defineComponent({ name: 'SGithubRepo', 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, repository = shareOptions.repository, type = shareOptions.type; switch (type) { case GITHUB_LINK_TYPES.watch: return "".concat(BASE_URL).concat(username, "/").concat(repository, "/subscription"); case GITHUB_LINK_TYPES.fork: return "".concat(BASE_URL).concat(username, "/").concat(repository, "/fork"); case GITHUB_LINK_TYPES.star: return "".concat(BASE_URL).concat(username, "/").concat(repository, "/stargazers"); case GITHUB_LINK_TYPES.issue: return "".concat(BASE_URL).concat(username, "/").concat(repository, "/issues/new"); case GITHUB_LINK_TYPES.pr: return "".concat(BASE_URL).concat(username, "/").concat(repository, "/compare"); case GITHUB_LINK_TYPES.download: return "".concat(BASE_URL).concat(username, "/").concat(repository, "/archive/master.zip"); case GITHUB_LINK_TYPES.template: return "".concat(BASE_URL).concat(username, "/").concat(repository, "/generate"); case GITHUB_LINK_TYPES.repo: default: return "".concat(BASE_URL).concat(username, "/").concat(repository); } }, ariaLabel: function ariaLabel() { var shareOptions = this.shareOptions; var username = shareOptions.username, repository = shareOptions.repository, type = shareOptions.type; switch (type) { case GITHUB_LINK_TYPES.watch: return "Watch ".concat(username, "/").concat(repository, " on GitHub"); case GITHUB_LINK_TYPES.fork: return "Fork ".concat(username, "/").concat(repository, " on GitHub"); case GITHUB_LINK_TYPES.star: return "Give a star to ".concat(username, "/").concat(repository, " on GitHub"); case GITHUB_LINK_TYPES.issue: return "Raise a new issue on ".concat(username, "/").concat(repository, " on GitHub"); case GITHUB_LINK_TYPES.pr: return "Raise a new pull request ".concat(username, "/").concat(repository, " on GitHub"); case GITHUB_LINK_TYPES.download: return "Download ".concat(username, "/").concat(repository, " from GitHub"); case GITHUB_LINK_TYPES.template: return "Generate a new repository from ".concat(username, "/").concat(repository, " on GitHub"); case GITHUB_LINK_TYPES.repo: default: return "Watch ".concat(username, "/").concat(repository, " on GitHub"); } } }, render: function render() { return this.generateComponent(this.networkURL); } }); export default SGithubRepo;