From b666bfc19769b1d45580c1f6f173557f04b98007 Mon Sep 17 00:00:00 2001 From: Max G Date: Sat, 18 Dec 2021 22:18:22 +0000 Subject: [PATCH] Bunch of changes and unfinished features. Just trying to keep everything up to date. This project is a mess. Don't worry. You are employed. --- applyProdDatabaseToDev.sh | 3 +- backupDatabase.sh | 2 +- client/src/assets/semantic-helper.css | 54 ++++- client/src/assets/squire.js | 14 +- client/src/components/GlobalSiteMenu.vue | 86 +++++--- client/src/components/LoginFormComponent.vue | 51 +++-- client/src/components/LogoComponent.vue | 28 ++- client/src/components/NoteInputPanel.vue | 187 ++++++++---------- .../src/components/NoteTitleDisplayCard.vue | 13 +- .../src/components/SideSlideMenuComponent.vue | 12 +- client/src/pages/HomePage.vue | 159 ++++++++++++--- client/src/pages/NotesPage.vue | 5 +- client/src/pages/SettingsPage.vue | 8 +- client/src/stores/mainStore.js | 3 +- client/vue.config.js | 21 +- package-lock.json | 8 +- server/index.js | 4 +- server/models/User.js | 2 +- 18 files changed, 443 insertions(+), 217 deletions(-) diff --git a/applyProdDatabaseToDev.sh b/applyProdDatabaseToDev.sh index 91e77c8..c0b1a64 100755 --- a/applyProdDatabaseToDev.sh +++ b/applyProdDatabaseToDev.sh @@ -10,7 +10,8 @@ echo '-------' # gzip -dk file.gz BACKUPDIR="/home/mab/databaseBackupSolidScribe" -DEVDBPASS="Crama!Lama*Jamma###88383!!!!!345345956245i" +#DEVDBPASS="Crama!Lama*Jamma###88383!!!!!345345956245i" +DEVDBPASS="***REMOVED***" cd $BACKUPDIR diff --git a/backupDatabase.sh b/backupDatabase.sh index 9c67070..5463b07 100755 --- a/backupDatabase.sh +++ b/backupDatabase.sh @@ -9,7 +9,7 @@ NOW=$(date +"%Y-%m-%d_%H-%M") ssh mab@solidscribe.com -p 13328 "mysqldump --all-databases --single-transaction --user root -p***REMOVED***" > "backup-$NOW.sql" gzip "backup-$NOW.sql" -cp "backup-$NOW.sql" "/mnt/Windows Data/DatabaseBackups/backup-$NOW.sql" +# cp "backup-$NOW.sql" "/mnt/Windows Data/DatabaseBackups/backup-$NOW.sql" echo "Database Backup Complete on $NOW" diff --git a/client/src/assets/semantic-helper.css b/client/src/assets/semantic-helper.css index f2ca033..8d8a050 100644 --- a/client/src/assets/semantic-helper.css +++ b/client/src/assets/semantic-helper.css @@ -43,6 +43,7 @@ html { height:100%; padding: 0; margin: 0; + background: none; } a:hover { text-decoration: underline; @@ -80,9 +81,12 @@ div.ui.basic.segment.no-fluf-segment { /* OVERWRITE DEFAULT SEMANTIC STYLES FOR CUSTOM/NIGHT MODES*/ body { color: var(--text_color); - background-color: var(--body_bg_color); + background: none; font-family: 'Roboto', 'Helvetica Neue', Arial, Helvetica, sans-serif; } +#app { + background: var(--body_bg_color); +} .ui.segment { color: var(--text_color); @@ -163,6 +167,9 @@ div.ui.basic.green.label { i.green.icon.icon.icon.icon { color: var(--main-accent); } +.button { + box-shadow: 2px 2px 4px -2px rgba(40, 40, 40, 0.89) !important; +} .ui.green.buttons, .ui.green.button, .ui.green.button:hover { background-color: var(--main-accent); } @@ -176,6 +183,9 @@ i.green.icon.icon.icon.icon { .ui.grid > .green.row, .ui.grid > .green.column, .ui.grid > .row > .green.column { background-color: var(--main-accent); } +.ui.green.header { + color: var(--main-accent); +} /* OVERWRITE DEFAULT SEMANTIC STYLES FOR CUSTOM/NIGHT MODES*/ @@ -555,6 +565,10 @@ i.green.icon.icon.icon.icon { .ui.white.button { background: #FFF; } +.white.row { + background-color: rgba(255, 255, 255, 0.9); +} + .input-floating-button { position: absolute; top: 19px; @@ -865,4 +879,42 @@ i.green.icon.icon.icon.icon { [data-position="right center"][data-tooltip]:after { -webkit-transform-origin: left center; transform-origin: left center; +} + + +.glint:after { + + content: ''; + position: absolute; + + top: 0; + left: 0; + bottom: 0; + + width: 100%; + opacity: 0; + pointer-events: none; + z-index: 1; + + background: linear-gradient( + 130deg, + rgba(255,255,255,0) 45%, + rgba(255,255,255,1) 50%, + var(--main-accent) 55%, + rgba(255,255,255,0) 60% + ); + + animation: glint-animation 0.8s linear 1; + animation-delay: 0.9s; +} + +@keyframes glint-animation { + 0% { + left: -100%; + opacity: 1; + } + 100% { + left: 100%; + opacity: 0; + } } \ No newline at end of file diff --git a/client/src/assets/squire.js b/client/src/assets/squire.js index 219cbc9..29529ae 100644 --- a/client/src/assets/squire.js +++ b/client/src/assets/squire.js @@ -1265,7 +1265,9 @@ var keys = { 37: 'left', 39: 'right', 46: 'delete', + 191: '/', 219: '[', + 220: '\\', 221: ']' }; @@ -3888,10 +3890,9 @@ var increaseBlockQuoteLevel = function ( frag ) { }; var decreaseBlockQuoteLevel = function ( frag ) { - var root = this._root; var blockquotes = frag.querySelectorAll( 'blockquote' ); Array.prototype.filter.call( blockquotes, function ( el ) { - return !getNearest( el.parentNode, root, 'BLOCKQUOTE' ); + return !getNearest( el.parentNode, frag, 'BLOCKQUOTE' ); }).forEach( function ( el ) { replaceWith( el, empty( el ) ); }); @@ -4172,7 +4173,14 @@ proto._getHTML = function () { proto._setHTML = function ( html ) { var root = this._root; var node = root; - node.innerHTML = html; + var sanitizeToDOMFragment = this._config.sanitizeToDOMFragment; + if ( typeof sanitizeToDOMFragment === 'function' ) { + var frag = sanitizeToDOMFragment( html, false, this ); + empty( node ); + node.appendChild( frag ); + } else { + node.innerHTML = html; + } do { fixCursor( node, root ); } while ( node = getNextBlock( node, root ) ); diff --git a/client/src/components/GlobalSiteMenu.vue b/client/src/components/GlobalSiteMenu.vue index 65ffd98..0313339 100644 --- a/client/src/components/GlobalSiteMenu.vue +++ b/client/src/components/GlobalSiteMenu.vue @@ -7,6 +7,7 @@ } .global-menu { width: 155px; + /* background: #221f2b; */ background: #221f2b; margin: 0; padding: 0; @@ -42,7 +43,8 @@ .menu-section {} .menu-section + .menu-section { - border-top: 1px solid #534c68; + /* border-top: 1px solid #534c68; */ + border-top: 1px solid #534c68e3; } .menu-button { cursor: pointer; @@ -73,21 +75,25 @@ /*color: var(--text_color);*/ /*width: 100%;*/ position: fixed; - top: 0; + bottom: 0; left: 0; right: 0; z-index: 999; background-color: var(--small_element_bg_color); - border-bottom: 1px solid; - border-color: var(--border_color); /*padding: 5px 1rem 5px;*/ display: flex; justify-content: space-around; width: 100vw; + border-top: 1px solid var(--dark_border_color); + display: flex; + + margin: 0; + padding: 0; } .place-holder { width: 100%; - height: 40px; + /*height: 40px;*/ + height: 0; } .logo-display { width: 27px; @@ -106,17 +112,35 @@ } .mobile-button { - display: inline-block; - font-size: 2em; - padding: 6px 3px 5px; + padding: 5px 0 0; + margin: 0; cursor: pointer; + font-size: 0.6em; + color: var(--menu-text); + text-align: center; + flex-basis: 100%; + line-height: 1.8em; + } + .mobile-button + .mobile-button { + border-left: 1px solid var(--dark_border_color); + } + .mobile-button i { + font-size: 2em; + margin: 0 auto; + padding: 0; + width: 100%; + } + .mobile-button svg { + margin: 0 46% 0; + display: inline-block; + width: 15px; + } + .mobile-button:active, .mobile-button:focus, .mobile-button:hover { + text-decoration: none; } .mobile-button.active { background-color: transparent; } - .mobile-button i { - margin: 0; - } @@ -128,11 +152,24 @@
-
- + + + + Notes + + + +
+ + + New Note + + + + Working +
-
+ Scratch Pad @@ -150,27 +188,21 @@ exact-active-class="active" class="mobile-button"> + Scratch Pad - - - + Files -
+ +
+ + Menu +
- - - - - - - - -
diff --git a/client/src/components/LoginFormComponent.vue b/client/src/components/LoginFormComponent.vue index 6b5f6df..b9b2c92 100644 --- a/client/src/components/LoginFormComponent.vue +++ b/client/src/components/LoginFormComponent.vue @@ -22,15 +22,20 @@
-
- - Login -
-
+ +
Sign Up
+ +
+ +
+ + Login +
+
@@ -45,6 +50,26 @@
+ +
+
+
+
+ + Sign Up Now! +
+
+
+
+ +
+
+
+ Or Login +
+
+
+
@@ -61,13 +86,6 @@
- -
-
- - Sign Up -
-
@@ -143,7 +161,14 @@ register(){ if( this.username.length == 0 || this.password.length == 0 ){ - this.$bus.$emit('notification', 'Unable to Sign Up - Username and Password Required') + + if(this.$route.name == 'LoginPage'){ + this.$bus.$emit('notification', 'Both a Username and Password are Required') + return + } + + //Login section + this.$router.push('/login') return } diff --git a/client/src/components/LogoComponent.vue b/client/src/components/LogoComponent.vue index 86f302d..bbbb492 100644 --- a/client/src/components/LogoComponent.vue +++ b/client/src/components/LogoComponent.vue @@ -32,22 +32,22 @@ class="darken-accent" id="path3813-4" d="m 56.22733,165.36641 -55.56249926,15.875 8e-7,63.5 47.62499846,11.90625 v 27.78125 l -47.76066333,-13.9757 0.13566407,10.00695 55.56249926,15.875 v -47.625 l -47.6249985,-11.90625 -8e-7,-47.625 47.7606633,-13.94121 c 0.135664,-2.30629 -0.135664,-9.87129 -0.135664,-9.87129 z" - :style="`fill:${displayColor};fill-opacity:1;stroke:none;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1`" /> + :style="`fill:${displayColor};fill-opacity:1;stroke:${strokeColor};stroke-width:${strokeWidth};stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1`" /> + :style="`fill:${displayColor};fill-opacity:1;stroke:${strokeColor};stroke-width:${strokeWidth}px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1`" /> + :style="`display:inline;fill:${displayColor};fill-opacity:1;stroke:${strokeColor};stroke-width:${strokeWidth}px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1`" /> + :style="`display:inline;fill:${displayColor};fill-opacity:1;stroke:${strokeColor};stroke-width:${strokeWidth};stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1`" /> @@ -56,13 +56,28 @@ export default { name: 'LoadingIcon', - props:[ 'color' ], + props:[ + 'color', // hex value for setting colorr + 'stroke' // enable or disable stroke + ], data(){ return { displayColor: '#21BA45', //Default green color + strokeWidth: '0.5', + strokeColor: 'none', } + }, + beforeCreate(){ + + }, created(){ + + if(this.stroke){ + this.strokeWidth = 0.4 + this.strokeColor = 'rgba(0,0,0,0.9)' + } + //Set color if passed if(this.color){ this.displayColor = this.color @@ -79,4 +94,7 @@ filter: saturate(145%); -webkit-filter: saturate(145%); } + g > path { + filter: drop-shadow(1px 1px 1px black); + } \ No newline at end of file diff --git a/client/src/components/NoteInputPanel.vue b/client/src/components/NoteInputPanel.vue index 7a4d4af..f748149 100644 --- a/client/src/components/NoteInputPanel.vue +++ b/client/src/components/NoteInputPanel.vue @@ -7,14 +7,19 @@ > -
+