diff --git a/src/components/attachment/attachment.vue b/src/components/attachment/attachment.vue
index 2102127d..9bb0d0be 100644
--- a/src/components/attachment/attachment.vue
+++ b/src/components/attachment/attachment.vue
@@ -174,6 +174,7 @@
}
.non-gallery.attachment {
+ &.flash,
&.video {
flex: 1 0 40%;
}
diff --git a/src/components/flash/flash.js b/src/components/flash/flash.js
index e707a4c4..832705a2 100644
--- a/src/components/flash/flash.js
+++ b/src/components/flash/flash.js
@@ -1,16 +1,44 @@
import RuffleService from '../../services/ruffle_service/ruffle_service.js'
+import { library } from '@fortawesome/fontawesome-svg-core'
+import { faStop } from '@fortawesome/free-solid-svg-icons'
+
+library.add(
+ faStop,
+)
const Flash = {
props: [ 'src' ],
- created () {
- this.$nextTick(function () {
+ data () {
+ return {
+ player: false, // can be true, "hidden", false. hidden = element exists
+ loaded: false,
+ ruffleInstance: null
+ }
+ },
+ methods: {
+ openPlayer () {
+ if (this.player) return // prevent double-loading
+ this.player = 'hidden'
RuffleService.getRuffle().then((ruffle) => {
const player = ruffle.newest().createPlayer()
+ player.config = {
+ letterbox: 'on'
+ }
const container = this.$refs.cunt
container.appendChild(player)
- player.load(this.src)
+ player.style.width = '100%'
+ player.style.height = '100%'
+ player.load(this.src).then(() => {
+ this.player = true
+ })
+ this.ruffleInstance = player
})
- })
+ },
+ closePlayer () {
+ console.log(this.ruffleInstance)
+ this.ruffleInstance.remove()
+ this.player = false
+ }
}
}
diff --git a/src/components/flash/flash.vue b/src/components/flash/flash.vue
index 510fe6d2..adef67ff 100644
--- a/src/components/flash/flash.vue
+++ b/src/components/flash/flash.vue
@@ -1,8 +1,31 @@
-
+
+
+
+
+
@@ -10,6 +33,30 @@
diff --git a/src/i18n/en.json b/src/i18n/en.json
index d6138482..90cbbf0f 100644
--- a/src/i18n/en.json
+++ b/src/i18n/en.json
@@ -79,7 +79,8 @@
"role": {
"admin": "Admin",
"moderator": "Moderator"
- }
+ },
+ "flash_content": "Click to show Flash content using Ruffle (Experimental)"
},
"image_cropper": {
"crop_picture": "Crop picture",