0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-14 02:02:51 +00:00

Initial functionality pass

This commit is contained in:
G.Ambatte
2023-07-19 19:36:14 +12:00
parent cea1157eb2
commit 7942f1caed
3 changed files with 57 additions and 3 deletions

View File

@@ -16,6 +16,8 @@ const HelpNavItem = require('../../navbar/help.navitem.jsx');
const NaturalCritIcon = require('naturalcrit/svg/naturalcrit.svg.jsx');
const saveLocationKey = 'HOMEBREWERY-DEFAULT-SAVE-LOCATION';
const AccountPage = createClass({
displayName : 'AccountPage',
getDefaultProps : function() {
@@ -29,6 +31,31 @@ const AccountPage = createClass({
uiItems : this.props.uiItems
};
},
componentDidMount : function(){
if(!this.state.saveLocation) {
const saveLocation = window.localStorage.getItem(saveLocationKey) || '';
if(saveLocation == '') {
// TO DO: Implement logic to determine the appropriate location given current state
console.log(this.state.uiItems);
};
this.setState({
saveLocation : saveLocation
});
}
},
makeActive : function(newSelection){
if(this.state.saveLocation == newSelection) return;
window.localStorage.setItem(saveLocationKey, newSelection);
this.setState({
saveLocation : newSelection
});
},
renderButton : function(name, key, condition=true){
if(!condition) return;
return <button className={this.state.saveLocation==key ? 'active' : ''} onClick={()=>{this.makeActive(key);}}>{name}</button>;
},
renderNavItems : function() {
return <Navbar>
@@ -48,6 +75,13 @@ const AccountPage = createClass({
<p><strong>Username: </strong> {this.props.uiItems.username || 'No user currently logged in'}</p>
<p><strong>Last Login: </strong> {moment(this.props.uiItems.issued).format('dddd, MMMM Do YYYY, h:mm:ss a ZZ') || '-'}</p>
</div>
<div className='dataGroup'>
<h4>Default Save Location</h4>
{/* <button className={this.state.saveLocation=='HOMEBREWERY' ? 'active' : ''} onClick={()=>{this.makeActive('HOMEBREWERY');}}>Homebrewery</button> */}
{this.renderButton('Homebrewery', 'HOMEBREWERY')}
{/* {this.state.uiItems.googleId ? <button className={this.state.saveLocation=='GOOGLE-DRIVE' ? 'active' : ''} onClick={()=>{this.makeActive('GOOGLE-DRIVE');}}>Google Drive</button> : <></>} */}
{this.renderButton('Google Drive', 'GOOGLE-DRIVE', this.state.uiItems.username)}
</div>
<div className='dataGroup'>
<h3>Homebrewery Information <NaturalCritIcon /></h3>
<p><strong>Brews on Homebrewery: </strong> {this.props.uiItems.mongoCount}</p>