18 Commits

Author SHA1 Message Date
73c27aec6a Fix packages/comments-common 2019-09-16 11:39:36 +07:00
92912af839 Fix packages/client 2019-09-16 00:44:21 +07:00
eebe26f706 Extract redux, http-types, http-client and test-utils 2019-09-10 17:56:25 +07:00
dffad844ad Rename scope @rondo to @rondo.dev 2019-08-25 11:33:06 +07:00
65f1703089 Add ability to load user votes on frontend 2019-04-08 13:34:19 +08:00
363b84699f Fix CRUDReducer bug when retrieving item that already exists 2019-04-03 23:51:38 +08:00
bc64a9bfa7 Load site on edit 2019-04-03 19:42:48 +08:00
b5c5ea81a9 Add Site to Application.tsx (untested) 2019-04-03 19:01:33 +08:00
91f47653bf Fix SiteForm properties 2019-04-03 17:50:27 +08:00
0b1cd203c3 Add sync actions to CRUDActions 2019-04-03 11:41:54 +08:00
264f5aba60 Add T prefix for all type defs 2019-04-02 16:22:38 +08:00
b8ff27128b Make query optional 2019-04-02 14:38:11 +08:00
2f17418753 Simplify CRUDReducer methods 2019-04-02 12:03:38 +08:00
580fb368e6 Simplify types for CRUDActions & CRUDReducer 2019-04-02 11:44:34 +08:00
8b6f90235e Use default action type and add status to async actions
Since TypeScript can infer types based on string types, it has became
easier to define a single constant of an action that returns a promise,
and then dispatch actions with different statuses: pending, resolved,
and/or rejected. This seems like more typing at first, but in the long
run it will become easier to write generic reducer methods, and the
names of reduced types will not have to be repeated every time.

For example, previously we had to write:

    type MyActionTypes =
      IAsyncAction<IUser, 'LOGIN_PENDING', 'LOGIN_RESOLVED', 'LOGIN_REJECTED'>
      | ...

And now we can write:

    type MyActionTypes =
      IAsyncAction<IUser, 'LOGIN'>
      | ...
2019-04-01 15:20:42 +08:00
73be64a900 Add packages/client/src/crud 2019-04-01 12:56:31 +08:00
eed79f35f2 Add start of test for crud 2019-03-28 19:35:09 +08:00
32b527d92f Add CRUDReducer 2019-03-27 19:10:35 +08:00