Skip to content
This repository has been archived by the owner on Mar 27, 2021. It is now read-only.

Cleanup #6

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 6 additions & 8 deletions components/App/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,11 @@ import Header from '../Header';
import LoginContainer from '../LoginContainer';
import styles from './styles.scss';

const App = () => {
return(
<div className="app">
<Header className="header"/>
<LoginContainer />
</div>
);
}
const App = () => (
<div className={styles.app}>
<Header />
<LoginContainer />
</div>
);

export default App;
50 changes: 28 additions & 22 deletions components/Categories/English/index.js
Original file line number Diff line number Diff line change
@@ -1,40 +1,45 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';

import EnglishMovies from './EnglishMovies';
import styles from './styles.scss';

class English extends Component {
constructor(props){
constructor(props) {
super(props);
this.state = {
documentary: false,
drama: false,
movie: false,
variety: false
}
};
}

componentWillReceiveProps(nextProps) {
if(this.props.genre !== nextProps.genre) {
const genre = nextProps.genre;
var updatedState = {
if (this.props.genre !== nextProps.genre) {
const { genre } = nextProps;
const updatedState = {
documentary: false,
drama: false,
movie: false,
variety: false
variety: false,
};

switch (genre) {
case "documentary": updatedState.documentary = true;
case 'documentary':
updatedState.documentary = true;
break;

case "drama": updatedState.drama = true;
case 'drama':
updatedState.drama = true;
break;

case "movie": updatedState.movie = true;
case 'movie':
updatedState.movie = true;
break;

case "variety": updatedState.variety = true;
case 'variety':
updatedState.variety = true;
break;

default:
Expand All @@ -46,19 +51,20 @@ class English extends Component {
}

render() {
if(this.props.render)
{
return(
<div>
<h1>English</h1>
<EnglishMovies render={this.state.movie} />
</div>
);
}
else {
return <div></div>;
}
return this.props.render ? (
<div>
<h1>English</h1>
<EnglishMovies render={this.state.movie} />
</div>
) : (
<div />
);
}
}

English.propTypes = {
genre: PropTypes.string.isRequired,
render: PropTypes.bool.isRequired,
};

export default English;
54 changes: 30 additions & 24 deletions components/Categories/Korean/index.js
Original file line number Diff line number Diff line change
@@ -1,64 +1,70 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';

import KoreanMovies from './KoreanMovies';
import styles from './styles.scss';

class Korean extends Component {
constructor(props){
constructor(props) {
super(props);
this.state = {
documentary: false,
drama: false,
movie: false,
variety: false
}
variety: false,
};
}

componentWillReceiveProps(nextProps) {
if(this.props.genre !== nextProps.genre) {
const genre = nextProps.genre;
var updatedState = {
if (this.props.genre !== nextProps.genre) {
const { genre } = nextProps;
const updatedState = {
documentary: false,
drama: false,
movie: false,
variety: false
variety: false,
};

switch (genre) {
case "documentary": updatedState.documentary = true;
case 'documentary':
updatedState.documentary = true;
break;

case "drama": updatedState.drama = true;
case 'drama':
updatedState.drama = true;
break;

case "movie": updatedState.movie = true;
case 'movie':
updatedState.movie = true;
break;

case "variety": updatedState.variety = true;
case 'variety':
updatedState.variety = true;
break;

default:
break;
}

this.setState(updatedState);
}
}

render() {
if(this.props.render)
{
return(
<div>
<h1>Korean</h1>
<KoreanMovies render={this.state.movie} />
</div>
);
}
else {
return <div></div>;
}
return this.props.render ? (
<div>
<h1>Korean</h1>
<KoreanMovies render={this.state.movie} />
</div>
) : (
<div />
);
}
}

Korean.propTypes = {
genre: PropTypes.string.isRequired,
render: PropTypes.bool.isRequired,
};

export default Korean;
104 changes: 46 additions & 58 deletions components/CategoryTags/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,104 +10,92 @@ class CategoryTags extends Component {
this.state = {
tags: [],
suggestions: [
{ id: 0, name: "English" },
{ id: 2, name: "Japanese"},
{ id: 4, name: "Korean"},
{ id: 6, name: "Tamil"}
{ id: 0, name: 'English' },
{ id: 2, name: 'Japanese' },
{ id: 4, name: 'Korean' },
{ id: 6, name: 'Tamil' },
],
languages: [
{ id: 0, name: "English" },
{ id: 2, name: "Japanese"},
{ id: 4, name: "Korean"},
{ id: 6, name: "Tamil"}
{ id: 0, name: 'English' },
{ id: 2, name: 'Japanese' },
{ id: 4, name: 'Korean' },
{ id: 6, name: 'Tamil' },
],
genres: [
{ id: 1, name: "Documentary"},
{ id: 3, name: "Drama"},
{ id: 5, name: "Movie" },
{ id: 7, name: "Variety"}
]

}
{ id: 1, name: 'Documentary' },
{ id: 3, name: 'Drama' },
{ id: 5, name: 'Movie' },
{ id: 7, name: 'Variety' },
],
};

this.handleDelete = (i) => {
if(this.state.tags.length > 0) {
if (this.state.tags.length > 0) {
const tag = this.state.tags[i];
const tags = this.state.tags.slice(0);
tags.splice(i, 1);
this.setState({ tags });

if (tag.id % 2 === 0) {
// language list
const { languages } = this.state;
const suggestions = this.state.languages;
languages[languages.indexOf(tag)].disabled = false;
this.setState({ languages });
this.setState({ suggestions });
} else {
// genre list
const { genres } = this.state;
let suggestions = this.state.genres;


if(tag.id % 2 == 0) { // language list
var languages = this.state.languages;
const suggestions = this.state.languages;
languages[myIndexOf(languages, tag)].disabled = false;
this.setState({ languages });
this.setState({ suggestions });
// reset suggestions back to languages when last tag removed
if (tags.length === 0) {
suggestions = this.state.languages;
}
else { // genre list
var genres = this.state.genres;
var suggestions = this.state.genres;

// reset suggestions back to languages when last tag removed
if (tags.length == 0)
suggestions = this.state.languages;

genres[myIndexOf(genres, tag)].disabled = false;
this.setState({ genres });
this.setState({ suggestions });
}
genres[genres.indexOf(tag)].disabled = false;
this.setState({ genres });
this.setState({ suggestions });
}
else {
console.log("Nothing to delete.");
} else {
console.log('Nothing to delete.');
}
}
};

this.handleAddition = (tag) => {
if(this.state.tags.length < 2) {
if (this.state.tags.length < 2) {
const tags = [].concat(this.state.tags, tag);
this.setState({ tags });

if(tag.id % 2 == 0) {
var languages = this.state.languages;
if (tag.id % 2 === 0) {
const { languages } = this.state;
const suggestions = this.state.genres;
languages[myIndexOf(languages, tag)].disabled = true;
languages[languages.findIndex(tag)].disabled = true;
this.setState({ languages });
this.setState({ suggestions });
}
else {
var genres = this.state.genres;
} else {
const { genres } = this.state;
const suggestions = this.state.languages;
genres[myIndexOf(genres, tag)].disabled = true;
genres[genres.indexOf(tag)].disabled = true;
this.setState({ genres });
this.setState({ suggestions });
}
}

if(this.state.tags.length == 1) {
if (this.state.tags.length === 1) {
const suggestions = [];
this.setState({ suggestions });
}
}

function myIndexOf(arr, obj) {
for (var i = 0; i < arr.length; i++) {
if (arr[i].id == obj.id && arr[i].name == obj.name) {
return i;
}
}
return -1;
}
}
render() {
return(
return (
<div>
<div>Categories</div>
<ReactTags
autofocus={true}
autofocus
autoresize={false}
className="reactTags"
className={styles['react-tags']}
handleAddition={this.handleAddition}
handleDelete={this.handleDelete}
handleInputChange={this.handleInputChange}
Expand Down
Loading