diff --git a/src/app/routerConfig.js b/src/app/routerConfig.js
index 87d3ef0b9..c1f1dfb4f 100644
--- a/src/app/routerConfig.js
+++ b/src/app/routerConfig.js
@@ -1,4 +1,4 @@
-import { Calendar, Discover, Addons, Board } from 'stremio-routes';
+import { Calendar, Discover, Addons, Settings, Board } from 'stremio-routes';
const config = {
views: [
@@ -23,6 +23,10 @@ const config = {
{
path: '/addons',
component: Addons
+ },
+ {
+ path: '/settings',
+ component: Settings
}
]
}
diff --git a/src/routes/Settings/Settings.js b/src/routes/Settings/Settings.js
new file mode 100644
index 000000000..fb8068e31
--- /dev/null
+++ b/src/routes/Settings/Settings.js
@@ -0,0 +1,41 @@
+import React, { Component } from 'react';
+import PropTypes from 'prop-types';
+import styles from './styles';
+import SettingsExpanded from './SettingsExpanded';
+
+class Settings extends Component {
+ constructor(props) {
+ super(props);
+
+ this.state = {
+ selectedMenu: 'player_preferences'
+ }
+
+ this.changeSettings = this.changeSettings.bind(this);
+ }
+
+ changeSettings(selectedMenu) {
+ this.setState({ selectedMenu });
+ }
+
+ render() {
+ return (
+
+
+ { this.changeSettings('player_preferences') }} className={styles['option']}>Player Preferences
+ { this.changeSettings('language') }} className={styles['option']}>Language
+ Account Setttings
+ Notifications
+ Data Caching
+
+
+
+ );
+ }
+}
+
+Settings.propTypes = {
+ changeSettings: PropTypes.func
+};
+
+export default Settings;
\ No newline at end of file
diff --git a/src/routes/Settings/SettingsExpanded.js b/src/routes/Settings/SettingsExpanded.js
new file mode 100644
index 000000000..acfbf0c1b
--- /dev/null
+++ b/src/routes/Settings/SettingsExpanded.js
@@ -0,0 +1,79 @@
+import React, { Component } from 'react';
+import PropTypes from 'prop-types';
+import Icon from 'stremio-icons/dom';
+import styles from './styles';
+
+class SettingsExpanded extends Component {
+ constructor(props) {
+ super(props);
+
+ this.renderPlayerPreferences = this.renderPlayerPreferences.bind(this);
+ this.renderLanguage = this.renderLanguage.bind(this);
+ }
+
+ renderPlayerPreferences = () => {
+ const preferences = ["Auto-play next episode", "Data saver"];
+
+ return (
+
+ );
+ }
+
+ renderLanguage = () => {
+ return (
+
+
+
INTERFACE LANGUAGE
+
English
+
+
+
+
+
DEFAULT SUBTITLES LANGUAGE
+
Portugese - BR
+
+
+
+
+ );
+ }
+
+ render() {
+ const { selectedMenu } = this.props;
+
+ if (selectedMenu == "player_preferences") {
+ return (
+ {this.renderPlayerPreferences()}
+ );
+ } else if (selectedMenu == "language") {
+ return (
+ {this.renderLanguage()}
+ );
+ }
+ }
+}
+
+SettingsExpanded.propTypes = {
+ selectedMenu: PropTypes.string,
+ renderPlayerPreferences: PropTypes.func,
+ renderLanguage: PropTypes.func
+};
+
+export default SettingsExpanded;
\ No newline at end of file
diff --git a/src/routes/Settings/index.js b/src/routes/Settings/index.js
new file mode 100644
index 000000000..6a02e4e24
--- /dev/null
+++ b/src/routes/Settings/index.js
@@ -0,0 +1,3 @@
+import Settings from './Settings';
+
+export default Settings;
diff --git a/src/routes/Settings/styles.less b/src/routes/Settings/styles.less
new file mode 100644
index 000000000..6dc154649
--- /dev/null
+++ b/src/routes/Settings/styles.less
@@ -0,0 +1,143 @@
+@import 'stremio-colors';
+.settings {
+ height: 100%;
+ display: flex;
+ color: @colorwhite60;
+ font-family: LatoLight;
+ .options {
+ width: 240px;
+ padding: 20px;
+ display: flex;
+ font-size: 14px;
+ flex-direction: column;
+ background: @colordarkest;
+ .option {
+ padding: 14px;
+ font-weight: 600;
+ &:hover {
+ cursor: pointer;
+ color: @colorwhite;
+ background: @colorglass;
+ }
+ }
+ .selected {
+ cursor: pointer;
+ color: @colorwhite;
+ background: @colorglass;
+ }
+ }
+ .player-preferences {
+ height: 150px;
+ margin: 60px 50px;
+ border-bottom: 1px solid @colormedium;
+ .preference-container {
+ display: flex;
+ cursor: pointer;
+ margin: 30px 0px;
+ justify-content: space-between;
+ align-items: center;
+ .preference {
+ width: 280px;
+ }
+ .default-checkbox {
+ display: none;
+ }
+ .checkbox {
+ width: 14px;
+ height: 14px;
+ cursor: pointer;
+ border: 2px solid @colorwhite60;
+ .checkmark {
+ width: 10px;
+ height: 10px;
+ display: none;
+ fill: @colorwhite;
+ }
+ }
+ input:checked ~ .checkbox {
+ background-color: @colorprimlight;
+ border: 2px solid @colorprimlight;
+ .checkmark {
+ display: block;
+ }
+ }
+ input:checked ~ .preference {
+ color: @colorwhite;
+ }
+ }
+ .preference-container1 {
+ display: flex;
+ cursor: pointer;
+ margin: 30px 0px;
+ align-items: center;
+ flex-direction: row-reverse;
+ .preference {
+ width: 280px;
+ }
+ input {
+ visibility: hidden;
+ }
+ .slider {
+ cursor: pointer;
+ position: absolute;
+ border-radius: 50px;
+ width: 22px;
+ height: 10px;
+ background-color: @colorneutral;
+ }
+ .slider:before {
+ position: absolute;
+ border-radius: 50%;
+ content: "";
+ height: 14px;
+ width: 14px;
+ bottom: -2px;
+ transition: .4s;
+ -webkit-transition: .4s;
+ background-color: @colorwhite;
+ }
+ input:checked + .slider:before {
+ transform: translateX(8px);
+ background-color: @colorsignal5;
+ }
+ input:checked ~ .preference {
+ color: @colorwhite;
+ }
+ }
+ }
+ .language {
+ margin: 40px 50px;
+ .interface-language {
+ margin-bottom: 30px;
+ }
+ .interface-language, .default-subtitles-language {
+ border-bottom: 1px solid @colormedium;
+ .headline {
+ font-weight: 600;
+ color: @colorwhite40;
+ }
+ .name {
+ height: 40px;
+ width: 250px;
+ padding: 20px;
+ display: flex;
+ margin: 30px 0px;
+ align-items: center;
+ justify-content: space-between;
+ font-weight: 600;
+ color: @colorwhite;
+ background-color: @colordarkest;
+ border: 1px solid @colortransparent;
+ .arrow-down {
+ width: 8px;
+ height: 10px;
+ fill: @colorwhite40;
+ }
+ &:hover {
+ cursor: pointer;
+ border: 1px solid @colormedium;
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/routes/index.js b/src/routes/index.js
index b2559d867..c25434104 100644
--- a/src/routes/index.js
+++ b/src/routes/index.js
@@ -5,6 +5,7 @@ import Discover from './Discover';
import Library from './Library';
import Calendar from './Calendar';
import Search from './Search';
+import Settings from './Settings';
export {
Addons,
@@ -13,5 +14,6 @@ export {
Discover,
Library,
Calendar,
- Search
+ Search,
+ Settings
};