diff --git a/client/homebrew/pages/accountPage/accountPage.jsx b/client/homebrew/pages/accountPage/accountPage.jsx index 77f246a8b..40c3dfdbd 100644 --- a/client/homebrew/pages/accountPage/accountPage.jsx +++ b/client/homebrew/pages/accountPage/accountPage.jsx @@ -16,6 +16,8 @@ const HelpNavItem = require('../../navbar/help.navitem.jsx'); const NaturalCritIcon = require('naturalcrit/svg/naturalcrit.svg.jsx'); +let SAVEKEY = ''; + const AccountPage = createClass({ displayName : 'AccountPage', getDefaultProps : function() { @@ -29,6 +31,27 @@ const AccountPage = createClass({ uiItems : this.props.uiItems }; }, + componentDidMount : function(){ + if(!this.state.saveLocation && this.props.uiItems.username) { + SAVEKEY = `HOMEBREWERY-DEFAULT-SAVE-LOCATION-${this.props.uiItems.username}`; + let saveLocation = window.localStorage.getItem(SAVEKEY); + saveLocation = saveLocation ?? this.state.uiItems.googleId ? 'GOOGLE-DRIVE' : 'HOMEBREWERY'; + this.makeActive(saveLocation); + } + }, + + makeActive : function(newSelection){ + if(this.state.saveLocation == newSelection) return; + window.localStorage.setItem(SAVEKEY, newSelection); + this.setState({ + saveLocation : newSelection + }); + }, + + renderButton : function(name, key, shouldRender=true){ + if(!shouldRender) return; + return ; + }, renderNavItems : function() { return @@ -61,6 +84,11 @@ const AccountPage = createClass({

} +
+

Default Save Location

+ {this.renderButton('Homebrewery', 'HOMEBREWERY')} + {this.renderButton('Google Drive', 'GOOGLE-DRIVE', this.state.uiItems.googleId)} +
; }, diff --git a/client/homebrew/pages/basePages/uiPage/uiPage.less b/client/homebrew/pages/basePages/uiPage/uiPage.less index fc5ed583d..913c74a2e 100644 --- a/client/homebrew/pages/basePages/uiPage/uiPage.less +++ b/client/homebrew/pages/basePages/uiPage/uiPage.less @@ -16,6 +16,23 @@ margin : 5px 0px; border : 2px solid black; border-radius : 5px; + button { + background-color : transparent; + border : 1px solid black; + border-radius : 5px; + width : 125px; + color : black; + margin-right : 5px; + &.active { + background-color: #0007; + color: white; + &:before { + content: '\f00c'; + font-family: 'FONT AWESOME 5 FREE'; + margin-right: 5px; + } + } + } } h1, h2, h3, h4 { width : 100%; diff --git a/client/homebrew/pages/newPage/newPage.jsx b/client/homebrew/pages/newPage/newPage.jsx index 0f18d42be..008749b41 100644 --- a/client/homebrew/pages/newPage/newPage.jsx +++ b/client/homebrew/pages/newPage/newPage.jsx @@ -20,9 +20,10 @@ const BrewRenderer = require('../../brewRenderer/brewRenderer.jsx'); const { DEFAULT_BREW } = require('../../../../server/brewDefaults.js'); -const BREWKEY = 'homebrewery-new'; +const BREWKEY = 'homebrewery-new'; const STYLEKEY = 'homebrewery-new-style'; -const METAKEY = 'homebrewery-new-meta'; +const METAKEY = 'homebrewery-new-meta'; +let SAVEKEY; const NewPage = createClass({ @@ -55,6 +56,9 @@ const NewPage = createClass({ const styleStorage = localStorage.getItem(STYLEKEY); const metaStorage = JSON.parse(localStorage.getItem(METAKEY)); + SAVEKEY = `HOMEBREWERY-DEFAULT-SAVE-LOCATION-${global.account.username}`; + const saveStorage = localStorage.getItem(SAVEKEY) || 'HOMEBREWERY'; + brew.text = brewStorage ?? brew.text; brew.style = styleStorage ?? brew.style; // brew.title = metaStorage?.title || this.state.brew.title; @@ -64,7 +68,8 @@ const NewPage = createClass({ brew.lang = metaStorage?.lang ?? brew.lang; this.setState({ - brew : brew + brew : brew, + saveGoogle : (saveStorage == 'GOOGLE-DRIVE' && this.state.saveGoogle) }); }