Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Search and Task List in one Modal #751

Merged
merged 56 commits into from
Nov 22, 2021

Conversation

tarnung
Copy link
Collaborator

@tarnung tarnung commented Nov 14, 2021

This PR sits on top of #748 and #747 and adresses task one in #211.

  • Search and Task List open in one modal with tabs
  • modal opens to "Search" by default and remembers what was opened last (not persisted to backend)
  • NO LONGER TRUE: if there are open clocks, the last opened modal is ignored and it always opens to "Search" for "clock:now".
  • instead: if there are open clocks, a third modal "Clock List" is added that looks like "Search" for "clock:now" without the search input field.

Feel free to discuss if this is a sensible behaviour.

A caveats:
This is a design refactor. It still uses SearchModal and TaskListModal under the hood so there was no cleaning up of duplicated functionality.

@tarnung
Copy link
Collaborator Author

tarnung commented Nov 15, 2021

In #217 there was a discussion about the "set deadline" and "set scheduled" buttons immediately creating timestamps.

An argument in favour was that you otherwise would need more clicks to create the timestamp. I don't fully share that concern as you probably don't want to set a scheduled event or a deadline to "now" so you will need several more clicks to configure the timestamp anyways.

In addition if I use the new in modal buttons to switch between editing different parts of the header i have another chance to accidentally create timestamps. If I delete the timestamp I get thrown out of the modal - which none of the other header focussed modals that you can switch between does on deletion of say a tag or a property.

If there are strong opinions against that, it's easy to change it back since it's one commit.

Quick aside:
Timestamps are annoying to delete on my android:

  • I need to press the date to open the datepicker
  • The bottom part of the datepicker says "pick" and "cancel" without any indication of further avaliable action.
  • I need to know that I can scroll down the bottom part of the datepicker, sliding "pick" behind the calender and revealing a "delete" button

@tarnung
Copy link
Collaborator Author

tarnung commented Nov 16, 2021

I don't plan on any more direct additions to this PR. It seems like a nice package as is.

The only thing I found is that there now only is a #search in the url when either search or task list are opened.

@munen
Copy link
Collaborator

munen commented Nov 16, 2021

@tarnung Thank you for the update! 🙏

I'm currently testing on iOS and on the Desktop. I've updated the last test in #748. The final issue before we can merge #748 is the iOS regression on editing descriptions for which I'm currently testing options.

Since there are many (great!) changes in the last PRs, would you consider doing a code walk-through with me? We could do a screen-sharing session, or I could offer office space in Glarus where we could also have a coffee or tea together. Of course, all of these are optional. The alternative is that I'll do my best to do a code review at my speed and time and merge when I've gotten through.

@tarnung
Copy link
Collaborator Author

tarnung commented Nov 16, 2021

If the changes in #748, #747 and in here are all to be merged, it might be easiest to only merge 751 since all code is already in here. If you prefer to go one by one and you can perform the necessary rebasing magic, that's fine with me too.

We can plan a remote code walkthrough. Just tell me when you have time to spare. I'm in no hurry since I can already use the changes on staging anyway :)

@munen
Copy link
Collaborator

munen commented Nov 16, 2021

If the changes in #748, #747, and in here are all to be merged, it might be easiest only to merge 751 since all code is already in here.

Ack. I see no blockers to look straight at #751 for merging. I'm only looking at #748, because it is slightly smaller and introduced the iOS description scrolling issue.

We can plan a remote code walkthrough. Just tell me when you have time to spare. I'm in no hurry since I can already use the changes on staging anyway :)

Sweet! This week is completely booked (work, templestay, meditation retreat). But next week, I'm pretty flexible from Monday to Sunday except for Monday afternoon/evening. If you have any preferences, the chances are high that we can do it, then. If you have no preferences, then I suggest Tuesday the 23rd at 10 am.

@tarnung
Copy link
Collaborator Author

tarnung commented Nov 16, 2021

Would Monday 22nd 10am work for you? That or Friday would be my best options for a spot during the day. Otherwise we'd have to make it an evening.

@munen
Copy link
Collaborator

munen commented Nov 16, 2021

Would Monday 22nd 10am work for you? That or Friday would be my best options for a spot during the day. Otherwise we'd have to make it an evening.

That works well! I'll send you a Zoom invite via your hey email address.

tarnung and others added 3 commits November 16, 2021 19:56
     Rationale: The `<Motion>` component has listeners on `touchstart`, `touchmove`, `touchend` and `touchcancel`: https://github.com/200ok-ch/organice/blob/72b46bf80ade330f59d0747246f0c8b5547ab227/src/components/UI/Drawer/index.js#L64-L67

     The `<textarea>` of `<DescriptionEditorModal>` is embedded within `<Motion>`. These touch event listeners interfere with the ability to scroll on iOS.
@munen
Copy link
Collaborator

munen commented Nov 16, 2021

I have cherry-picked the two commits from me from PR #748.

The updated #751 is deployed to Staging. I have verified that the iOS scroll bug also works when deployed!

@munen
Copy link
Collaborator

munen commented Nov 16, 2021

Last (known) issue on this PR: Tests on #748 are green. On #751, there are ten failing tests.

tarnung and others added 5 commits November 16, 2021 20:43
          State: It accepts multi-line input now. There's two UX
          caviats, yet:
          - The modal does not close on "Add"
          - When the multi-line note is saved to the document, it
          becomes just one line (\n is removed)
     Fixes two bugs:
     - Before, adding a multi-line note that featured lines < 70
     characters long, they would get joined.
     - Before, even if the multi-line notes wouldn't get joined, only
     the second line would be indented to be within the note. The
     lines from the third line would not have indentation.
@munen
Copy link
Collaborator

munen commented Nov 17, 2021

Screenshot showcasing the functionality of the last commit:
image

@munen
Copy link
Collaborator

munen commented Nov 17, 2021

@schoettl FYI, with merging #751 from tarnung, the user can input multi-line notes. I've made these changes to the code from you:

Here's a showcase of what it looks like now: #751 (comment)

I hope you're ok with these changes. Since this PR is already huge and builds on several other huge PRs, I think these changes are good for you, too, I have not opened a separate PR.

@munen
Copy link
Collaborator

munen commented Nov 17, 2021

I have updated Staging with the current state of #751.

@tarnung
Copy link
Collaborator Author

tarnung commented Nov 17, 2021

Seems good to me. At least from a user perspective. I can't speak to the effects of mulit line notes on the parser etc.
But since note parsing is broken anyway (as seen in #750) it's at least not worse ;)

@munen
Copy link
Collaborator

munen commented Nov 20, 2021

Using a capture template looks like this on iOS:

99F46EE2-1DB3-4355-B100-5D5DA6ACB02D

I’ll look into it on Monday. I only just realized it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants