Share buttons do stuff
This commit is contained in:
parent
f799887e60
commit
721e7eda2a
|
@ -8,5 +8,68 @@ export default Vue.extend({
|
||||||
components: {
|
components: {
|
||||||
'ft-icon-button': FtIconButton,
|
'ft-icon-button': FtIconButton,
|
||||||
'ft-button': FtButton
|
'ft-button': FtButton
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
id: {
|
||||||
|
type: String,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
invidiousInstance: function () {
|
||||||
|
return this.$store.getters.getInvidiousInstance
|
||||||
|
},
|
||||||
|
|
||||||
|
usingElectron: function () {
|
||||||
|
return this.$store.getters.getUsingElectron
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
copy(text) {
|
||||||
|
navigator.clipboard.writeText(text)
|
||||||
|
},
|
||||||
|
|
||||||
|
open(url) {
|
||||||
|
if (this.usingElectron) {
|
||||||
|
const shell = require('electron').shell
|
||||||
|
shell.openExternal(url)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
getInvidiousURL() {
|
||||||
|
return `${this.invidiousInstance}/watch?v=${this.id}`
|
||||||
|
},
|
||||||
|
|
||||||
|
getYoutubeURL() {
|
||||||
|
return `https://www.youtube.com/watch?v=${this.id}`
|
||||||
|
},
|
||||||
|
|
||||||
|
getYoutubeEmbedURL() {
|
||||||
|
return `https://www.youtube-nocookie.com/embed/${this.id}`
|
||||||
|
},
|
||||||
|
|
||||||
|
openInvidious() {
|
||||||
|
this.open(this.getInvidiousURL())
|
||||||
|
},
|
||||||
|
|
||||||
|
copyInvidious() {
|
||||||
|
this.copy(this.getInvidiousURL())
|
||||||
|
},
|
||||||
|
|
||||||
|
openYoutube() {
|
||||||
|
this.open(this.getYoutubeURL())
|
||||||
|
},
|
||||||
|
|
||||||
|
copyYoutube() {
|
||||||
|
this.copy(this.getYoutubeURL())
|
||||||
|
},
|
||||||
|
|
||||||
|
openYoutubeEmbed() {
|
||||||
|
this.open(this.getYoutubeEmbedURL())
|
||||||
|
},
|
||||||
|
|
||||||
|
copyYoutubeEmbed() {
|
||||||
|
this.copy(this.getYoutubeEmbedURL())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
.shareLinks
|
.shareLinks
|
||||||
display: grid
|
display: grid
|
||||||
grid-template-rows: auto auto auto
|
grid-template-rows: auto auto
|
||||||
grid-auto-flow: column
|
grid-auto-flow: column
|
||||||
padding: 12px
|
padding: 12px
|
||||||
width: max-content
|
width: max-content
|
||||||
|
@ -11,8 +11,12 @@
|
||||||
margin: 4px 0px 8px
|
margin: 4px 0px 8px
|
||||||
color: var(--primary-text-color)
|
color: var(--primary-text-color)
|
||||||
|
|
||||||
.action
|
.buttons
|
||||||
padding: 6px
|
display: flex
|
||||||
|
flex-direction: column
|
||||||
|
|
||||||
|
.action
|
||||||
|
padding: 6px
|
||||||
|
|
||||||
.divider
|
.divider
|
||||||
grid-row: span 3
|
grid-row: span 3
|
||||||
|
|
|
@ -10,27 +10,57 @@
|
||||||
<img class="youtubeLogo" src="~../../assets/img/yt_logo_mono_dark.png" alt="YouTube" width="794" height="178">
|
<img class="youtubeLogo" src="~../../assets/img/yt_logo_mono_dark.png" alt="YouTube" width="794" height="178">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ft-button class="action">
|
<div class="buttons">
|
||||||
<font-awesome-icon icon="copy"></font-awesome-icon>
|
<ft-button
|
||||||
Copy link
|
class="action"
|
||||||
</ft-button>
|
@click="copyYoutube()"
|
||||||
<ft-button class="action">
|
>
|
||||||
<font-awesome-icon icon="globe"></font-awesome-icon>
|
<font-awesome-icon icon="copy"/>
|
||||||
Open link
|
Copy link
|
||||||
</ft-button>
|
</ft-button>
|
||||||
|
<ft-button
|
||||||
|
class="action"
|
||||||
|
@click="openYoutube()"
|
||||||
|
>
|
||||||
|
<font-awesome-icon icon="globe"/>
|
||||||
|
Open link
|
||||||
|
</ft-button>
|
||||||
|
<ft-button
|
||||||
|
class="action"
|
||||||
|
@click="copyYoutubeEmbed()"
|
||||||
|
>
|
||||||
|
<font-awesome-icon icon="file-video"/>
|
||||||
|
Copy embed
|
||||||
|
</ft-button>
|
||||||
|
<ft-button
|
||||||
|
class="action"
|
||||||
|
@click="openYoutubeEmbed()"
|
||||||
|
>
|
||||||
|
<font-awesome-icon icon="file-video"/>
|
||||||
|
Open embed
|
||||||
|
</ft-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="divider"></div>
|
<div class="divider"></div>
|
||||||
|
|
||||||
<div class="header invidious"><span class="invidiousLogo"></span>Invidious</div>
|
<div class="header invidious"><span class="invidiousLogo"/>Invidious</div>
|
||||||
|
|
||||||
<ft-button class="action">
|
<div class="buttons">
|
||||||
<font-awesome-icon icon="copy"></font-awesome-icon>
|
<ft-button
|
||||||
Copy link
|
class="action"
|
||||||
</ft-button>
|
@click="copyInvidious()"
|
||||||
<ft-button class="action">
|
>
|
||||||
<font-awesome-icon icon="globe"></font-awesome-icon>
|
<font-awesome-icon icon="copy"/>
|
||||||
Open link
|
Copy link
|
||||||
</ft-button>
|
</ft-button>
|
||||||
|
<ft-button
|
||||||
|
class="action"
|
||||||
|
@click="openInvidious()"
|
||||||
|
>
|
||||||
|
<font-awesome-icon icon="globe"/>
|
||||||
|
Open link
|
||||||
|
</ft-button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ft-icon-button>
|
</ft-icon-button>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -71,7 +71,10 @@
|
||||||
:dropdown-values="formatTypeValues"
|
:dropdown-values="formatTypeValues"
|
||||||
@click="handleFormatChange"
|
@click="handleFormatChange"
|
||||||
/>
|
/>
|
||||||
<ft-share-button class="option"></ft-share-button>
|
<ft-share-button
|
||||||
|
class="option"
|
||||||
|
:id="id"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ft-card>
|
</ft-card>
|
||||||
|
|
Loading…
Reference in New Issue