Commit Graph

216 Commits (b876a90a5afc33f7f5dbb41d12f3de34a4c5bc70)

Author SHA1 Message Date
Tom Hacohen 278ebacad1 Add a nicer loading indicator. 2017-12-07 00:08:23 +00:00
Tom Hacohen 3bb8b6f101 Split out the login form from the etesync context. 2017-12-06 23:53:53 +00:00
Tom Hacohen cd2a6caf52 JournalList: get rid of the extra div. 2017-12-06 23:53:08 +00:00
Tom Hacohen 123cf589dd Remove debug code. 2017-12-06 23:40:34 +00:00
Tom Hacohen 87d150554c Remove fragment from journal view. 2017-12-06 23:40:34 +00:00
Tom Hacohen afb940d51a Simplify fetchCount using combineActions. 2017-12-06 19:58:05 +00:00
Tom Hacohen 6566bc01df Disable logger middleware in production builds. 2017-12-06 19:41:14 +00:00
Tom Hacohen 22381a1f85 Move to redux-actions. 2017-12-06 19:40:46 +00:00
Tom Hacohen 7e1d1087b1 Move to (our modified) redux-promise to simplify actions. 2017-12-06 17:52:38 +00:00
Tom Hacohen 49b9469284 Remove the redundant EteSyncContextType interface. 2017-12-06 11:18:37 +00:00
Tom Hacohen c67ba9a233 Move actions to the store file and clean up imports. 2017-12-06 11:15:40 +00:00
Tom Hacohen 33b4cc083a Add a component that acts as a gate for journal fetching. 2017-12-05 20:27:06 +00:00
Tom Hacohen 2e4c6b11aa Move entry fetching to redux. 2017-12-05 20:27:06 +00:00
Tom Hacohen f36e099bb9 Change all of our components to export themselves as default. 2017-12-05 20:27:06 +00:00
Tom Hacohen 43127dc53f Put username on the upper right corner. 2017-12-05 20:27:06 +00:00
Tom Hacohen 38cb4170ed Remove redundant class. 2017-12-05 20:27:06 +00:00
Tom Hacohen e75d586c0f Move journal fetching to redux. 2017-12-05 20:27:06 +00:00
Tom Hacohen 57f89e3840 Store: make global fetch count tracking generic. 2017-12-05 20:27:05 +00:00
Tom Hacohen c6ec2bcaf1 Fix wrong type in store. 2017-12-05 20:27:05 +00:00
Tom Hacohen fb660fc54c Make request types generic. 2017-12-05 20:27:05 +00:00
Tom Hacohen 37aaebbbd8 Clear login form username and password on submission. 2017-12-05 20:27:05 +00:00
Tom Hacohen 3c3ffb15d3 Implement logout and workaround an issue with redux-persist not persisting.
For some reason it doesn't persist when credentials === undefined.
2017-12-05 20:27:05 +00:00
Tom Hacohen 94c6916447 Add a basic redux store. 2017-12-05 20:27:05 +00:00
Tom Hacohen 55f595d52a Start using react fragments. 2017-12-05 20:27:05 +00:00
Tom Hacohen 36cf88aaf2 Fix the main navigation link. 2017-12-04 23:23:56 +00:00
Tom Hacohen fe6490a098 Show raw journal items when clicked. 2017-12-04 23:18:06 +00:00
Tom Hacohen 00d8b43cc5 Login: change login form to be a controlled component.
I thought it would be easier to use an uncontrolled component, but
it fails when loading fails. The form just clears.

