Note Decrypted
Lock Note
@@ -319,7 +321,7 @@
export default {
name: 'InputNotes',
- props: [ 'noteid', 'position' ],
+ props: [ 'noteid', 'position', 'openMenu', 'urlData' ],
components:{
'note-tag-edit': () => import('@/components/NoteTagEdit.vue'),
'color-picker': () => import('@/components/ColorPicker.vue'),
@@ -371,11 +373,10 @@
// pastFocusedNode: null,
usersOnNote: 0,
- extraToolbarsVisible: true,
- showTagSlideMenu: false,
- colorPickerVisible: false,
- showFilesSideMenu: false,
- showNoteOptions: false,
+ tags: false,
+ colors: false,
+ images: false,
+ options: false,
//Encryption options
passwordHint: '',
@@ -384,7 +385,7 @@
hashedPass: '', //sha-256 password hash, sends to server for decryption
isEncrypted: false,
isDecrypted: false,
- passwordEnterVisible: false,
+ passwordprotect: false,
decryptAttempts: 0,
lockedOut: false,
autoLockTimeout: null,
@@ -404,6 +405,30 @@
this.currentNoteId = newVal
this.loadNote(this.currentNoteId)
+ },
+ urlData(newVal, oldVal){
+
+ //Handle changes in URL to
+
+ if(newVal.id == undefined || newVal.id != this.noteid){
+ this.close()
+ }
+
+ //Reset all note menus on URL change
+ this.colors = false
+ this.tags = false
+ this.passwordprotect = false
+ this.options = false
+ this.images = false
+
+ //If a menu value is set, open it
+ if(newVal.openMenu){
+ //Only modify menu boolean if its defined
+ if(typeof this[newVal.openMenu] == 'boolean'){
+
+ this[newVal.openMenu] = true
+ }
+ }
}
},
beforeMount(){
@@ -518,13 +543,11 @@
//Show and hide additional toolbars
this.editor.addEventListener('focus', e => {
- if(this.$store.getters.getIsUserOnMobile){
- this.extraToolbarsVisible = false
- }
+ //Add events here if you like
})
this.editor.addEventListener('blur', e => {
+
this.save()
- this.extraToolbarsVisible = true
})
},
//If nothing is selected, select the entire line
@@ -598,7 +621,7 @@
//Close menu if user is on mobile, then sort list
if(this.$store.getters.getIsUserOnMobile){
- this.showNoteOptions = false
+ this.options = false
}
//Fetch the container
@@ -615,7 +638,7 @@
//Close menu if user is on mobile, then sort list
if(this.$store.getters.getIsUserOnMobile){
- this.showNoteOptions = false
+ this.options = false
}
//Fetch the container
@@ -671,7 +694,7 @@
//Close menu if user is on mobile, then sort list
if(this.$store.getters.getIsUserOnMobile){
- this.showNoteOptions = false
+ this.options = false
}
//Fetch the container
@@ -735,7 +758,7 @@
//Close menu if user is on mobile, then sort list
if(this.$store.getters.getIsUserOnMobile){
- this.showNoteOptions = false
+ this.options = false
}
//Fetch the container
@@ -791,11 +814,6 @@
return this.editor.getHTML()
},
- showColorPicker(event){
-
- this.colorPickerVisible = !this.colorPickerVisible
- this.colorPickerLocation = {'x':event.clientX, 'y':event.clientY}
- },
openEditAttachment(){
this.$router.push('/attachments/note/'+this.currentNoteId)
@@ -822,10 +840,6 @@
this.lastNoteHash = 0
this.save()
},
- onCloseColorChanger(){
-
- this.colorPickerVisible = false
- },
onChangeColor(newStyleObject){
//Set new style object for note, page will use some styles, styles will be saved to database
@@ -1136,8 +1150,6 @@
this.updated = Math.round((+new Date)/1000)
this.modified = true
- console.log('Saved')
-
//Update last saved note hash
this.lastNoteHash = this.hashString( currentNoteText )
this.startAutolockTimer()
@@ -1198,9 +1210,6 @@
},
close(){
- // this.loading = true
- // this.loadingMessage = 'Save and Close'
-
this.save().then( result => {
this.sizeDown = true
@@ -1241,7 +1250,7 @@
this.isDecrypted = false
this.password = ''
this.hashedPass = ''
- this.passwordEnterVisible = false
+ this.passwordprotect = false
this.setText('')
})
},
@@ -1258,7 +1267,7 @@
this.lastNoteHash = 0
this.password = ''
this.passwordConfirm = ''
- this.passwordEnterVisible = false
+ this.passwordprotect = false
this.save()
.then(results => {
@@ -1273,7 +1282,7 @@
this.password = ''
this.passwordConfirm = ''
this.hashedPass = ''
- this.passwordEnterVisible = false
+ this.passwordprotect = false
//Reload Note
this.save()
@@ -1364,14 +1373,6 @@
/*padding: 1.2em 0 0;*/
flex-grow: 0;
}
- .low-settings {
- bottom: 0px;
- cursor: pointer;
- height: 1.4em;
- padding-top: 1.5em;
- overflow: hidden;
- border: 1px solid #534c68;
- }
/*End Settings manager styles */
diff --git a/client/src/components/NoteTitleDisplayCard.vue b/client/src/components/NoteTitleDisplayCard.vue
index bb89e4e..874d7e4 100644
--- a/client/src/components/NoteTitleDisplayCard.vue
+++ b/client/src/components/NoteTitleDisplayCard.vue
@@ -19,13 +19,6 @@
-
- You Shared
-
- Updated
-
-
-
Empty Note
@@ -46,10 +39,17 @@
v-html="note.subtext">
-
+
Locked
-
+
+
+
+ You Shared this note
+
+ Updated
+
+
@@ -67,7 +67,6 @@
-
+
@@ -210,7 +212,7 @@
this.triggerClosedAnimation = true
setTimeout(()=>{
//After 3 seconds, hide it
- this.justClosed = false
+ this.triggerClosedAnimation = false
}, 3000)
}, 500)
@@ -298,6 +300,11 @@
}
/*Strict font sizes for card display*/
+ .small-text {
+ max-height: 261px;
+ overflow: hidden;
+ display: inline-block;
+ }
.small-text, .small-text > p, .small-text > h1, .small-text > h2 {
/*font-size: 1.0em !important;*/
font-size: 15px !important;
@@ -342,16 +349,21 @@
.note-title-display-card {
position: relative;
- /*box-shadow: 0 1px 2px 0 rgba(34,36,38,.15);*/
+ /*box-shadow: 0 1px 3px 0 rgba(34,36,38,.15);*/
/*box-shadow: 0 0px 5px 1px rgba(34,36,38,0);*/
- box-shadow: 0 1px 2px 0 rgba(34,36,38,.15);
+ /*box-shadow: 0 1px 3px 0 rgba(34,36,38,.15);*/
+ box-shadow: 0px 1px 2px 1px rgba(210, 211, 211, 0.46);
+ transition: box-shadow ease 0.3s;
margin: 5px;
/*padding: 0.7em 1em;*/
border-radius: .28571429rem;
- border: 1px solid;
- border-color: var(--border_color);
+ border: 1px solid transparent;
+ /*border-color: var(--border_color);*/
/*width: calc(33.333% - 10px);*/
width: calc(25% - 10px);
+ max-width: 300px;
+ min-width: 190px;
+ min-height: 130px;
/*transition: box-shadow 0.3s;*/
box-sizing: border-box;
cursor: pointer;
@@ -360,20 +372,20 @@
letter-spacing: 0.02rem;
display: flex;
flex-direction: column;
+ text-align: left;
}
.note-title-display-card:hover {
- /*box-shadow: 0 3px 6px -0 rgba(34,36,38,.50);*/
- /*box-shadow: 0 0px 5px 1px rgba(34,36,38,0.3);*/
+ box-shadow: 0px 2px 2px 1px rgba(210, 211, 211, 0.8);
}
.icon-bar {
display: inline-block;
padding: 0 10px 0;
opacity: 1;
width: 100%;
- /*margin-top: -2.2rem;*/
}
.hover-hide {
opacity: 0.0;
+ transition: opacity ease 0.6s;
}
.little-tag {
font-size: 0.7em;
@@ -428,12 +440,16 @@
align-self: flex-end;
flex-grow: 0;
}
+ .time-ago-display {
+ display: inline-block;
+ width: 100%;
+ text-align: right;
+ }
.one-column .note-title-display-card {
- /*margin-right: 65%;*/
- /*width: 33%;*/
width: 100%;
+ max-width: none;
}
.overflow-hidden {
overflow: hidden;
@@ -472,6 +488,7 @@
.note-title-display-card {
width: calc(100% + 10px);
margin: 0px -5px 10px -5px;
+ max-width: none;
}
}
@@ -484,18 +501,18 @@
linear-gradient(to right, #21BA45 50%, #21BA45 100%), /* BottomLeft to Right*/
linear-gradient(to bottom, #21BA45 50%, #21BA45 100%); /* TopLeft to Bottom */
/*Initial state, no BG*/
- background-size: 0 2px, 2px 0, 0 2px, 2px 0;
+ background-size: 0 3px, 3px 0, 0 3px, 3px 0;
}
15% {
/*Middre state, some filled */
- background-size: 100% 2px, 2px 0, 100% 2px, 2px 0;
+ background-size: 100% 3px, 3px 0, 100% 3px, 3px 0;
}
30% {
/*final state, all filled */
- background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
+ background-size: 100% 3px, 3px 100%, 100% 3px, 3px 100%;
}
45% {
- background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
+ background-size: 100% 3px, 3px 100%, 100% 3px, 3px 100%;
background-image:
linear-gradient(to right, #21BA45 50%, #21BA45 100%), /* TopLeft to Right */
linear-gradient(to bottom, #21BA45 50%, #21BA45 100%), /* TopRight to Bottom */
diff --git a/client/src/components/SideSlideMenuComponent.vue b/client/src/components/SideSlideMenuComponent.vue
index c6f7fc6..6bfe344 100644
--- a/client/src/components/SideSlideMenuComponent.vue
+++ b/client/src/components/SideSlideMenuComponent.vue
@@ -109,7 +109,7 @@