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

Add Everhour Extension #73

Merged
merged 11 commits into from Oct 25, 2021
Merged

Add Everhour Extension #73

merged 11 commits into from Oct 25, 2021

Conversation

farisaziz12
Copy link
Contributor

@farisaziz12 farisaziz12 commented Oct 17, 2021

Description

Created an extension that uses the Everhour API (token setup required in extension preferences). It allows you to fetch active projects and related tasks. You can then start/stop a timer on a task or add a custom amount of hours to it, which will be immediately reflected on the rendered list of tasks.

Type of change

  • New extension

Screencast

everhour-extension.mov

Checklist

@farisaziz12 farisaziz12 changed the title Create Everhour Extension Add Everhour Extension Oct 17, 2021
@PitNikola PitNikola added the new extension Label for PRs with new extensions label Oct 18, 2021
Copy link
Member

@thomaspaulmann thomaspaulmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a very nice addition to Raycast 👏

I left a few minor comments around naming. I'm not too sure if the suggestions make sense since I'm not a Everhour user. Please let me know.

extensions/everhour/package.json Outdated Show resolved Hide resolved
extensions/everhour/package.json Outdated Show resolved Hide resolved
extensions/everhour/package.json Outdated Show resolved Hide resolved
extensions/everhour/src/components/TaskListItem.tsx Outdated Show resolved Hide resolved
extensions/everhour/src/views/TimeSubmitForm.tsx Outdated Show resolved Hide resolved
extensions/everhour/src/views/TimeSubmitForm.tsx Outdated Show resolved Hide resolved
@farisaziz12
Copy link
Contributor Author

Thanks for all the comments @thomaspaulmann. I'll action them ASAP and request another review 😁

@farisaziz12
Copy link
Contributor Author

@thomaspaulmann Your comments have been addressed and I have updated the video to reflect the changes. Please do let me know if you have any other suggestions. Thank you

@thomaspaulmann
Copy link
Member

Amazing. This looks like a much better UX now. How about changing the textfield for the duration to a dropdown with some values, e.g. 5 Minutes, 15 Minutes, 30 Minutes, 1 Hour, ...? You can find an example for it here. I think this would make the input less error prone and quicker to use.

I'll merge as is but you could add it in a separate PR.

@thomaspaulmann thomaspaulmann merged commit 17b3c85 into raycast:main Oct 25, 2021
@farisaziz12
Copy link
Contributor Author

Thank you very much for reviewing and merging this in @thomaspaulmann. Towards the end of the screencast I shared in the PR you can see that I already changed the text field into a dropdown with pre-defined time values😄

@thomaspaulmann
Copy link
Member

thomaspaulmann commented Oct 25, 2021

Ah, I must have missed the last commit. Even better!

Instead of calling the dropdown "Hours", I would call it Duration and then do human readable values, e.g. "5 Minutes", "30 Minutes", "1 Hour" and so on. It's much easier to parse, e.g. I don't know what is 0.15 hours from the top of my head.

FezVrasta pushed a commit to FezVrasta/extensions that referenced this pull request Oct 25, 2021
* feat(extensions): create everhour extension

* feat(everhour): render hours and min for task time

* chore: fix package.json typos

* feat(task-list): replace console log with error toast

* chore(package-json): improve title and command name

* feat(api): add get current user and time records api funcs

* feat(utils): create toast state resolver

* refactor(project-list): use time records for data flow

* refactor: use time records data

* refactor(time-submit-form): use dropdown

* Update extensions/everhour/package.json

Co-authored-by: Thomas Paul Mann <hi@thomaspaulmann.com>
FezVrasta pushed a commit to FezVrasta/extensions that referenced this pull request Nov 24, 2021
* feat(extensions): create everhour extension

* feat(everhour): render hours and min for task time

* chore: fix package.json typos

* feat(task-list): replace console log with error toast

* chore(package-json): improve title and command name

* feat(api): add get current user and time records api funcs

* feat(utils): create toast state resolver

* refactor(project-list): use time records for data flow

* refactor: use time records data

* refactor(time-submit-form): use dropdown

* Update extensions/everhour/package.json

Co-authored-by: Thomas Paul Mann <hi@thomaspaulmann.com>
FezVrasta pushed a commit to FezVrasta/extensions that referenced this pull request Mar 23, 2022
* feat(extensions): create everhour extension

* feat(everhour): render hours and min for task time

* chore: fix package.json typos

* feat(task-list): replace console log with error toast

* chore(package-json): improve title and command name

* feat(api): add get current user and time records api funcs

* feat(utils): create toast state resolver

* refactor(project-list): use time records for data flow

* refactor: use time records data

* refactor(time-submit-form): use dropdown

* Update extensions/everhour/package.json

Co-authored-by: Thomas Paul Mann <hi@thomaspaulmann.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new extension Label for PRs with new extensions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants