From d4769af80063aa7f3be39e329c343445cec0c185 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 25 Mar 2019 10:52:35 -0500 Subject: [PATCH] Trash options update + Android export directory --- src/lib/BackupsManager.js | 2 +- src/screens/SideMenu/NoteSideMenu.js | 62 +++++++++++-------------- src/screens/SideMenu/SideMenuCell.js | 12 ++++- src/screens/SideMenu/SideMenuSection.js | 5 +- 4 files changed, 42 insertions(+), 39 deletions(-) diff --git a/src/lib/BackupsManager.js b/src/lib/BackupsManager.js index 7ac6cf57..a505c006 100644 --- a/src/lib/BackupsManager.js +++ b/src/lib/BackupsManager.js @@ -102,7 +102,7 @@ export default class BackupsManager { } async _exportAndroid(filename, data) { - let filepath = `${RNFS.DocumentDirectoryPath}/${filename}`; + let filepath = `${RNFS.ExternalDirectoryPath}/${filename}`; return RNFS.writeFile(filepath, data).then(() => { return filepath; }) diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index 0230ca38..a0b59eed 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -193,38 +193,35 @@ export default class NoteSideMenu extends AbstractSideMenu { options.push(option); } - return options; - } - - buildOptionsForTrash() { - if(!this.note.content.trashed) { - return []; + if(this.note.content.trashed) { + options = options.concat([ + { + text: "Restore", + textClass: "info", + key: "restore-note", + onSelect: () => { + this.runAction(ItemActionManager.RestoreEvent); + } + }, + { + text: "Delete Forever", + textClass: "danger", + key: "delete-forever", + onSelect: () => { + this.runAction(ItemActionManager.DeleteEvent); + } + }, + { + text: "Empty Trash", + textClass: "danger", + key: "empty trash", + onSelect: () => { + this.runAction(ItemActionManager.EmptyTrashEvent); + } + }, + ]); } - let options = [ - { - text: "Restore Note", - key: "restore-note", - onSelect: () => { - this.runAction(ItemActionManager.RestoreEvent); - } - }, - { - text: "Delete Forever", - key: "delete-forever", - onSelect: () => { - this.runAction(ItemActionManager.DeleteEvent); - } - }, - { - text: "Empty Trash", - key: "empty trash", - onSelect: () => { - this.runAction(ItemActionManager.EmptyTrashEvent); - } - }, - ] - return options; } @@ -285,7 +282,6 @@ export default class NoteSideMenu extends AbstractSideMenu { } let noteOptions = this.buildOptionsForNoteManagement(); - let trashOptions = this.buildOptionsForTrash(); let editorOptions = this.buildOptionsForEditors(); let selectedTags = this.handler.getSelectedTags(); @@ -296,10 +292,6 @@ export default class NoteSideMenu extends AbstractSideMenu { - {trashOptions.length > 0 && - - } - diff --git a/src/screens/SideMenu/SideMenuCell.js b/src/screens/SideMenu/SideMenuCell.js index 8c62ab0f..9d043b3a 100644 --- a/src/screens/SideMenu/SideMenuCell.js +++ b/src/screens/SideMenu/SideMenuCell.js @@ -68,9 +68,19 @@ export default class SideMenuCell extends ThemedComponent { } } + colorForTextClass = (textClass) => { + if(!textClass) {return null;} + return { + "info" : StyleKit.variables.stylekitInfoColor, + "danger" : StyleKit.variables.stylekitDangerColor, + "warning" : StyleKit.variables.stylekitWarningColor, + }[textClass]; + } + render() { let hasIcon = this.props.iconDesc; let iconSide = (hasIcon && this.props.iconDesc.side) ? this.props.iconDesc.side : (hasIcon ? "left" : null); + let textColor = this.colorForTextClass(this.props.textClass); return ( @@ -87,7 +97,7 @@ export default class SideMenuCell extends ThemedComponent { {this.props.subtext} } - {this.props.text} + {this.props.text} diff --git a/src/screens/SideMenu/SideMenuSection.js b/src/screens/SideMenu/SideMenuSection.js index 514380bd..2baa1325 100644 --- a/src/screens/SideMenu/SideMenuSection.js +++ b/src/screens/SideMenu/SideMenuSection.js @@ -8,8 +8,8 @@ import ThemedComponent from "@Components/ThemedComponent"; export default class SideMenuSection extends ThemedComponent { - static BuildOption({text, subtext, key, iconDesc, dimmed, selected, onSelect, onLongPress}) { - return { text, subtext, key, iconDesc, dimmed, selected, onSelect, onLongPress }; + static BuildOption({text, subtext, textClass, key, iconDesc, dimmed, selected, onSelect, onLongPress}) { + return { text, subtext, textClass, key, iconDesc, dimmed, selected, onSelect, onLongPress }; } constructor(props) { @@ -46,6 +46,7 @@ export default class SideMenuSection extends ThemedComponent { {options.map((option) => { return