0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-15 17:02:38 +00:00

change default to 'en', including if input is left empty

This commit is contained in:
Gazook89
2022-11-19 19:27:27 -06:00
parent d5ea4c4e77
commit 806dcb04eb
3 changed files with 19 additions and 15 deletions

View File

@@ -258,16 +258,14 @@ const MetadataEditor = createClass({
return <div className='field language'> return <div className='field language'>
<label>language</label> <label>language</label>
<input type='text' className='value' <input type='text' className='value'
value={this.props.metadata.lang} defaultValue={this.props.metadata.lang || 'en'}
onChange={(e)=>this.handleFieldChange('lang', e)} onChange={(e)=>this.handleFieldChange('lang', e)}
list='languageList' list='languageList'
pattern='[a-zA-Z]{2,3}(-.*)?'
autoComplete='off' autoComplete='off'
placeholder={`'en', 'es', 'de' for example`} /> placeholder={`'en', 'es', 'de' for example`} />
<datalist id='languageList'> <datalist id='languageList'>
{listLanguages()} {listLanguages()}
</datalist> </datalist>
<span className='validity'>Must be 2-3 letters, optionally followed by '-...'</span>
</div>; </div>;
}, },

View File

@@ -32,7 +32,8 @@ const NewPage = createClass({
title : '', title : '',
description : '', description : '',
renderer : 'V3', renderer : 'V3',
theme : '5ePHB' theme : '5ePHB',
lang : 'en'
} }
}; };
}, },
@@ -47,7 +48,8 @@ const NewPage = createClass({
title : brew.title ?? '', title : brew.title ?? '',
description : brew.description ?? '', description : brew.description ?? '',
renderer : brew.renderer ?? 'legacy', renderer : brew.renderer ?? 'legacy',
theme : brew.theme ?? '5ePHB' theme : brew.theme ?? '5ePHB',
lang : brew.lang ?? 'en'
}; };
} }
@@ -76,6 +78,7 @@ const NewPage = createClass({
// brew.description = metaStorage?.description || this.state.brew.description; // brew.description = metaStorage?.description || this.state.brew.description;
brew.renderer = metaStorage?.renderer ?? brew.renderer; brew.renderer = metaStorage?.renderer ?? brew.renderer;
brew.theme = metaStorage?.theme ?? brew.theme; brew.theme = metaStorage?.theme ?? brew.theme;
brew.lang = metaStorage?.lang ?? brew.lang;
this.setState({ this.setState({
brew : brew brew : brew
@@ -84,7 +87,7 @@ const NewPage = createClass({
localStorage.setItem(BREWKEY, brew.text); localStorage.setItem(BREWKEY, brew.text);
localStorage.setItem(STYLEKEY, brew.style); localStorage.setItem(STYLEKEY, brew.style);
localStorage.setItem(METAKEY, JSON.stringify({ 'renderer': brew.renderer, 'theme': brew.theme })); localStorage.setItem(METAKEY, JSON.stringify({ 'renderer': brew.renderer, 'theme': brew.theme, 'lang': brew.lang }));
}, },
componentWillUnmount : function() { componentWillUnmount : function() {
document.removeEventListener('keydown', this.handleControlKeys); document.removeEventListener('keydown', this.handleControlKeys);
@@ -128,13 +131,16 @@ const NewPage = createClass({
handleMetaChange : function(metadata){ handleMetaChange : function(metadata){
this.setState((prevState)=>({ this.setState((prevState)=>({
brew : { ...prevState.brew, ...metadata }, brew : { ...prevState.brew, ...metadata },
})); }), ()=>{
localStorage.setItem(METAKEY, JSON.stringify({ localStorage.setItem(METAKEY, JSON.stringify({
// 'title' : this.state.brew.title, // 'title' : this.state.brew.title,
// 'description' : this.state.brew.description, // 'description' : this.state.brew.description,
'renderer' : this.state.brew.renderer, 'renderer' : this.state.brew.renderer,
'theme' : this.state.brew.theme 'theme' : this.state.brew.theme,
})); 'lang' : this.state.brew.lang
}));
});
;
}, },
clearErrors : function(){ clearErrors : function(){
@@ -291,7 +297,7 @@ const NewPage = createClass({
onMetaChange={this.handleMetaChange} onMetaChange={this.handleMetaChange}
renderer={this.state.brew.renderer} renderer={this.state.brew.renderer}
/> />
<BrewRenderer text={this.state.brew.text} style={this.state.brew.style} renderer={this.state.brew.renderer} theme={this.state.brew.theme} errors={this.state.htmlErrors}/> <BrewRenderer text={this.state.brew.text} style={this.state.brew.style} renderer={this.state.brew.renderer} theme={this.state.brew.theme} lang={this.state.brew.lang} errors={this.state.htmlErrors}/>
</SplitPane> </SplitPane>
</div> </div>
</div>; </div>;

View File

@@ -15,7 +15,7 @@ const HomebrewSchema = mongoose.Schema({
description : { type: String, default: '' }, description : { type: String, default: '' },
tags : [String], tags : [String],
systems : [String], systems : [String],
lang : { type: String, default: '' }, lang : { type: String, default: 'en' },
renderer : { type: String, default: '' }, renderer : { type: String, default: '' },
authors : [String], authors : [String],
published : { type: Boolean, default: false }, published : { type: Boolean, default: false },