Commit Graph

164 Commits

Author SHA1 Message Date
Aman Harwara
1717fbf545 refactor: move setting allNotesCount_ into action (#877) 2022-02-17 02:21:37 +05:30
Aman Harwara
71c7ee1bec feat: new revision history UI (#861) 2022-02-16 19:39:04 +05:30
Aman Harwara
dab8080da6 feat: move SubscriptionState to central AppState (#869) 2022-02-15 21:00:05 +05:30
Mo
78ec092bf0 fix: use full path when searching autocomplete tags 2022-02-09 11:09:11 -06:00
Mo
0c3d1fce0c feat: persist tags expanded state 2022-02-08 22:27:00 -06:00
Mo
e43c8a6f07 fix: improve deinit logic and flow 2022-02-08 21:35:31 -06:00
Aman Harwara
5605baeb57 feat: add warning to note options menu if note size is >0.5mb (#851) 2022-02-07 20:38:19 +05:30
Mo
6970a375b7 feat: native listed integration (#846)
* feat(wip): native listed integration

* feat(wip): wip

* feat: simplified actions menu structure

* feat: open settings alert upon succesful creation

* fix: handle remove menu row api

* chore(deps): snjs
2022-02-03 18:14:28 -06:00
Mo
70f4dd6353 feat: enable folders by default and remove from experimental features 2022-02-01 12:31:37 -06:00
Mo
b1022cd3c3 fix: duplicate element id 2022-02-01 09:56:52 -06:00
Aman Harwara
1f5d235cd4 fix: notes list options menu not toggling correctly (#840) 2022-02-01 20:12:57 +05:30
Laurent Senta
3c0bc79768 feat: add migration pref pane (#825)
* feat: add migration pane

* style: clean imports

* removeme: beta version

* fix: do no show dropzone when tag has no parent

* fix: hide the Folders toggle

* fix: hide migrations option when user has no folders

* fix: add delimiter on Folders mark

* removeme: bump beta

* fix: remove component viewer for tag folders

* removeme: bump beta

* chore(deps): snjs
2022-01-31 19:18:14 -06:00
Mo
50c92619ce refactor: migrate remaining angular components to react (#833)
* refactor: menuRow directive to MenuRow component

* refactor: migrate footer to react

* refactor: migrate actions menu to react

* refactor: migrate history menu to react

* fix: click outside handler use capture to trigger event before re-render occurs which would otherwise cause node.contains to return incorrect result (specifically for the account menu)

* refactor: migrate revision preview modal to react

* refactor: migrate permissions modal to react

* refactor: migrate password wizard to react

* refactor: remove unused input modal directive

* refactor: remove unused delay hide component

* refactor: remove unused filechange directive

* refactor: remove unused elemReady directive

* refactor: remove unused sn-enter directive

* refactor: remove unused lowercase directive

* refactor: remove unused autofocus directive

* refactor(wip): note view to react

* refactor: use mutation observer to deinit textarea listeners

* refactor: migrate challenge modal to react

* refactor: migrate note group view to react

* refactor(wip): migrate remaining classes

* fix: navigation parent ref

* refactor: fully remove angular assets

* fix: account switcher

* fix: application view state

* refactor: remove unused password wizard type

* fix: revision preview and permissions modal

* fix: remove angular comment

* refactor: react panel resizers for editor

* feat: simple panel resizer

* fix: use simple panel resizer everywhere

* fix: simplify panel resizer state

* chore: rename simple panel resizer to panel resizer

* refactor: simplify column layout

* fix: editor mount safety check

* fix: use inline onLoad callback for iframe, as setting onload after it loads will never call it

* chore: fix note view test

* chore(deps): upgrade snjs
2022-01-30 19:01:30 -06:00
Aman Harwara
b932e2a45e feat: Add new "Change Editor" option to note context menu (#823)
* feat: add editor icon

* refactor: remove 'any' type and format

* refactor: move NotesOptions and add ChangeEditorOption

* refactor: fix type for using regular RefObject<T>

* feat: add hide-if-last-child util class

* feat: add Change Editor option

* feat: make radio btn gray if not checked

* fix: accordion menu header and item sizing/spacing

* feat: add Escape key to KeyboardKey enum

* refactor: Remove Editor Menu

* feat: add editor select functionality

* refactor: move plain editor name to constant

* feat: add premium editors with modal if no subscription

refactor: simplify menu group creation

* feat: show alert when switching to non-interchangeable editor

* fix: change editor menu going out of bounds

* feat: increase group header & editor item size

* fix: change editor menu close on blur

* refactor: Use KeyboardKey enum & remove else statement

* feat: add keyboard navigation to change editor menu

* fix: editor menu separators

* feat: improve change editor menu sizing & spacing

* feat: show alert only if editor is not interchangeable

* feat: don't show alert when switching to/from plain editor

* chore: bump snjs version

* feat: temporarily remove change editor alert

* feat: dynamically get footer height

* refactor: move magic number to const

* refactor: move constants to constants file

* feat: use const instead of magic number
2022-01-28 14:23:39 -06:00
Laurent Senta
7726b1249c feat: display folders even without the premium (#826) 2022-01-26 09:21:24 +01:00
Laurent Senta
86b38e1041 fix: tag placeholder align (#819)
* fix: padding in navigation no-tag-placeholder

* fix: lint-staged was disabled

* fix: make findArray typesafe
2022-01-24 15:50:41 +01:00
Aman Harwara
829a240f63 fix: tags state mobx warning (#821) 2022-01-21 21:32:03 +05:30
Aman Harwara
da1d4f75c8 feat: Add "Appearance" pane to preferences (#816)
Co-authored-by: Mo <mo@standardnotes.com>
2022-01-19 19:41:04 +05:30
Mo
c232a5e3c6 fix: dev account server 2022-01-17 10:53:23 -06:00
Mo
5e0769745c feat: use snjs tag notes index for note counts (#810)
* feat: use snjs tag notes index for note counts

* style: clean up style

* fix: typo on parent check (#811)

* feat: use snjs tag notes index for note counts

* chore: bump deps
2022-01-17 07:47:25 -06:00
Laurent Senta
b0544dc2ef fix: typo on parent check (#811) 2022-01-17 13:59:31 +01:00
Mo
063c3b2fee feat: per-note spellcheck (#815)
* feat: per-note spellcheck control

* fix: remove fill from svg

* feat: move spellcheck pref into defaults preferences section

* fix: use faded css class instead of opacity

* feat: plus editor 1.6.0
2022-01-14 14:32:16 -06:00
Mo
350815fc58 fix: handle folders activation from callback 2022-01-13 09:45:57 -06:00
Mo
a2b2d3f0bb fix: issue when creating new note in new tag doesnt re-render immediately 2022-01-12 11:42:36 -06:00
Mo
8f4f188733 fix: base keyboard modifier state on latest event 2022-01-12 11:27:10 -06:00
Vardan Hakobyan
f2d013b5e1 fix: update selected notes count when deleting multiple notes permanently (#808) 2022-01-10 18:30:38 +04:00
Mo
987f5aebf4 chore: migrate note controllers to snjs 2022-01-06 11:03:45 -06:00
Aman Harwara
875f5417be feat: Add option to toggle editor icon in new notes list design (#799) 2022-01-06 20:30:10 +05:30
Laurent Senta
285fe31dd8 fix: reload note counts (#797)
* fix: reload note counts

* fix: select smart tags on load
2022-01-06 09:00:36 +01:00
Karol Sójko
e725fb11c3 Revert "Revert "fix: system smart tags on empty account (#796)""
This reverts commit 513ba86538.
2022-01-05 16:12:56 +01:00
Karol Sójko
9ecfad92bb Revert "Revert "feat: allows duplicate names in tags folder & smart tags (#792)""
This reverts commit 122f8fc266.
2022-01-05 16:12:36 +01:00
Karol Sójko
80bf7baf16 Revert "Revert "feat: native smart tags (#782)""
This reverts commit b57350c899.
2022-01-05 16:12:22 +01:00
Karol Sójko
b57350c899 Revert "feat: native smart tags (#782)"
This reverts commit c3772e06b4.
2022-01-05 16:11:17 +01:00
Karol Sójko
122f8fc266 Revert "feat: allows duplicate names in tags folder & smart tags (#792)"
This reverts commit a165fa9b4e.
2022-01-05 16:11:00 +01:00
Karol Sójko
513ba86538 Revert "fix: system smart tags on empty account (#796)"
This reverts commit f543bbe507.
2022-01-05 16:10:41 +01:00
Laurent Senta
f543bbe507 fix: system smart tags on empty account (#796) 2022-01-05 06:53:28 +01:00
Laurent Senta
a165fa9b4e feat: allows duplicate names in tags folder & smart tags (#792)
* feat: tag rendering & validation uses hierarchy

* feat: add prefix to autocomplete
2022-01-04 14:13:29 +01:00
Laurent Senta
c3772e06b4 feat: native smart tags (#782)
* feat: introduce native smart tags

* feat: introduce react navigation

* feat: render smart tag special cases

* feat: add create tag & all count

* feat: move components to react + mobx

* fix: workaround issue with snjs

* feat: nice smart tag icons in experimental

* feat: add back components

* fix: typo on all tags

* feat: add panel resizer + simplif code

* fix: panel resize size & refresh

* fix: auto select all notes

* style: remove legacy tag view

* style: remove legacy directives

* fix: select tag from note view

* feat: WIP smart tag rename

* fix: template checks

* fix: user can create new notes

* panel: init width

* fix: panel resizer ref

* fix: update with new component viewer

* fix: use fixed isTemplateItem & fixed findItems

* refactor: rename tags panel into navigation

* style: remove TODOs that are ok

* feat: smart tag premium check with premium service

* refactor: multi-select variables for debuggability

* fix: clean deinit code

* fix: prevent trigger tag changes event for the same uuid

* fix: typings

* fix: use minimal state

* style: remove dead code

* style: long variable names

* refactor: move magic string to module

* fix: use smart filter feature

* refactor: add task id in todo
2022-01-04 14:02:58 +01:00
Mo
954f39992d fix: display correct app version for desktop 2022-01-03 15:28:04 -06:00
Mo
0eeb9b7da1 refactor: rename note controller to note view controller 2021-12-27 22:56:21 -06:00
Mo
15aea42d4f chore: rename editor model to note controller 2021-12-27 18:46:56 -06:00
Mo
3140b17c20 fix: only create new placeholder if no editor is open 2021-12-27 16:01:45 -06:00
Mo
c9e448c7b6 fix: focus new note on create (#791) 2021-12-27 15:42:48 -06:00
Mo
ebdae31965 feat: component viewer (#781)
* wip: component viewer

* feat: get component status from component viewer

* fix: remove unused property

* chore(deps): snjs 2.29.0

* fix: import location
2021-12-24 10:41:02 -06:00
Laurent Senta
237cd91acd feat: implement tags folder as experimental feature (#788)
* feat: add tag folders support basics

* feat: add draggability to tags

* feat: add drag & drop draft

* feat: fold folders

* fix: do not select on fold / unfold tags

* style: clean the isValidTag call

* feat: add native folder toggle

* feat: add touch mobile support

* ui: add nicer design & icons

* style: render full-width tag items

* feat: nicer looking dropzone

* style: fix arguments

* fix: tag template rendering in list items

* feat: tag can be dragged over the whole item

* fix: cancel / reset title after save

* fix: disable drag completely when needed

* fix: invalid tag parents

* feat: add paying feature

* feat: with paid feature tooltip

* feat: tag has a plus feature

* feat: add premium modal

* style: simplif code

* refactor: extract feature_state & simplif code

* fix: icons and icons svg

* style: remove comment

* feat: tag folders naming

* feat: use the feature notification

* fix: tag folders copy

* style: variable names

* style: remove & clean comments

* refactor: remove is-mobile library

* feat: tags folder experimental (#10)

* feat: hide native folders behind experimental flag

* fix: better tags resizing

* fix: merge global window

* style: rename params

* refactor: remove level of indirection in feature toggle

* feat: recursively add tags to note on create (#9)

* fix: use add tags folder hierarchy & isTemplateItem (#13)

* fix: use new snjs add tag hierarchy

* fix: use new snjs isTemplateItem

* feat: tags folder premium (#774)

* feat: upgrade premium in tags section

refactor: move TagsSection to react

feat: show premium on Tag section

feat: keep drag and drop features always active

fix: drag & drop tweak with premium

feat: premium messages

fix: remove fill in svg icons

fix: change tag list color (temporary)

style: remove dead code

refactor: clarify names and modules

fix: draggable behind feature toggle

feat: add button in TagSection & design

* feat: fix features loading with app state (#775)

* fix: distinguish between app launch and start

* fix: update state for footer too

* fix: wait for application launch event

Co-authored-by: Laurent Senta <laurent@singulargarden.com>

* feat: tags folder with folder text design (#776)

* feat: add folder text

* fix: sn stylekit colors

* fix: root drop zone

* chore: upgrade stylekit

* fix: hide dropzone when feature is disabled

* chore: bump versions now that they are released

Co-authored-by: Mo <me@bitar.io>

* feat: tags folder design review (#785)

* fix: upgrade design after review

* fix: tweak dropzone

* fix: sync after assign parent

* fix: tsc error on build

* fix: vertical center the fold arrows

* fix: define our own hoist for react-dnd

* feat: hide fold when there are no folders

* fix: show children usability + resize UI

* fix: use old colors for now, theme compat

* fix: tweak alignment and add title

* fix: meta offset with folders

* fix: tweak tag size

* fix: observable setup

* fix: use link-off icon on dropzone

* fix: more tweak on text sizes

Co-authored-by: Mo <me@bitar.io>
2021-12-23 14:34:02 +01:00
Laurent Senta
4a5a202a37 Merge branch 'hotfix/10.3.2' into develop 2021-12-22 16:26:03 +01:00
Laurent Senta
80bd684e64 fix: tags do not count orphan refs 2021-12-22 16:22:00 +01:00
Aman Harwara
270fcbc3bc refactor: Move notes_view to React (#761) 2021-12-21 20:31:11 +05:30
Vardan Hakobyan
f120af3b43 feat: handle unprotected session expiration (#779)
* feat: hide note contents if the protection expires when the protected note is open and wasn't edited for a while

* feat: handle session expiration for opened protected note for both plain advanced editors

* fix: if after canceling  session expiry modal only one unprotected note stays selected, show its contents in the editor

* refactor: handle session expiration for opened protected note (move the logic to web client)

* feat: handle the case of selecting "Don't remember" option in session expiry dialog

* test (WIP): add unit tests for protecting opened note after the session has expired

* test: add remaining unit tests

* refactor: move the opened note protection logic to "editor_view"

* refactor: reviewer comments
- don't rely on user signed-in/out status to require authentication for protected note
- remove unnecessary async/awaits
- better wording on ui

* refactor: reviewer's comments:
 - use snjs method to check if "Don't remember" option is selected in authentication modal
 - move the constant to snjs
 - fix eslint error

* refactor: avoid `any` type for `appEvent` payload

* test: add unit tests

* chore: update function name

* refactor: use simpler protection session event types

* refactor: protected access terminology

* refactor: start counting idle timer after every edit (instead of counting by interval in spite of edits)

* test: unit tests

* style: don't give extra brightness to the "View Note"/"Authenticate" button on hover/focus

* chore: bump snjs version

* chore: put snjs "beta" version

* fix: run protection timeout when the note is marked as protected

* chore: snjs version bump

* refactor: immediately lock the note if it's marked as "Protected"

* refactor: rename component, directive and some props

* refactor: remove extra check

* refactor: rename the method

* chore: update snjs version

Co-authored-by: Mo Bitar <me@bitar.io>
2021-12-20 20:54:37 +04:00
Karol Sójko
2e168df929 Revert "feat: handle unprotected session expiration (#747)"
This reverts commit 8db549f6f6.
2021-12-15 15:26:31 +01:00