Skip to content

Commit dbcec49

Browse files
author
Brian Vaughn
committed
Disabled 'reset' theme button if theme is already default
1 parent 2a01753 commit dbcec49

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed

frontend/Panel.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ class Panel extends React.Component {
9595

9696
getChildContext(): Object {
9797
return {
98+
defaultThemeName: this._store && this._store.getDefaultThemeName() || '',
9899
showHiddenThemes: !!this.props.showHiddenThemes,
99100
showInspectButton: this.props.showInspectButton !== false,
100101
store: this._store,
@@ -345,6 +346,7 @@ class Panel extends React.Component {
345346
}
346347

347348
Panel.childContextTypes = {
349+
defaultThemeName: React.PropTypes.string.isRequired,
348350
showHiddenThemes: React.PropTypes.bool.isRequired,
349351
showInspectButton: React.PropTypes.bool.isRequired,
350352
store: React.PropTypes.object,

frontend/PreferencesPanel.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ class PreferencesPanel extends React.Component {
2222
_selectRef: any;
2323

2424
context: {
25+
defaultThemeName: string,
2526
showHiddenThemes: boolean,
2627
theme: Theme,
2728
themeName: string,
@@ -57,7 +58,7 @@ class PreferencesPanel extends React.Component {
5758
}
5859

5960
render() {
60-
const {showHiddenThemes, theme, themeName, themes} = this.context;
61+
const {defaultThemeName, showHiddenThemes, theme, themeName, themes} = this.context;
6162
const {hide, open} = this.props;
6263
const {previewMode} = this.state;
6364

@@ -101,6 +102,7 @@ class PreferencesPanel extends React.Component {
101102
</div>
102103
<div style={styles.buttonBar}>
103104
<button
105+
disabled={themeName === defaultThemeName}
104106
onClick={this._reset}
105107
style={styles.button}
106108
>
@@ -174,6 +176,7 @@ class PreferencesPanel extends React.Component {
174176
}
175177

176178
PreferencesPanel.contextTypes = {
179+
defaultThemeName: React.PropTypes.string.isRequired,
177180
showHiddenThemes: React.PropTypes.bool.isRequired,
178181
theme: React.PropTypes.object.isRequired,
179182
themeName: React.PropTypes.string.isRequired,

frontend/Store.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,10 @@ class Store extends EventEmitter {
360360
ThemeStore.set(themeName || null);
361361
}
362362

363+
getDefaultThemeName(): string {
364+
return this._defaultThemeName;
365+
}
366+
363367
setDefaultThemeName(defaultThemeName: ?string) {
364368
// Don't accept an invalid themeName as a default.
365369
this._defaultThemeName = this._safeThemeName(defaultThemeName);

0 commit comments

Comments
 (0)