diff --git a/Dockerfile b/Dockerfile index 835ff16..23641cb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,11 @@ -FROM node:10.16-alpine +FROM node:12.18-alpine3.12 WORKDIR /home/client ADD ./client/ /home/client/ RUN npm install RUN npm run build -FROM golang:1.12.9-alpine3.10 +FROM golang:1.14.4-alpine3.12 WORKDIR /go/src/github.com/mgerb/go-discord-bot/server COPY --from=0 /home/dist /go/src/github.com/mgerb/go-discord-bot/dist @@ -18,7 +18,7 @@ RUN packr build -o /build/bot RUN go build -o /build/bot-scripts ./scripts -FROM wernight/youtube-dl:latest +FROM alpine:3.12 RUN apk update RUN apk add ca-certificates opus-dev opusfile-dev diff --git a/client/app/components/clip-player-control/clip-player-control.tsx b/client/app/components/clip-player-control/clip-player-control.tsx index 458cc08..af991be 100644 --- a/client/app/components/clip-player-control/clip-player-control.tsx +++ b/client/app/components/clip-player-control/clip-player-control.tsx @@ -1,19 +1,18 @@ import React from 'react'; -import { SoundService } from '../../services'; +import { SoundListType, SoundType } from '../../model'; interface IProps { sound: SoundType; - type: 'sounds' | 'clips'; - showDiscordPlay?: boolean; + type: SoundListType; + hasModPermissions: boolean; + showFavorite?: boolean; + onFavorite?: () => void; + onPlayBrowser: (sound: SoundType) => void; + onPlayDiscord: (sound: SoundType) => void; } interface IState {} -export interface SoundType { - extension: string; - name: string; -} - export class ClipPlayerControl extends React.Component { checkExtension(extension: string) { switch (extension) { @@ -28,22 +27,21 @@ export class ClipPlayerControl extends React.Component { } } - handlePlayAudioInBrowser(sound: SoundType, type: string) { - const url = `/public/${type.toLowerCase()}/` + sound.name + '.' + sound.extension; - const audio = new Audio(url); - audio.play(); - } - - onPlayDiscord = (sound: SoundType) => { - SoundService.playSound(sound); - }; - render() { - const { sound, showDiscordPlay, type } = this.props; + const { onPlayBrowser, onPlayDiscord, sound, hasModPermissions, showFavorite, type } = this.props; return ( this.checkExtension(sound.extension) && (
+ {showFavorite && hasModPermissions && ( +