This fixes it.
2017-12-04 22:45:58 +00:00
Tom Hacohen df4ea83208 Don't change history when switching tabs. 2017-12-04 22:45:58 +00:00
Tom Hacohen b0741978d0 Journal list: improve look. 2017-12-04 22:45:58 +00:00
Tom Hacohen 1bf6314ac3 EteSync: fix the sync entry action constant for Delete. 2017-12-04 22:12:32 +00:00
Tom Hacohen 1a9202521d Add in-app navigation links. 2017-12-04 21:55:47 +00:00
Tom Hacohen 5b8c000d45 Don't recreate views when switching tabs. 2017-12-04 21:41:03 +00:00
Tom Hacohen 635a41d41f Add a calendar view. 2017-12-04 21:36:48 +00:00
Tom Hacohen 154beee6d1 Fix input types for the login page. 2017-12-04 21:36:27 +00:00
Tom Hacohen fddf39244d Add a contact page. 2017-12-04 19:22:39 +00:00
Tom Hacohen 2a6220e6d4 Make it possible to navigate between collection items and journal entries. 2017-12-04 19:22:39 +00:00
Tom Hacohen 6c96d7994f Improve the look of the journals page. 2017-12-04 19:22:39 +00:00
Tom Hacohen 336a07e065 Remove the old welcome to react header. 2017-12-04 19:22:39 +00:00
Tom Hacohen b668e6478a Organise calendars and address books in lists. 2017-12-04 19:22:39 +00:00
Tom Hacohen 3faa7b3ed6 Simplify calls to setState, apparently it already shallow merges. 2017-12-04 16:50:54 +00:00
Tom Hacohen f8ee484c3b Add some login form validation. 2017-12-04 16:00:31 +00:00
Tom Hacohen 516bdd2622 Improve log in look and feel. 2017-12-04 15:41:18 +00:00
Tom Hacohen 622805a5b6 Improve the look and feel of the login form. 2017-12-04 15:05:35 +00:00
Tom Hacohen ef92632885 Change to the production API and allow setting a custom server. 2017-12-04 14:45:01 +00:00
Tom Hacohen 0a05095da2 Home: redirect to the journals view. 2017-12-04 14:45:01 +00:00
Tom Hacohen d7c90ccb0a Move to material-ui. 2017-12-04 14:45:01 +00:00
Tom Hacohen 295867a439 Login form: add a missing prevent default. 2017-12-04 13:28:55 +00:00
Tom Hacohen 07c986b01d Add a very basic login page and cache the keys in session storage. 2017-12-03 23:49:16 +00:00
Tom Hacohen 2947607a45 Update type definitions for ICAL and fix type errors. 2017-12-03 22:30:42 +00:00
Tom Hacohen f5c31a3dbe Add views for actual collection items.
I.e calendar events and address book content.
2017-12-03 20:06:53 +00:00
Tom Hacohen 8c20687a72 Split away the journal list item view from the jorunal view. 2017-12-03 13:44:23 +00:00
Tom Hacohen e92a9c9961 Improve presentation of journal log. 2017-12-03 13:27:32 +00:00
Tom Hacohen 8087f2d3f4 Fix to previous commit: fix redirect to entries page. 2017-12-03 12:59:03 +00:00
Tom Hacohen d4c49c1f55 Load the actual journal from the journal page.
This fixes viewing journals with version != 1.
2017-12-01 18:37:33 +00:00
Tom Hacohen 25bf249d9f Improve journal page. 2017-12-01 18:15:08 +00:00
Tom Hacohen af921e1b28 Move the header back outside of the internal components. 2017-12-01 17:58:27 +00:00
Tom Hacohen 132f63e2a6 Move all of the etesync context to a separate place.
This means that encryption key derivation and token access
are not called as often.
2017-12-01 17:42:57 +00:00
Tom Hacohen 6f9c783159 Cleanup the route resolver a bit. 2017-12-01 16:26:11 +00:00
Tom Hacohen 7dd8248aab Added a hacky journal view.
A lot of code duplication.
2017-12-01 16:18:11 +00:00
Tom Hacohen 557e5ec0b4 Add basic routing. 2017-12-01 15:44:38 +00:00
Tom Hacohen b9798f1b13 Switch to the hash router for security.
This is needed to avoid accidentally leaking urls to the server.
2017-12-01 15:34:07 +00:00
Tom Hacohen bba3282def Add a basic journal list view. 2017-12-01 15:33:30 +00:00
Tom Hacohen 9fd1b31299 Fix journal not having version set.
This commit also cleans up the sharing between the json from the API and
the internal state of the object.
2017-12-01 15:16:36 +00:00
Tom Hacohen 11aa1ffd94 API: first verify, then try to decrypt! 2017-12-01 14:10:58 +00:00
Tom Hacohen e0cc13cfd2 Initial code import of the etesync encryption and service module
This will be a small library in the end, but at the moment it's in this
repo for convenience. It includes the etesync service, crypto and tests
to cover them.

The tests require a running debug etesync server.

To create one, just create a server from:
https://github.com/etesync/server-skeleton/

Set DEBUG to True, and create a test user with the credentials that are
listed in the test files.
2017-12-01 12:05:29 +00:00
Tom Hacohen 3a60a35a99 Initial commit. 2017-11-30 11:06:15 +00:00