0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-08 18:22:40 +00:00

Display name of write in theme next to write-in

Clear user's active ThemeBundle when an incomplete/broken/invalid writein.

Needs theming help.
This commit is contained in:
David Bolack
2025-01-07 22:11:01 -06:00
parent e7f8cda6ae
commit 74122d9057
6 changed files with 32 additions and 8 deletions

View File

@@ -454,6 +454,7 @@ const Editor = createClass({
rerenderParent={this.rerenderParent} />
<MetadataEditor
metadata={this.props.brew}
themeBundle={this.props.themeBundle}
onChange={this.props.onMetaChange}
reportError={this.props.reportError}
userThemes={this.props.userThemes}/>

View File

@@ -53,8 +53,8 @@ const MetadataEditor = createClass({
return {
showThumbnail : true,
showThemeWritein : mergedThemes[this.props.metadata.renderer][this.props.metadata.theme] ? false : true,
lastThemePulldown : mergedThemes[this.props.metadata.renderer][this.props.metadata.theme] ? mergedThemes[this.props.metadata.renderer][this.props.metadata.theme] : '',
lastThemeWriteIn : mergedThemes[this.props.metadata.renderer][this.props.metadata.theme] ? '' : mergedThemes[this.props.metadata.renderer][this.props.metadata.theme]
lastThemePulldown : mergedThemes[this.props.metadata.renderer][this.props.metadata.theme] ? mergedThemes[this.props.metadata.renderer][this.props.metadata.theme].path : '',
lastThemeWriteIn : mergedThemes[this.props.metadata.renderer][this.props.metadata.theme] ? '' : this.props.metadata.theme
};
},
@@ -244,7 +244,7 @@ const MetadataEditor = createClass({
const currentRenderer = this.props.metadata.renderer;
const currentTheme = mergedThemes[`${_.upperFirst(this.props.metadata.renderer)}`][this.props.metadata.theme]
?? { name: `!!! Manually selected theme !!! ID=${this.props.metadata.theme}` };
?? { name: `${this.props.themeBundle?.path || ''}`, author: '!!!' };
let dropdown;
if(currentRenderer == 'legacy') {
@@ -273,12 +273,15 @@ const MetadataEditor = createClass({
renderThemeWritein : function(){
if(!this.state.showThemeWritein) return;
return <input type='text'
return <div>
<input type='text'
default=''
placeholder='Enter share id'
className='value'
defaultValue={this.state.lastThemeWriteIn || this.props.metadata.theme}
onChange={(e)=>this.handleThemeWritein(e)} />;
onChange={(e)=>this.handleThemeWritein(e)} />
<span class='userThemeName'>{`${this.state.lastThemeWriteIn ? this.props.themeBundle?.path || '' : ''}`}</span>
</div>;
},
renderLanguageDropdown : function(){

View File

@@ -1,5 +1,9 @@
@import 'naturalcrit/styles/colors.less';
.userThemeName {
padding-left: 10px;
padding-right: 10px;
}
.metadataEditor {
position : absolute;

View File

@@ -443,6 +443,7 @@ const EditPage = createClass({
reportError={this.errorReported}
renderer={this.state.brew.renderer}
userThemes={this.props.userThemes}
themeBundle={this.state.themeBundle}
snippetBundle={this.state.themeBundle.snippets}
updateBrew={this.updateBrew}
onCursorPageChange={this.handleEditorCursorPageChange}