From be359f7424d14b33f5f65e1d98c3b2f358093e6b Mon Sep 17 00:00:00 2001 From: Mitchell Date: Wed, 12 Sep 2018 23:36:44 -0500 Subject: [PATCH] play sounds from web ui - store uploaded sounds in database --- .gitignore | 2 + .../app/components/sound-list/sound-list.tsx | 42 +++++-- client/app/components/uploader/uploader.tsx | 2 +- client/app/pages/soundboard/soundboard.tsx | 23 +++- client/app/services/index.ts | 1 + client/app/services/sound.service.ts | 10 ++ server/bothandlers/logger.go | 19 +-- server/bothandlers/sounds.go | 29 +++-- server/logger/model.go | 59 ---------- server/main.go | 20 ++-- server/webserver/discord/oauth.go | 42 +++++++ server/webserver/discord/user.go | 60 ---------- server/webserver/middleware/jwt.go | 4 +- server/webserver/model/attachment.go | 12 ++ server/webserver/model/index.go | 9 ++ .../model/message.go} | 39 +++++-- server/webserver/model/sound.go | 28 +++++ server/webserver/model/user.go | 28 +++++ server/webserver/routes/config.go | 4 +- server/webserver/routes/downloader.go | 4 +- server/webserver/routes/logger.go | 7 +- server/webserver/routes/oauth.go | 9 ++ server/webserver/routes/sound.go | 110 ++++++++++++++++++ server/webserver/routes/upload.go | 58 --------- server/webserver/routes/video-archive.go | 12 +- server/webserver/server.go | 2 +- 26 files changed, 390 insertions(+), 245 deletions(-) create mode 100644 client/app/services/sound.service.ts delete mode 100644 server/logger/model.go delete mode 100644 server/webserver/discord/user.go create mode 100644 server/webserver/model/attachment.go create mode 100644 server/webserver/model/index.go rename server/{logger/operations.go => webserver/model/message.go} (50%) create mode 100644 server/webserver/model/sound.go create mode 100644 server/webserver/model/user.go create mode 100644 server/webserver/routes/sound.go delete mode 100644 server/webserver/routes/upload.go diff --git a/.gitignore b/.gitignore index e927834..1bb39cc 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,5 @@ tmp /data /data.db + +/logrus.log diff --git a/client/app/components/sound-list/sound-list.tsx b/client/app/components/sound-list/sound-list.tsx index 9cc9dd0..9c873dc 100644 --- a/client/app/components/sound-list/sound-list.tsx +++ b/client/app/components/sound-list/sound-list.tsx @@ -4,6 +4,8 @@ import './sound-list.scss'; interface Props { soundList: SoundType[]; type: string; + onPlayDiscord?: (sound: SoundType) => void; + showDiscordPlay?: boolean; } interface State { @@ -37,17 +39,14 @@ export class SoundList extends React.Component { } } - handleShowAudio(index: any) { - let temp = this.state.showAudioControls; - temp[index] = true; - - this.setState({ - showAudioControls: temp, - }); + handlePlayAudioInBrowser(sound: SoundType, type: string) { + const url = `/public/${type.toLowerCase()}/` + sound.name + '.' + sound.extension; + const audio = new Audio(url); + audio.play(); } render() { - const { soundList, type } = this.props; + const { onPlayDiscord, showDiscordPlay, soundList, type } = this.props; return (
@@ -74,7 +73,32 @@ export class SoundList extends React.Component { style={{ width: '100px' }} /> ) : ( -