From 58170df201baa25ba0c4f67d2428371d9c7da407 Mon Sep 17 00:00:00 2001 From: Mitchell Date: Thu, 11 Jun 2020 22:41:02 -0500 Subject: [PATCH] feat: add favorites - update dependencies --- Dockerfile | 6 +- .../clip-player-control.tsx | 42 +- .../app/components/sound-list/sound-list.tsx | 34 +- client/app/model/sound.ts | 9 + client/app/pages/clips/clips.tsx | 8 +- client/app/pages/oauth/oauth.tsx | 2 +- client/app/pages/soundboard/soundboard.tsx | 33 +- .../pages/upload-history/upload-history.tsx | 12 +- client/app/services/sound.service.ts | 11 +- client/app/services/storage.service.ts | 13 + client/app/stores/app.store.ts | 24 +- client/app/wrapper.tsx | 2 +- client/package-lock.json | 4983 +++++++++-------- client/package.json | 36 +- docker-compose.yml | 5 +- readme.md | 7 +- server/Gopkg.lock | 116 +- server/main.go | 4 + 18 files changed, 3040 insertions(+), 2307 deletions(-) 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 && ( +