added early mediaPlayer

This commit is contained in:
srgooglo 2022-08-04 11:57:45 +02:00
parent 9f8f66391a
commit 8d42494f10
6 changed files with 96 additions and 0 deletions

View File

@ -0,0 +1,14 @@
import React from "react"
import "./index.less"
export default (props) => {
return <div className="embbededMediaPlayer">
<div className="controls">
</div>
<h1>
Media player
</h1>
</div>
}

View File

@ -25,6 +25,7 @@ export { default as ImageViewer } from "./ImageViewer"
export { default as Login } from "./Login"
export { default as Image } from "./Image"
export { default as LoadMore } from "./LoadMore"
export { default as EmbbededMediaPlayer } from "./EmbbededMediaPlayer"
// BUTTONS
export { default as LikeButton } from "./LikeButton"

View File

@ -7,6 +7,8 @@ import NotificationsCore from "./notifications"
import ShortcutsCore from "./shortcuts"
import SoundCore from "./sound"
import mediaPlayer from "./mediaPlayer"
// DEFINE LOAD ORDER HERE
export default [
SettingsCore,
@ -16,4 +18,6 @@ export default [
SoundCore,
NotificationsCore,
ShortcutsCore,
mediaPlayer,
]

View File

@ -0,0 +1,40 @@
import React from "react"
import ReactDOM from "react-dom"
import Core from "evite/src/core"
import { EmbbededMediaPlayer } from "components"
import { DOMWindow } from "components/RenderWindow"
import "./index.less"
const EmbbededMediaPlayerWrapper = (props) => {
return <div className="embbededMediaPlayerWrapper">
{props.children}
</div>
}
export default class MediaPlayerCore extends Core {
constructor(props) {
super(props)
}
currentDomWindow = null
publicMethods = {
MediaPlayerCore: this,
}
attachEmbbededMediaPlayer() {
if (this.currentDomWindow) {
console.warn("EmbbededMediaPlayer already attached")
return false
}
this.currentDomWindow = new DOMWindow({
id: "mediaPlayer"
})
this.currentDomWindow.render(<EmbbededMediaPlayerWrapper><EmbbededMediaPlayer /></EmbbededMediaPlayerWrapper>)
}
}

View File

@ -0,0 +1,37 @@
.embbededMediaPlayerWrapper {
position: absolute;
width: fit-content;
height: 80px;
padding: 10px;
z-index: 300;
border-radius: 8px;
background-color: var(--background-color-accent);
display: inline-flex;
align-items: center;
justify-content: center;
// positionate to bottom right
right: 0;
bottom: 0;
margin: 10px;
// animate in from bottom to top
animation: fadeIn 150ms ease-out forwards;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}