* Worked on linked notes
- Added custom plugin for react-markdown
- Valid note uuids are hyperlinked to # for now, text displays as the target note's title
- Error text added for invalid uuids
* More work on linked notes
- Notes are now properly "linked"
- Clicking on a link with load a new active note in the editor
* more work on linked notes
* More work on linked tasks
- Added note id reference on note menu bar
- Added e2e tests
* enabled skipped test
* address PR comments
* address requested changes
* Changes for #380
- Used react-feather 'Download' icon; removed unneeded SVG element
- Fixed SVG element breaking the settings modal by using react-feather
- Removed unrelated code accidentally included from the other draft notes PR
* Finished changes
- Added 'Data management' tab
- Added IconButton component
- Download all notes is now a button (uses the IconButton cmp)
- Added styling classes in _modal.scss for new IconButton cmp
- Can now drag and drop a note from the trash back to the notes category
- Renamed 'All Notes' to 'Notes'
- Added E2E test for new d&d functionality
- Corrected previous tests that used the 'All Notes' title
* can run prettify on note and update the note
* starting to work on testing
* making progress on keyboard shortcut tests integrated with Note Editor
* at least I got take note app mocking working
* undo test helper change
* undo test helper change
* added shortcut to settings modal and welcome notes default
* prettier can format code blocks as well js ts css and html for now
* updating settings modal and welcome md to ctrl+alt+i
Co-authored-by: Giancarlo Gonzalez <giancarlog20@gmail.com>
* Add selectedNotes to note state and a way to update it
* Update note state to work with multi selection
* Update swapNote to have a multiSelect param
* Apply updateSelectedNotes when creating new note
* Fix categoryId bug
* Fix add multiple notes to category behaviour
* Add functionality to download multiple notes
* Fix folder not swapping on category deletion big
* Fix remove category from note while in that category bug
* Add integration tests
* Rename swapNote to updateActiveNote
* Rename swapCategory to updateActiveCategoryId
* Remove pruneCategoryFromNotes (unused)
* Drag and drop
* Add interval back
Co-authored-by: Michael <tranmichael97@gmail.com>
* [WIP] Context menu for note list items
* Context menu doesn't overflow screen
* [WIP] Context menu:
- Categories now has a context menu
- Modified CSS to match general context menus
- Moved Editing of categories to category slice
- Added available context menus to enums
* Finished creating Cypress tests
* Updated unit tests to match changes
* Made dark mode available in context menu
* [Fix] Menu now opens at correct positions
* Fix tests
* Initial commit of TypeScript Express server
* Update title
* Update path alias
* Add eslint configuration
* Add private routes
* Add authentication routes
* src/server/
Minor server cleanup
* Add markdown loader
* Fix markdown issue
* Fix tests locally
* Attempt to run Cypress on Travis
* Update Travis script to build server
* Get Cypress running in Travis
* Get docker builds to work locally
* Add Docker details to README
* Attempt CI/CD Docker build
* Add bash deploy script because Travis doesn't allow multiple lines in their config
* Update deploy script
* Update deploy script
* Do not kill node
* Fix variable in script
* Deploy to Droplet
* Add doctl snap
* Rearrange config
* y u no parse
* Lets see if I can instal snap this way
* Travis terminal error
* Test bypass known SSH hosts
* Better config
* Proper DO side deploy
* Fix deployment script
* Making a new commit
* Detach Docker run
* Test encrypted host
* Update SSH
* Public key
* Only apply deployment to master branch
* Begin bringing in Auth0
* fix rebase conflicts
* Fix settings open error, update route names
* Add responsive nav
* Finish most of the responsive styles
* Add landing page
* Add config
* Move all-contributors-cli to devDeps
* Add contributors:add and contributors:generate scripts
* Add @meowwwls as a contributor
* Add @jjtowle as a contributor
Use Redux-Starter-Kit
1. Install Redux-Starter-Kit
* Install [Redux-Starter-Kit (RSK)](https://redux-starter-kit.js.org/)
* Replace Redux `createStore` with RSK `configureStore`
* Add RSK's development-only middlewares:
* [redux-immutable-state-invariant](https://github.com/leoasis/redux-immutable-state-invariant)
* serializable-state-invariant-middleware
2. Implement RSK slices
* Implement slices for notes, categories, sync, theme
* Clean up noteReducer functions for noteSlice
* Replace `createStore` with `configureStore` in `tests/helpers.tsx`
* Rename Actions, Folders enums to Action, Folder
* Sort some imports that already should've been sorted...?
* Remove `else` from `if` blocks that return in every branch
3. Delete old actions, reducers, etc
* Delete actions
* Delete Action enum
* Delete reducers
* Delete (nearly) all action types
* Refactor noteReducer functions for noteSlice
* Change references to Folder to use Folder type instead of string
* In that process, clean up NoteList react-redux stuff
4. Remove newly added actions, types, reducer
* Removed new actions, action types, reducer, etc added for Settings
* Removed `Slice` from filenames in `slices`
5. Add PayloadAction types to reducers
6. Use hooks instead of HOF from react-redux
* Replace `connect` from `react-redux` with `useDispatch` and
`useSelector`, eliminating (nearly) all props for containers by no
longer mapping state and actions to props
* Miscellaneous cleanup/refactoring
* Add Prettier plugin/config to ESLint
* Set lint-staged to run both ESLint and Prettier as appropriate
* Broaden lint-staged globs, because gitignored files won't be staged
anyway
* Lint `./tests`
* Sort `package.json` canonically
* Fix project name in `package.json`