From 84c2425c6d5f02a3aad50df663ed7f2514826847 Mon Sep 17 00:00:00 2001 From: Mitchell Gerber Date: Wed, 2 Aug 2017 19:50:00 -0500 Subject: [PATCH] typescript conversion --- client/app/{Wrapper.js => Wrapper.tsx} | 20 +- client/app/{app.js => app.tsx} | 12 +- ...vbar.component.js => Navbar.component.tsx} | 15 +- .../{Downloader.js => Downloader.tsx} | 18 +- client/app/pages/Home/{Home.js => Home.tsx} | 11 +- .../NotFound/{NotFound.js => NotFound.tsx} | 10 +- client/app/pages/Pubg/Pubg.tsx | 10 + ...t.component.js => SoundList.component.tsx} | 23 +- .../{Soundboard.js => Soundboard.tsx} | 28 ++- client/package.json | 12 +- client/tsconfig.json | 38 ++++ client/webpack.config.js | 10 +- client/yarn.lock | 204 +++++++++++++++--- 13 files changed, 347 insertions(+), 64 deletions(-) rename client/app/{Wrapper.js => Wrapper.tsx} (56%) rename client/app/{app.js => app.tsx} (60%) rename client/app/components/Navbar/{Navbar.component.js => Navbar.component.tsx} (75%) rename client/app/pages/Downloader/{Downloader.js => Downloader.tsx} (90%) rename client/app/pages/Home/{Home.js => Home.tsx} (89%) rename client/app/pages/NotFound/{NotFound.js => NotFound.tsx} (64%) create mode 100644 client/app/pages/Pubg/Pubg.tsx rename client/app/pages/Soundboard/{SoundList.component.js => SoundList.component.tsx} (85%) rename client/app/pages/Soundboard/{Soundboard.js => Soundboard.tsx} (87%) create mode 100644 client/tsconfig.json diff --git a/client/app/Wrapper.js b/client/app/Wrapper.tsx similarity index 56% rename from client/app/Wrapper.js rename to client/app/Wrapper.tsx index d9d9348..832c51b 100644 --- a/client/app/Wrapper.js +++ b/client/app/Wrapper.tsx @@ -1,10 +1,22 @@ import React from 'react'; -import Navbar from './components/Navbar/Navbar.component'; +import { Navbar } from './components/Navbar/Navbar.component'; //styling import './scss/index.scss'; -export default class Wrapper extends React.Component { +interface Props { + +} + +interface State { + +} + +export class Wrapper extends React.Component { + + constructor() { + super(); + } render() { return ( @@ -17,7 +29,3 @@ export default class Wrapper extends React.Component { ); } } - -Wrapper.propTypes = { - children: React.PropTypes.node, -}; diff --git a/client/app/app.js b/client/app/app.tsx similarity index 60% rename from client/app/app.js rename to client/app/app.tsx index dd31abd..c3b30d3 100644 --- a/client/app/app.js +++ b/client/app/app.tsx @@ -2,11 +2,12 @@ import React from 'react'; import ReactDOM from 'react-dom'; import { Router, Route, IndexRoute, browserHistory } from 'react-router'; -import Wrapper from './Wrapper'; -import Home from './pages/Home/Home'; -import Soundboard from './pages/Soundboard/Soundboard'; -import NotFound from './pages/NotFound/NotFound'; -import Downloader from './pages/Downloader/Downloader'; +import { Wrapper } from './Wrapper'; +import { Home } from './pages/Home/Home'; +import { Soundboard } from './pages/Soundboard/Soundboard'; +import { NotFound } from './pages/NotFound/NotFound'; +import { Downloader } from './pages/Downloader/Downloader'; +import { Pubg } from './pages/Pubg/Pubg'; ReactDOM.render( @@ -14,6 +15,7 @@ ReactDOM.render( + diff --git a/client/app/components/Navbar/Navbar.component.js b/client/app/components/Navbar/Navbar.component.tsx similarity index 75% rename from client/app/components/Navbar/Navbar.component.js rename to client/app/components/Navbar/Navbar.component.tsx index 637b2a7..d7324e4 100644 --- a/client/app/components/Navbar/Navbar.component.js +++ b/client/app/components/Navbar/Navbar.component.tsx @@ -3,7 +3,15 @@ import { Link } from 'react-router'; import './Navbar.scss'; -export default class Navbar extends React.Component { +interface Props { + +} + +interface State { + +} + +export class Navbar extends React.Component { render() { return ( @@ -12,11 +20,8 @@ export default class Navbar extends React.Component { Home Soundboard Youtube Downloader + Pubg ); } } - -Navbar.propTypes = { - children: React.PropTypes.node, -}; diff --git a/client/app/pages/Downloader/Downloader.js b/client/app/pages/Downloader/Downloader.tsx similarity index 90% rename from client/app/pages/Downloader/Downloader.js rename to client/app/pages/Downloader/Downloader.tsx index f1989fd..2bff2c7 100644 --- a/client/app/pages/Downloader/Downloader.js +++ b/client/app/pages/Downloader/Downloader.tsx @@ -3,9 +3,23 @@ import axios from 'axios'; import './Downloader.scss'; -export default class Downloader extends React.Component { +interface Props { - constructor(props) { +} + +interface State { + fileType: string; + url: string; + message: string; + downloadLink: string; + downLoadFileName: string; + dataLoading: boolean; + dataLoaded: boolean; +} + +export class Downloader extends React.Component { + + constructor(props: Props) { super(props); this.state = { fileType: "mp3", diff --git a/client/app/pages/Home/Home.js b/client/app/pages/Home/Home.tsx similarity index 89% rename from client/app/pages/Home/Home.js rename to client/app/pages/Home/Home.tsx index ab359e0..3a8605f 100644 --- a/client/app/pages/Home/Home.js +++ b/client/app/pages/Home/Home.tsx @@ -2,7 +2,16 @@ import React from 'react'; import './Home.scss'; -export default class Home extends React.Component { +interface Props { + +} + +interface State { + +} + +export class Home extends React.Component { + render() { return (
diff --git a/client/app/pages/NotFound/NotFound.js b/client/app/pages/NotFound/NotFound.tsx similarity index 64% rename from client/app/pages/NotFound/NotFound.js rename to client/app/pages/NotFound/NotFound.tsx index 701cce2..edfacde 100644 --- a/client/app/pages/NotFound/NotFound.js +++ b/client/app/pages/NotFound/NotFound.tsx @@ -1,7 +1,15 @@ import React from 'react'; import './NotFound.scss'; -export default class Default extends React.Component { +interface Props { + +} + +interface State { + +} + +export class NotFound extends React.Component { render() { return (
diff --git a/client/app/pages/Pubg/Pubg.tsx b/client/app/pages/Pubg/Pubg.tsx new file mode 100644 index 0000000..b6fae2b --- /dev/null +++ b/client/app/pages/Pubg/Pubg.tsx @@ -0,0 +1,10 @@ +import React from 'react'; + +export class Pubg extends React.Component { + + render() { + return ( +
test 123
+ ); + } +} diff --git a/client/app/pages/Soundboard/SoundList.component.js b/client/app/pages/Soundboard/SoundList.component.tsx similarity index 85% rename from client/app/pages/Soundboard/SoundList.component.js rename to client/app/pages/Soundboard/SoundList.component.tsx index 7a84e6b..0c04dab 100644 --- a/client/app/pages/Soundboard/SoundList.component.js +++ b/client/app/pages/Soundboard/SoundList.component.tsx @@ -3,8 +3,23 @@ import axios from 'axios'; import './SoundList.scss'; -export default class SoundList extends React.Component { +interface Props { + +} + +interface State { + showAudioControls: boolean[]; + soundList: { + extension: string; + name: string; + prefix: string; + }[]; +} + +export class SoundList extends React.Component { + private soundListCache: any; + constructor() { super(); this.state = { @@ -34,7 +49,7 @@ export default class SoundList extends React.Component { } } - checkExtension(extension) { + checkExtension(extension: string) { switch(extension) { case "wav": return true; @@ -47,7 +62,7 @@ export default class SoundList extends React.Component { } } - handleShowAudio(index) { + handleShowAudio(index: any) { let temp = this.state.showAudioControls; temp[index] = true; @@ -77,7 +92,7 @@ export default class SoundList extends React.Component { {this.checkExtension(sound.extension) && this.state.showAudioControls[index] ?