diff --git a/client/homebrew/navbar/error-navitem.less b/client/homebrew/navbar/error-navitem.less index 8aeeae212..5882c04c5 100644 --- a/client/homebrew/navbar/error-navitem.less +++ b/client/homebrew/navbar/error-navitem.less @@ -1,69 +1,30 @@ @import '@sharedStyles/core.less'; -@keyframes glideDown { - 0% { - opacity : 0;transform : translate(-50% + 3px, 0px);} - 100% { - opacity : 1;transform : translate(-50% + 3px, 10px);} -} - - .navItem.error { position : relative; background-color : @red; } .errorContainer { - position : absolute; - top : 100%; - left : 50%; - z-index : 1000; width : 140px; - padding : 3px; + padding : 5px !important; font-size : 10px; - font-weight : 800; + line-height: 1.5em; color : white; - text-align : center; text-transform : uppercase; - background-color : #333333; - border : 3px solid #444444; - border-radius : 5px; - transform : translate(-50% + 3px, 10px); - animation-name : glideDown; - animation-duration : 0.4s; + flex-direction: column; + outline:1px solid red; + border:1px solid red; + border-width: 1px 3px; + border-radius:5px; .lowercase { text-transform : none; } a { color : @teal; } - &::before { - position : absolute; - top : -23px; - left : 53px; - width : 0px; - height : 0px; - content : ''; - border-top : 10px solid transparent; - border-right : 10px solid transparent; - border-bottom : 10px solid #444444; - border-left : 10px solid transparent; - } - &::after { - position : absolute; - top : -19px; - left : 53px; - width : 0px; - height : 0px; - content : ''; - border-top : 10px solid transparent; - border-right : 10px solid transparent; - border-bottom : 10px solid #333333; - border-left : 10px solid transparent; - } .deny { display : inline-block; width : 48%; padding : 5px; margin : 1px; - background-color : #333333; - border-left : 1px solid #666666; + background:@orange; .animate(background-color); &:hover { background-color : red; } } @@ -73,7 +34,7 @@ padding : 5px; margin : 1px; color : white; - background-color : #333333; + background:@orange; .animate(background-color); &:hover { background-color : teal; } } diff --git a/client/homebrew/navbar/nav.jsx b/client/homebrew/navbar/nav.jsx index 5815a0692..92b928ffa 100644 --- a/client/homebrew/navbar/nav.jsx +++ b/client/homebrew/navbar/nav.jsx @@ -25,7 +25,7 @@ const Nav = { ; }, - item : ({ icon, kbd,href, newTab, onClick, color, children, className, disabled, ...props })=>{ + item : ({ icon, kbd,href, newTab, onClick, color, children, className, disabled, noDismiss, ...props })=>{ const classes = cx('navItem', color, className); if(disabled) { return {children}{icon && } @@ -36,57 +36,18 @@ const Nav = { {icon && } ; } else { - return + return {children} {icon && } {kbd && {kbd}} ; } }, - - dropdown : function dropdown(props) { - props = Object.assign({}, props, { - trigger : 'hover click' - }); - - const myRef = useRef(null); - const [showDropdown, setShowDropdown] = useState(false); - - useEffect(()=>{ - document.addEventListener('click', handleClickOutside); - return ()=>{ - document.removeEventListener('click', handleClickOutside); - }; - }, []); - - function handleClickOutside(e) { - // Close dropdown when clicked outside - if(!myRef.current?.contains(e.target)) { - handleDropdown(false); - } - } - - function handleDropdown(show) { - setShowDropdown(show ?? !showDropdown); - } - - const dropdownChildren = React.Children.map(props.children, (child, i)=>{ - if(i < 1) return; - return child; - }); - - return ( - handleDropdown(true) : undefined } - onMouseLeave = { props.trigger.includes('hover') ? ()=>handleDropdown(false) : undefined } - onClick = { props.trigger.includes('click') ? ()=>handleDropdown(true) : undefined } - > - {props.children[0] || props.children /*children is not an array when only one child*/} - {showDropdown && {dropdownChildren}} - - ); - } + header: ({span, className, children, ...props})=>{ + return + {children} + ; + }, }; diff --git a/client/homebrew/navbar/navbar.jsx b/client/homebrew/navbar/navbar.jsx index 17e18e444..eb96cb826 100644 --- a/client/homebrew/navbar/navbar.jsx +++ b/client/homebrew/navbar/navbar.jsx @@ -146,7 +146,7 @@ const Navbar = ({ children, brew, pageName, editor, title, currentPage, props }) ); }; - + console.log(navSlots); return ( diff --git a/client/homebrew/navbar/navbar.less b/client/homebrew/navbar/navbar.less index a7a5019db..b94f5c9a2 100644 --- a/client/homebrew/navbar/navbar.less +++ b/client/homebrew/navbar/navbar.less @@ -3,19 +3,6 @@ @navbarHeight: 29px; @viewerToolsHeight: 32px; -@keyframes glideDropDown { - 0% { - background-color: #333333; - opacity: 0; - transform: translate(0px, -100%); - } - 100% { - background-color: #333333; - opacity: 1; - transform: translate(0px, 0px); - } -} - .homebrew nav { position: relative; z-index: 2; @@ -25,6 +12,7 @@ color: #ccc; height: @navbarHeight; font-size: 14px; + font-family: Alata, open sans; @@ -36,11 +24,12 @@ height: 100%; padding: 5px; cursor: pointer; + max-width:140px; + text-wrap:wrap; &:has(> button, > a) { padding: 0; } - &.brewTitle { display: block; width: 100%; @@ -54,7 +43,6 @@ white-space: nowrap; background-color: transparent; } - &.metadata { position: relative; display: flex; @@ -165,27 +153,9 @@ text-transform: none; } } - - button, - a { - &:disabled { - color: #777; - } - display: grid; - place-items: center; - height: 100%; - width: 100%; - padding: 5px 10px; - } - a { - color: inherit; - text-decoration: none; - } - &.header { justify-content: center; } - &.save { width: 90px; @@ -204,17 +174,21 @@ } } - &.googleDriveStorage { - position: relative; - img { - height: 18px; - padding: 0px; - margin: -5px; - &.inactive { - filter: grayscale(1); - } + button, + a { + &:disabled { + color: #777; } + display: grid; + place-items: center; + height: 100%; + width: 100%; + padding: 5px 10px; + } + a { + color: inherit; + text-decoration: none; } i.fa-power-off { @@ -235,7 +209,7 @@ &:hover { background: #484848; } - &:has(> i, > kbd) { + &:has(> i, > kbd, >img) { display: flex; gap: 5px; justify-content: space-between; @@ -298,6 +272,20 @@ } } } + + .googleDriveStorage { + position: relative; + + img { + height: 18px; + padding: 0px; + margin: -5px; + translate:-5px; + &.inactive { + filter: grayscale(1); + } + } + } } > ul { diff --git a/client/homebrew/navbar/recent.navitem.jsx b/client/homebrew/navbar/recent.navitem.jsx index 86d949560..b8c30875d 100644 --- a/client/homebrew/navbar/recent.navitem.jsx +++ b/client/homebrew/navbar/recent.navitem.jsx @@ -156,11 +156,11 @@ const RecentItems = createReactClass({ return <> {(this.props.showEdit && this.props.showView) ? - edited : null } + edited : null } {this.props.showEdit ? makeItems(this.state.edit) : null } {(this.props.showEdit && this.props.showView) ? - viewed : null } + viewed : null } {this.props.showView ? makeItems(this.state.view) : null } >; diff --git a/client/homebrew/pages/basePages/editPage/editorPage.jsx b/client/homebrew/pages/basePages/editPage/editorPage.jsx index 16eff5415..672b66064 100644 --- a/client/homebrew/pages/basePages/editPage/editorPage.jsx +++ b/client/homebrew/pages/basePages/editPage/editorPage.jsx @@ -306,49 +306,55 @@ const EditorPage = (props)=>{ trySave(true, true, newSaveGoogle); }; - const renderGoogleDriveIcon = ()=>( - - - + const renderGoogleDriveIcon = ()=>{ + const errorExists = alertNoGoogleToTransfer || alertOwnershipToTransfer || alertTrashedGoogleBrew || confirmGoogleTransfer; + return (<> + This brew is in {saveGoogle ? 'Google Drive' : 'The Homebrewery'} + + {saveGoogle ? 'Transfer to Homebrewery' : 'Transfer to Drive'} + {saveGoogle? '' : } + + {errorExists && {alertOwnershipToTransfer && ( - + <> You must be the Owner to transfer between the Homebrewery and Google Drive! The owner of this file is {currentBrew.authors[0]}. Okay - + > )} {alertNoGoogleToTransfer && ( - + <> You must be signed in to a Google account to transfer between the Homebrewery and Google Drive! Sign In Not Now - + > )} {alertTrashedGoogleBrew && ( - + <> This brew is currently in your Trash folder on Google Drive! If you want to keep it, make sure to move it before it is deleted permanently! Save my brew - + > )} {confirmGoogleTransfer && ( - + <> {saveGoogle ? 'Would you like to transfer this brew from your Google Drive storage back to the Homebrewery?' : 'Would you like to transfer this brew from the Homebrewery to your personal Google Drive storage?'} Yes No - + > )} - - ); + } + > + )}; const renderAutoSaveButton = ()=>( @@ -381,6 +387,9 @@ const EditorPage = (props)=>{ save now {(pageName == 'editPage') && renderAutoSaveButton()} + {pageName === 'editPage' && + {renderGoogleDriveIcon()} + } {error? : renderSaveButton()} diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index b48f463e2..c96ca877c 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -1,5 +1,3 @@ -import './editPage.less'; - import React from 'react'; import request from '../../utils/request-middleware.js'; import _ from 'lodash'; diff --git a/client/homebrew/pages/editPage/editPage.less b/client/homebrew/pages/editPage/editPage.less deleted file mode 100644 index 71465013b..000000000 --- a/client/homebrew/pages/editPage/editPage.less +++ /dev/null @@ -1,4 +0,0 @@ - -.editPage { - -} diff --git a/client/homebrew/pages/newPage/newPage.jsx b/client/homebrew/pages/newPage/newPage.jsx index 88e53949b..4eae606d3 100644 --- a/client/homebrew/pages/newPage/newPage.jsx +++ b/client/homebrew/pages/newPage/newPage.jsx @@ -1,5 +1,3 @@ -import './newPage.less'; - import React from 'react'; import request from '../../utils/request-middleware.js'; import _ from 'lodash'; diff --git a/client/homebrew/pages/newPage/newPage.less b/client/homebrew/pages/newPage/newPage.less deleted file mode 100644 index b0591bd19..000000000 --- a/client/homebrew/pages/newPage/newPage.less +++ /dev/null @@ -1,6 +0,0 @@ -@import '@sharedStyles/colors.less'; - -.newPage { - -} -