Tom Hacohen
34445be4b0
Improve container
2017-12-08 17:58:24 +00:00
Tom Hacohen
bfd5ba5d27
Split secondary header to its own component.
2017-12-08 17:57:57 +00:00
Tom Hacohen
f2dfae6d77
Slightly improve the look of the calendar page.
2017-12-08 17:35:50 +00:00
Tom Hacohen
7067824ccd
Improve the look of the contact page.
2017-12-08 17:34:48 +00:00
Tom Hacohen
1987ea126d
Use container all around to improve look.
2017-12-08 17:07:27 +00:00
Tom Hacohen
87a2493956
Fix crash on new devices.
2017-12-08 17:06:47 +00:00
Tom Hacohen
63a1b0286b
Improve the journal's look.
2017-12-08 16:55:13 +00:00
Tom Hacohen
56947722d3
Add a container component (like bootstrap's).
...
Just meant to help with sizing.
2017-12-08 16:54:49 +00:00
Tom Hacohen
3cfdb07b6a
Persist some component state on route changes.
2017-12-08 16:06:05 +00:00
Tom Hacohen
025bb57b35
Fix name of PimMain.
2017-12-08 13:31:15 +00:00
Tom Hacohen
c9cc26cf84
Pim Main keep tabs in state.
2017-12-08 12:34:48 +00:00
Tom Hacohen
d8a57b821b
Replace the hash router with the normal one.
...
The reason we need that is because it's lacking compared to the
hash one which is considered legacy.
2017-12-08 12:14:08 +00:00
Tom Hacohen
864dad372f
Make special types for events and calendars.
...
This will simplify extracting values and already removes some
redundancy.
2017-12-08 09:56:24 +00:00
Tom Hacohen
eb2075d0ec
Remove debug code.
2017-12-08 09:29:16 +00:00
Tom Hacohen
bb61ef3935
Improve presentation of events.
2017-12-08 00:23:46 +00:00
Tom Hacohen
d51dd7108b
Fix app test.
2017-12-07 23:05:04 +00:00
Tom Hacohen
6d83124376
Make the contact component throw an error if contact is undefined.
2017-12-07 22:59:43 +00:00
Tom Hacohen
3883cbad1c
Show a very basic event page when an event is clicked.
2017-12-07 22:59:04 +00:00
Tom Hacohen
9b96e37e44
Remove redundant div.
2017-12-07 22:43:46 +00:00
Tom Hacohen
62859c411e
Fix naming of the contact component.
2017-12-07 22:40:37 +00:00
Tom Hacohen
eaf7de1c47
Remove the react fragment hack.
2017-12-07 22:39:48 +00:00
Tom Hacohen
57d65bec0f
Make tel and email linkable in the contact view.
2017-12-07 22:37:17 +00:00
Tom Hacohen
588bec69cc
Clean up the sidemenu.
2017-12-07 21:29:07 +00:00
Tom Hacohen
25402639b6
Split off the pim view and implement viewing contacts.
2017-12-07 21:11:24 +00:00
Tom Hacohen
8e2a465120
Rename Main to Pim.
2017-12-07 21:10:40 +00:00
Tom Hacohen
c10a4cc924
Move the main page under pim and redirect there.
2017-12-07 20:53:33 +00:00
Tom Hacohen
590e8c61a9
Route resolver: make _base optional.
2017-12-07 20:46:26 +00:00
Tom Hacohen
97dc449953
Remove unused functions.
2017-12-07 20:33:33 +00:00
Tom Hacohen
68377ec0ac
Fix viewing journals.
2017-12-07 20:32:58 +00:00
Tom Hacohen
e310584e26
Split away the main view from the sync gate.
2017-12-07 20:17:19 +00:00
Tom Hacohen
5dacc4c013
Use the last entry id when fetching entries from server.
2017-12-07 20:06:26 +00:00
Tom Hacohen
4e9317a1ae
Remove redundant fetchJournals from sidebar.
2017-12-07 19:26:15 +00:00
Tom Hacohen
058bb6dca9
Persist cache in localforage
2017-12-07 19:15:40 +00:00
Tom Hacohen
fc42566486
Cleanup the calendar and render in the main page.
2017-12-07 17:28:48 +00:00
Tom Hacohen
425923aa6a
Get rid of the useless HOC.
2017-12-07 17:00:59 +00:00
Tom Hacohen
e6778f5ace
Make the sync gate render the complete address book.
2017-12-07 16:58:50 +00:00
Tom Hacohen
0a4b065c9c
Rename etesynccontext to root.
2017-12-07 16:09:48 +00:00
Tom Hacohen
9f5dd4f5ae
Remove journal list.
2017-12-07 15:51:15 +00:00
Tom Hacohen
596d414025
Make a higher order function that translates syncentries to an item map.
2017-12-07 15:49:15 +00:00
Tom Hacohen
ca49fc9eb5
Split the addressbook view from the syncentry handling code.
2017-12-07 15:18:26 +00:00
Tom Hacohen
cf19e003d1
Rename calendar and address book to have the jorunal prefix.
...
The reason for that is that they are tied to a journal.
2017-12-07 14:54:58 +00:00
Tom Hacohen
1663460bed
Put the journals in the sidemenu.
2017-12-07 11:47:07 +00:00
Tom Hacohen
92b8189190
Add fragment type.
2017-12-07 11:00:26 +00:00
Tom Hacohen
cb28259b24
List unsupported journals.
2017-12-07 01:06:35 +00:00
Tom Hacohen
e17aaaf79d
Simplify entries fetching reducer.
2017-12-07 00:55:58 +00:00
Tom Hacohen
e1bd0891fe
Rename some components to make more sense.
2017-12-07 00:51:46 +00:00
Tom Hacohen
134539a02b
Contact: remove extraneous dividers (in some cases)
2017-12-07 00:43:24 +00:00
Tom Hacohen
4e3ddcb29b
Move the location of the username in the appbar.
2017-12-07 00:36:18 +00:00
Tom Hacohen
529d96d026
JournalEntries: use the loading indicator.
2017-12-07 00:26:44 +00:00
Tom Hacohen
95724c08d8
Change JournalFetcher to be a container instead of a gate.
...
It now not only fetches the journals, but also holds all of the children
and passes them the journals.
2017-12-07 00:24:09 +00:00
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