diff options
| author | HJ <30-hj@users.noreply.git.pleroma.social> | 2021-05-31 11:00:53 +0000 |
|---|---|---|
| committer | HJ <30-hj@users.noreply.git.pleroma.social> | 2021-05-31 11:00:53 +0000 |
| commit | dc611dffdbf8f24c10caa7651651efbff1acfe67 (patch) | |
| tree | 9231422f2f448204685c69984a2859a0f014dcab /src/components/flash/flash.js | |
| parent | 0741d1d93d1ff40489747c0dcfd652be8bf6e2ab (diff) | |
| parent | 245addb530f04510d072531eef45e7f30c79e237 (diff) | |
Merge branch 'flash-support' into 'develop'
Flash support
See merge request pleroma/pleroma-fe!1380
Diffstat (limited to 'src/components/flash/flash.js')
| -rw-r--r-- | src/components/flash/flash.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/components/flash/flash.js b/src/components/flash/flash.js new file mode 100644 index 00000000..d03384c7 --- /dev/null +++ b/src/components/flash/flash.js @@ -0,0 +1,52 @@ +import RuffleService from '../../services/ruffle_service/ruffle_service.js' +import { library } from '@fortawesome/fontawesome-svg-core' +import { + faStop, + faExclamationTriangle +} from '@fortawesome/free-solid-svg-icons' + +library.add( + faStop, + faExclamationTriangle +) + +const Flash = { + props: [ 'src' ], + 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, or re-loading on failure + this.player = 'hidden' + RuffleService.getRuffle().then((ruffle) => { + const player = ruffle.newest().createPlayer() + player.config = { + letterbox: 'on' + } + const container = this.$refs.container + container.appendChild(player) + player.style.width = '100%' + player.style.height = '100%' + player.load(this.src).then(() => { + this.player = true + }).catch((e) => { + console.error('Error loading ruffle', e) + this.player = 'error' + }) + this.ruffleInstance = player + }) + }, + closePlayer () { + console.log(this.ruffleInstance) + this.ruffleInstance.remove() + this.player = false + } + } +} + +export default Flash |
