Last active
December 6, 2023 09:18
-
-
Save alexkrolick/587ba8d82763575772dd42eb4e080e3b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "type": "excalidraw", | |
| "version": 1, | |
| "source": "https://excalidraw.com", | |
| "elements": [ | |
| { | |
| "id": "ir2uJYd1kGnEkhkF7W_wE", | |
| "type": "text", | |
| "x": -177.5, | |
| "y": -244.5, | |
| "width": 103, | |
| "height": 45, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1814948994, | |
| "version": 195, | |
| "versionNonce": 144395730, | |
| "isDeleted": false, | |
| "text": "Redux", | |
| "font": "36px Virgil", | |
| "textAlign": "left", | |
| "baseline": 32 | |
| }, | |
| { | |
| "id": "OkO9LIBDQV9f4jtfsLg2_", | |
| "type": "text", | |
| "x": 1044, | |
| "y": 34.5, | |
| "width": 105, | |
| "height": 45, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1207421570, | |
| "version": 96, | |
| "versionNonce": 1855230738, | |
| "isDeleted": false, | |
| "text": "React", | |
| "font": "36px Virgil", | |
| "textAlign": "left", | |
| "baseline": 32 | |
| }, | |
| { | |
| "id": "w0VN3-Ymhsp1nonqePdlD", | |
| "type": "text", | |
| "x": 246, | |
| "y": 254.5, | |
| "width": 328, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 844306206, | |
| "version": 174, | |
| "versionNonce": 1237018818, | |
| "isDeleted": false, | |
| "text": "createStore(reducer, initialState)", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "8fv9fLKEHe-WtjGvkcm8o", | |
| "type": "arrow", | |
| "x": 593, | |
| "y": 267, | |
| "width": 42, | |
| "height": 1, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 786816350, | |
| "version": 13, | |
| "versionNonce": 1303723614, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| 42, | |
| 1 | |
| ] | |
| ], | |
| "lastCommittedPoint": null | |
| }, | |
| { | |
| "id": "lVVJvGdiLXNN-kL59Kbti", | |
| "type": "text", | |
| "x": 654.5, | |
| "y": 242.5, | |
| "width": 75, | |
| "height": 35, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1174721180, | |
| "version": 42, | |
| "versionNonce": 998974876, | |
| "isDeleted": false, | |
| "text": "store", | |
| "font": "28px Virgil", | |
| "textAlign": "left", | |
| "baseline": 25 | |
| }, | |
| { | |
| "id": "ahA-XsBkOM4v6WVIWTrJG", | |
| "type": "text", | |
| "x": 363.5, | |
| "y": 462, | |
| "width": 267, | |
| "height": 50, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 634809252, | |
| "version": 368, | |
| "versionNonce": 1633619868, | |
| "isDeleted": false, | |
| "text": "Other stuff can subscribe!\nnot just React", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 43 | |
| }, | |
| { | |
| "id": "tY1o8XBosBNdV91fxq8PS", | |
| "type": "arrow", | |
| "x": 936, | |
| "y": 216, | |
| "width": 190, | |
| "height": 39, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1252212900, | |
| "version": 127, | |
| "versionNonce": 1673975836, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| -190, | |
| 39 | |
| ] | |
| ], | |
| "lastCommittedPoint": null | |
| }, | |
| { | |
| "id": "mdkt4Kfgg7raWrIUdxwDM", | |
| "type": "text", | |
| "x": 965, | |
| "y": 168.5, | |
| "width": 252, | |
| "height": 75, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 762332828, | |
| "version": 116, | |
| "versionNonce": 1180879780, | |
| "isDeleted": false, | |
| "text": "<Provider store={store}>\n <App />\n</Provider>", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 68 | |
| }, | |
| { | |
| "id": "yQim9eOfenrh2Pnn7HqCt", | |
| "type": "arrow", | |
| "x": 1083, | |
| "y": 206, | |
| "width": 93, | |
| "height": 93, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 902761508, | |
| "version": 244, | |
| "versionNonce": 625516580, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| 93, | |
| 93 | |
| ] | |
| ], | |
| "lastCommittedPoint": null | |
| }, | |
| { | |
| "id": "unm8ZpZsALaecix6YmHWv", | |
| "type": "text", | |
| "x": 1145, | |
| "y": 312, | |
| "width": 176, | |
| "height": 100, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 233369764, | |
| "version": 207, | |
| "versionNonce": 1781239460, | |
| "isDeleted": false, | |
| "text": "App Components:\n <UserPage />\n <Post />\n <Comments />", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 93 | |
| }, | |
| { | |
| "id": "xuugEnJcSAJwGGgJ6Bcmu", | |
| "type": "arrow", | |
| "x": 588, | |
| "y": 454, | |
| "width": 85, | |
| "height": 166, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1319789348, | |
| "version": 237, | |
| "versionNonce": 2112409362, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| 85, | |
| -166 | |
| ] | |
| ], | |
| "lastCommittedPoint": null | |
| }, | |
| { | |
| "id": "IBRnm7Uy2Oddmb2OILKNb", | |
| "type": "text", | |
| "x": 369.5, | |
| "y": 530.5, | |
| "width": 407, | |
| "height": 125, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 594033948, | |
| "version": 427, | |
| "versionNonce": 2046261134, | |
| "isDeleted": false, | |
| "text": "store.subscribe(onChange)\nonChange:\n store.getState() => newState\n // do stuff with state\n store.dispatch({ type: 'do/something' })", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 118 | |
| }, | |
| { | |
| "id": "5_UJUQg8WyFYr-i9RYhHV", | |
| "type": "text", | |
| "x": 563.5, | |
| "y": -86.5, | |
| "width": 231, | |
| "height": 225, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 458054692, | |
| "version": 346, | |
| "versionNonce": 154100380, | |
| "isDeleted": false, | |
| "text": "{ users: {\n sortedUserIds: [],\n usersById: {},\n },\n posts: {\n postsById: {},\n },\n comments: {/* ...? */}\n}", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 218 | |
| }, | |
| { | |
| "id": "h5TusHqVlQjnp87iz7NtS", | |
| "type": "text", | |
| "x": 485.5, | |
| "y": -143.5, | |
| "width": 423, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1536732444, | |
| "version": 64, | |
| "versionNonce": 609421476, | |
| "isDeleted": false, | |
| "text": "this is what a store state could look like:", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "xQhQz3vr-Ev4fFzaT6IPJ", | |
| "type": "text", | |
| "x": 1090.5, | |
| "y": 438, | |
| "width": 411, | |
| "height": 150, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 406738716, | |
| "version": 635, | |
| "versionNonce": 1079438884, | |
| "isDeleted": false, | |
| "text": "They can all read from the store\nand dispatch actions to it\nThe Provider component subscribes to \nthe store on their behalf and uses \nReact Context to tell them to re-render\nwhen a new state comes in.", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 143 | |
| }, | |
| { | |
| "id": "qw27P7sneu__kUcIr42xs", | |
| "type": "text", | |
| "x": 854, | |
| "y": 473.5, | |
| "width": 128, | |
| "height": 60, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1122842148, | |
| "version": 388, | |
| "versionNonce": 124689948, | |
| "isDeleted": false, | |
| "text": "this is what the\nreact-redux\nProvider does!", | |
| "font": "16px Virgil", | |
| "textAlign": "left", | |
| "baseline": 54 | |
| }, | |
| { | |
| "id": "AeLN70kTzVuNRb73jJ4hr", | |
| "type": "arrow", | |
| "x": 838, | |
| "y": 500, | |
| "width": 193, | |
| "height": 42, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1661867804, | |
| "version": 546, | |
| "versionNonce": 1363317404, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| -193, | |
| 42 | |
| ] | |
| ], | |
| "lastCommittedPoint": null | |
| }, | |
| { | |
| "id": "4Ee_ewtrVmtiF1FU-A_Wg", | |
| "type": "text", | |
| "x": 94, | |
| "y": 333, | |
| "width": 276, | |
| "height": 125, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 423704348, | |
| "version": 1057, | |
| "versionNonce": 1911546770, | |
| "isDeleted": false, | |
| "text": "store keeps track of\nall the subscribers and\ncalls the onchange functions\nthey gave it whenever it\nproduces a new state", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 118 | |
| }, | |
| { | |
| "id": "jkPPgwlOgE88QiSOeT1kh", | |
| "type": "text", | |
| "x": 853, | |
| "y": -60, | |
| "width": 248, | |
| "height": 40, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 104459804, | |
| "version": 184, | |
| "versionNonce": 1025368228, | |
| "isDeleted": false, | |
| "text": "any type of object can be used\nas state, even an array", | |
| "font": "16px Virgil", | |
| "textAlign": "left", | |
| "baseline": 34 | |
| }, | |
| { | |
| "id": "4j2uIve6MAdkF6NrE6yAc", | |
| "type": "text", | |
| "x": 1308.5, | |
| "y": -85.5, | |
| "width": 497, | |
| "height": 325, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 615762452, | |
| "version": 1322, | |
| "versionNonce": 1439421650, | |
| "isDeleted": false, | |
| "text": "react-redux helper functions:\n connect(...)(Component):\n takes a component and gives you\n a new component with the store\n state and action dispatchers mapped\n to the component's props, so it can use redux\n useDispatch:\n react hook that gives a component\n access to the store's dispatch method\n useSelector:\n react hook that gives a component\n access to the store state\n it takes a selector function", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 318 | |
| }, | |
| { | |
| "id": "VlgqHvYZ4yTCpwOyBxjVb", | |
| "type": "text", | |
| "x": -212.5, | |
| "y": -174.5, | |
| "width": 485, | |
| "height": 125, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1676261932, | |
| "version": 463, | |
| "versionNonce": 1526811263, | |
| "isDeleted": false, | |
| "text": "The store's reducer is a function that\ntakes the current state and an action\nand returns a new state\n\nall changes to the state go through the reducer", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 118 | |
| }, | |
| { | |
| "id": "EQsgbG3zuEsLGlEp1ZZ-a", | |
| "type": "text", | |
| "x": -195, | |
| "y": 18, | |
| "width": 464, | |
| "height": 200, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1200049292, | |
| "version": 542, | |
| "versionNonce": 223695890, | |
| "isDeleted": false, | |
| "text": "function reducer(state, action) {\n switch(action.type) {\n case 'posts/delete': {\n return { ...state, posts: { ...posts,\n postsById: state.postsById.filter(\n post => post.id != action.payload.id\n )}\n // ...", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 193 | |
| }, | |
| { | |
| "id": "esO41wqy1EkN-SrqdKcJ7", | |
| "type": "text", | |
| "x": -203.5, | |
| "y": -28.5, | |
| "width": 375, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1688570830, | |
| "version": 139, | |
| "versionNonce": 794991822, | |
| "isDeleted": false, | |
| "text": "this is what a reducer might look like:", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "CiKPzrT50o_9B21c3PBKW", | |
| "type": "arrow", | |
| "x": 501, | |
| "y": 245, | |
| "width": 47, | |
| "height": 98, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 2087078674, | |
| "version": 70, | |
| "versionNonce": 1455985422, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| 47, | |
| -98 | |
| ] | |
| ], | |
| "lastCommittedPoint": [ | |
| 47, | |
| -98 | |
| ] | |
| }, | |
| { | |
| "id": "9dSppE_XjIL12KwWOMlVj", | |
| "type": "arrow", | |
| "x": 421, | |
| "y": 255, | |
| "width": 140, | |
| "height": 139, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 808937038, | |
| "version": 93, | |
| "versionNonce": 700396430, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| -42, | |
| -99 | |
| ], | |
| [ | |
| -140, | |
| -139 | |
| ] | |
| ], | |
| "lastCommittedPoint": [ | |
| -140, | |
| -139 | |
| ] | |
| }, | |
| { | |
| "id": "CW0LZa1yfmDyE_YE2sdI-", | |
| "type": "text", | |
| "x": -153, | |
| "y": 514, | |
| "width": 303, | |
| "height": 200, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 311129934, | |
| "version": 165, | |
| "versionNonce": 249096078, | |
| "isDeleted": false, | |
| "text": "middlewares can accept\nbe attached to the store.\nthey take actions as they \nare called and can transform\nthem into other actions or\ndo side-effects (stuff\nthat doesn't affect the store\nitself, like log errors)", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 193 | |
| }, | |
| { | |
| "id": "AlVdmHZFQhwatMjOHZbui", | |
| "type": "text", | |
| "x": -206.5, | |
| "y": 288, | |
| "width": 251, | |
| "height": 100, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1880937678, | |
| "version": 102, | |
| "versionNonce": 938287310, | |
| "isDeleted": false, | |
| "text": "new states are produced\nby calling dispatch(action)\nand taking whatever the\nreducer function returns", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 93 | |
| }, | |
| { | |
| "id": "ISsTPSt6sZSmnXoP9mHx3", | |
| "type": "text", | |
| "x": 1595.5, | |
| "y": 279, | |
| "width": 411, | |
| "height": 350, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1448267342, | |
| "version": 599, | |
| "versionNonce": 1385410062, | |
| "isDeleted": false, | |
| "text": "Concepts\n\nSelectors\n a selector is function that takes\n the state and returns a derived value,\n often memoized for performance)\n * const selectAllPosts =\n (state) => state.posts\nImmutability\n most redux operations return\n new objects instead of modifying\n existing ones, because comparing\n object identity is the easiest\n way to tell if something has changed", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 343 | |
| }, | |
| { | |
| "id": "ZmXw-m3MdOoLGJghFCyUq", | |
| "type": "text", | |
| "x": -219, | |
| "y": 797.5, | |
| "width": 258, | |
| "height": 325, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 871856590, | |
| "version": 788, | |
| "versionNonce": 1508469010, | |
| "isDeleted": false, | |
| "text": "Actions = Events\n\nthe conventional format is\n{ type: \"\", payload: {}, }\n\n{\n type: \"users/get\",\n payload: { id: \"123\" }\n}\n\nthis format is useful\nfor key-value lookups\nand switch statements", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 318 | |
| }, | |
| { | |
| "id": "DgFvRWxbhf3aZhJO69MC4", | |
| "type": "text", | |
| "x": 277.5, | |
| "y": 737.5, | |
| "width": 531, | |
| "height": 425, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 22515154, | |
| "version": 1332, | |
| "versionNonce": 1515528274, | |
| "isDeleted": false, | |
| "text": "Thunk Middleware\nallows dispatching functions\ninstead of plain objects\nso that you can do multi-part flows\n\ndispatch((dispatch, getState) => {\n dispatch({\n type: 'user/get/started',\n payload: { id: 234 }\n })\n // use getState() in between\n // dispatches to read the latest\n // state\n getUserFromApi(payload.id)\n .then(() => dispatch({ type: 'user/get/ok' }))\n .catch(() => dispatch({ type: 'user/get/error' }))\n })", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 418 | |
| }, | |
| { | |
| "id": "ukhM-rVu6F2SRvYZwTGjc", | |
| "type": "text", | |
| "x": 961.5, | |
| "y": 746, | |
| "width": 565, | |
| "height": 550, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 675095378, | |
| "version": 1283, | |
| "versionNonce": 1845068818, | |
| "isDeleted": false, | |
| "text": "Action Creators\nutility functions that return something\nto dispatch\n\nconst updateUserName = ({ id, name }) => {\n return {\n type: 'user/updateName',\n payload: { id, name }\n }\n}\n\nalso works with thunks:\nconst getUser = ({ id }) => {\n return (dispatch, getState) => {\n // ... see inline example\n }\n}\n\n\nusing:\ndispatch(updateUserName({ id: '123', name: 'cleopatra' }))\ndispatch(getUser({ id: '234' }))", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 543 | |
| }, | |
| { | |
| "id": "KNyfSwcn6zgWqfb_6GAZM", | |
| "type": "arrow", | |
| "x": 807.1590412415565, | |
| "y": 1025.0107307040507, | |
| "width": 164.84095875844355, | |
| "height": 79.9892692959495, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 156723150, | |
| "version": 601, | |
| "versionNonce": 950779278, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 164.84095875844355, | |
| 79.9892692959495 | |
| ], | |
| [ | |
| 118.78245557593722, | |
| 75.92201831479953 | |
| ], | |
| [ | |
| 107.46984075918131, | |
| 43.38401046559972 | |
| ], | |
| [ | |
| 98.58135768887308, | |
| 17.624754251649847 | |
| ], | |
| [ | |
| 67.87568890053554, | |
| 2.711500654099965 | |
| ], | |
| [ | |
| 0, | |
| 0 | |
| ] | |
| ], | |
| "lastCommittedPoint": [ | |
| 204, | |
| 118 | |
| ] | |
| }, | |
| { | |
| "id": "1b3dcvItKPZcb34ukZs0R", | |
| "type": "line", | |
| "x": -86, | |
| "y": 1388, | |
| "width": 1570, | |
| "height": 0, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1408855950, | |
| "version": 207, | |
| "versionNonce": 1704898847, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| 1570, | |
| 0 | |
| ] | |
| ], | |
| "lastCommittedPoint": null | |
| }, | |
| { | |
| "id": "2AIItoIcWnnd60VW94OG8", | |
| "type": "rectangle", | |
| "x": -44, | |
| "y": 1495, | |
| "width": 188, | |
| "height": 137, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 82444174, | |
| "version": 139, | |
| "versionNonce": 1902605905, | |
| "isDeleted": false | |
| }, | |
| { | |
| "id": "HgvsACLnMSSHy3HYVZEXx", | |
| "type": "text", | |
| "x": -43, | |
| "y": 1462.5, | |
| "width": 56, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 951024398, | |
| "version": 47, | |
| "versionNonce": 1897378446, | |
| "isDeleted": false, | |
| "text": "state", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "uoNnRfJaT5MEttrS1ff0v", | |
| "type": "rectangle", | |
| "x": -71, | |
| "y": 1457, | |
| "width": 246, | |
| "height": 200, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1343061503, | |
| "version": 210, | |
| "versionNonce": 209057297, | |
| "isDeleted": false | |
| }, | |
| { | |
| "id": "XwSxALyY_3I0ZMcOket9B", | |
| "type": "text", | |
| "x": -69.5, | |
| "y": 1419.5, | |
| "width": 53, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1211905279, | |
| "version": 40, | |
| "versionNonce": 15176095, | |
| "isDeleted": false, | |
| "text": "store", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "x-Sc5FAPE-CSOgCRZGIyN", | |
| "type": "diamond", | |
| "x": 391, | |
| "y": 1472, | |
| "width": 67, | |
| "height": 67, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1699480849, | |
| "version": 80, | |
| "versionNonce": 1135037905, | |
| "isDeleted": false | |
| }, | |
| { | |
| "id": "H6EleGNPO2-23xpvbIqee", | |
| "type": "text", | |
| "x": 383, | |
| "y": 1426.5, | |
| "width": 80, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1655619135, | |
| "version": 106, | |
| "versionNonce": 1954358001, | |
| "isDeleted": false, | |
| "text": "Provider", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "AMBucJU6YY-vVlaK1K5vJ", | |
| "type": "line", | |
| "x": 462, | |
| "y": 1506, | |
| "width": 139, | |
| "height": 49, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1312260273, | |
| "version": 35, | |
| "versionNonce": 860323505, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| 139, | |
| -49 | |
| ] | |
| ], | |
| "lastCommittedPoint": null | |
| }, | |
| { | |
| "id": "u3gMhHlvfTFeO5T2Iv-Wa", | |
| "type": "line", | |
| "x": 468, | |
| "y": 1508, | |
| "width": 127, | |
| "height": 73, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 130638783, | |
| "version": 141, | |
| "versionNonce": 939015025, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| 127, | |
| 73 | |
| ] | |
| ], | |
| "lastCommittedPoint": null | |
| }, | |
| { | |
| "id": "K2RY2UcwD-xDa8JmU9EP-", | |
| "type": "text", | |
| "x": 615.5, | |
| "y": 1443.5, | |
| "width": 91, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1669556913, | |
| "version": 94, | |
| "versionNonce": 543522431, | |
| "isDeleted": false, | |
| "text": "PostPage", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "kz3Uo_hzyegVy_Mrtxu4U", | |
| "type": "text", | |
| "x": 608.5, | |
| "y": 1571.5, | |
| "width": 193, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 517336625, | |
| "version": 180, | |
| "versionNonce": 1785603071, | |
| "isDeleted": false, | |
| "text": "FavoritePostButton", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "HdfMpkMSfvO4zjPbSRZNX", | |
| "type": "line", | |
| "x": 181, | |
| "y": 1505, | |
| "width": 196, | |
| "height": 0, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 5174239, | |
| "version": 60, | |
| "versionNonce": 206866961, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| 196, | |
| 0 | |
| ] | |
| ], | |
| "lastCommittedPoint": null | |
| }, | |
| { | |
| "id": "dULwcI7p5ut6I9GqC88SX", | |
| "type": "text", | |
| "x": -38.5, | |
| "y": 1495.5, | |
| "width": 167, | |
| "height": 125, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1420966591, | |
| "version": 194, | |
| "versionNonce": 587052657, | |
| "isDeleted": false, | |
| "text": "posts\n 1: {\n message: 'hi',\n isFave: false\n }", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 118 | |
| }, | |
| { | |
| "id": "tSUWpuy4WdvEXS2XmzD03", | |
| "type": "text", | |
| "x": 729, | |
| "y": 1443.5, | |
| "width": 34, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1604954353, | |
| "version": 120, | |
| "versionNonce": 1739992785, | |
| "isDeleted": false, | |
| "text": "id: 1", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "58LrCxGfComT64b1P-g98", | |
| "type": "text", | |
| "x": 649.5, | |
| "y": 1477.5, | |
| "width": 337, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1937751569, | |
| "version": 245, | |
| "versionNonce": 1743851807, | |
| "isDeleted": false, | |
| "text": "post = useSelector(selectPost(id))", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "0dgM25ah1RDpjD-199ayJ", | |
| "type": "text", | |
| "x": 648.5, | |
| "y": 1598, | |
| "width": 337, | |
| "height": 50, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1334268465, | |
| "version": 290, | |
| "versionNonce": 153573663, | |
| "isDeleted": false, | |
| "text": "post = useSelector(selectPost(id))\ndispatch = useDispatch()", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 43 | |
| }, | |
| { | |
| "id": "-1lTgDZFjaXMS_OVcR978", | |
| "type": "text", | |
| "x": 1075.5, | |
| "y": 1452.5, | |
| "width": 445, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1169203409, | |
| "version": 227, | |
| "versionNonce": 431159103, | |
| "isDeleted": false, | |
| "text": "selectPost = id => state => state.posts[id]", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "2rq5SRDuc4B7K-3c7Z4tS", | |
| "type": "text", | |
| "x": 813, | |
| "y": 1569.5, | |
| "width": 34, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 2097970751, | |
| "version": 28, | |
| "versionNonce": 604803935, | |
| "isDeleted": false, | |
| "text": "id: 1", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "Ji-z7uNQ--fMjMYbLeJJN", | |
| "type": "text", | |
| "x": 649.5, | |
| "y": 1519.5, | |
| "width": 227, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1946839679, | |
| "version": 134, | |
| "versionNonce": 1641059153, | |
| "isDeleted": false, | |
| "text": "{post.message} // \"hi\"", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "7Z2eMKuvGVdYlVEjF0_iy", | |
| "type": "text", | |
| "x": 648, | |
| "y": 1657, | |
| "width": 338, | |
| "height": 80, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1150872849, | |
| "version": 507, | |
| "versionNonce": 2102355665, | |
| "isDeleted": false, | |
| "text": "{post.isFave ? ♥︎ : ♡} // \"♡\"\nonClick =\n () => dispatch(favePost(post.id))", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 73 | |
| }, | |
| { | |
| "id": "ubOB8lSOkq0MjrlmdM4bp", | |
| "type": "text", | |
| "x": 1047.5, | |
| "y": 1413.5, | |
| "width": 93, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1320972415, | |
| "version": 53, | |
| "versionNonce": 1106548817, | |
| "isDeleted": false, | |
| "text": "Selectors", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "1gyd4x_oNRhXGjyzsXIGD", | |
| "type": "text", | |
| "x": 1048.5, | |
| "y": 1503.5, | |
| "width": 163, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1277972049, | |
| "version": 123, | |
| "versionNonce": 1121875185, | |
| "isDeleted": false, | |
| "text": "Action Creators", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "makIwsOgllyV5zVsjn64j", | |
| "type": "text", | |
| "x": 1080.5, | |
| "y": 1544.5, | |
| "width": 555, | |
| "height": 325, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 614288159, | |
| "version": 738, | |
| "versionNonce": 17963569, | |
| "isDeleted": false, | |
| "text": "favePost = (id) =>\n async (dispatch, getState) => {\n let res, err;\n try {\n res = await POST('/api/posts/${id}/fave')\n } catch(err) {\n err = error\n dispatch({ type: 'posts/fave/err', payload: {id} })\n }\n if (res && !err) {\n dispatch({ type: 'posts/fave/ok', payload: {id} })\n }\n }", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 318 | |
| }, | |
| { | |
| "id": "q0CqVVIxji0LT89wAnX28", | |
| "type": "rectangle", | |
| "x": -44.75, | |
| "y": 1886.75, | |
| "width": 188, | |
| "height": 137, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1218074353, | |
| "version": 230, | |
| "versionNonce": 218787921, | |
| "isDeleted": false | |
| }, | |
| { | |
| "id": "klh9g8dlBaK3X61xCliN5", | |
| "type": "text", | |
| "x": -43.75, | |
| "y": 1854.25, | |
| "width": 56, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1712295071, | |
| "version": 138, | |
| "versionNonce": 1934637375, | |
| "isDeleted": false, | |
| "text": "state", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "Z3atQFDEEYVocqXrJSkjU", | |
| "type": "rectangle", | |
| "x": -71.75, | |
| "y": 1848.75, | |
| "width": 246, | |
| "height": 319.25000000000006, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1844728017, | |
| "version": 602, | |
| "versionNonce": 1275505311, | |
| "isDeleted": false | |
| }, | |
| { | |
| "id": "jw4T00Baynirip6ApUrtB", | |
| "type": "text", | |
| "x": -70.25, | |
| "y": 1811.25, | |
| "width": 53, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1456644287, | |
| "version": 131, | |
| "versionNonce": 479508831, | |
| "isDeleted": false, | |
| "text": "store", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "2xoUQe2aAyLg8OpZuyOZb", | |
| "type": "diamond", | |
| "x": 390.25, | |
| "y": 1863.75, | |
| "width": 67, | |
| "height": 67, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 766774961, | |
| "version": 171, | |
| "versionNonce": 792023057, | |
| "isDeleted": false | |
| }, | |
| { | |
| "id": "F9REhVXGggGGi9FK4dwBV", | |
| "type": "text", | |
| "x": 382.25, | |
| "y": 1818.25, | |
| "width": 80, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1113469151, | |
| "version": 197, | |
| "versionNonce": 93599103, | |
| "isDeleted": false, | |
| "text": "Provider", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "mDsUw8_KiIWwxarpnODB_", | |
| "type": "line", | |
| "x": 461.25, | |
| "y": 1897.75, | |
| "width": 139, | |
| "height": 49, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1048645777, | |
| "version": 127, | |
| "versionNonce": 1915697247, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| 139, | |
| -49 | |
| ] | |
| ], | |
| "lastCommittedPoint": null | |
| }, | |
| { | |
| "id": "Fe51mfus0H85dVs-rp8ML", | |
| "type": "line", | |
| "x": 467.25, | |
| "y": 1899.75, | |
| "width": 127, | |
| "height": 73, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 843234559, | |
| "version": 232, | |
| "versionNonce": 1972317599, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| 127, | |
| 73 | |
| ] | |
| ], | |
| "lastCommittedPoint": null | |
| }, | |
| { | |
| "id": "XD4pbVCVonxvBkxLh6BLQ", | |
| "type": "text", | |
| "x": 614.75, | |
| "y": 1835.25, | |
| "width": 91, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 370333297, | |
| "version": 185, | |
| "versionNonce": 1350254545, | |
| "isDeleted": false, | |
| "text": "PostPage", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "F8pEJdHhnXCND4oVIvz1B", | |
| "type": "text", | |
| "x": 607.75, | |
| "y": 1963.25, | |
| "width": 193, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 704693535, | |
| "version": 271, | |
| "versionNonce": 2008424895, | |
| "isDeleted": false, | |
| "text": "FavoritePostButton", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "siivrU-R7GkoLL78gyXOg", | |
| "type": "line", | |
| "x": 180.25, | |
| "y": 1896.75, | |
| "width": 196, | |
| "height": 0, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 120643665, | |
| "version": 151, | |
| "versionNonce": 528817585, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| 196, | |
| 0 | |
| ] | |
| ], | |
| "lastCommittedPoint": null | |
| }, | |
| { | |
| "id": "-9NcCBZlKDw4QXx6nbfqK", | |
| "type": "text", | |
| "x": -39.25, | |
| "y": 1887.25, | |
| "width": 167, | |
| "height": 125, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1762183487, | |
| "version": 285, | |
| "versionNonce": 1563005407, | |
| "isDeleted": false, | |
| "text": "posts\n 1: {\n message: 'hi',\n isFave: false\n }", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 118 | |
| }, | |
| { | |
| "id": "_VSpoGRZg8_XkyWw0OF0A", | |
| "type": "text", | |
| "x": 728.25, | |
| "y": 1835.25, | |
| "width": 34, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 531803697, | |
| "version": 211, | |
| "versionNonce": 290996113, | |
| "isDeleted": false, | |
| "text": "id: 1", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "cg36XGP8AT_4LnYfoyWQ7", | |
| "type": "text", | |
| "x": 812.25, | |
| "y": 1961.25, | |
| "width": 34, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 845727103, | |
| "version": 119, | |
| "versionNonce": 1076356639, | |
| "isDeleted": false, | |
| "text": "id: 1", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "DKVQpJ3Vyw9dIkUeuZzif", | |
| "type": "text", | |
| "x": 645.5, | |
| "y": 1869.5, | |
| "width": 27, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1699646353, | |
| "version": 10, | |
| "versionNonce": 1847008863, | |
| "isDeleted": false, | |
| "text": "\"hi\"", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "HDmbiHblINfpWe0UfAc8K", | |
| "type": "text", | |
| "x": 641.5, | |
| "y": 2004, | |
| "width": 43, | |
| "height": 30, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1597971089, | |
| "version": 26, | |
| "versionNonce": 738509823, | |
| "isDeleted": false, | |
| "text": " \"♡\"", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 23 | |
| }, | |
| { | |
| "id": "WMyCMVdEvOkcdSWXhTtKD", | |
| "type": "text", | |
| "x": 711, | |
| "y": 2011.5, | |
| "width": 74, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1881308191, | |
| "version": 39, | |
| "versionNonce": 1910866321, | |
| "isDeleted": false, | |
| "text": "CLICK!", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "uEeT05L4V3BmsvKYgNoz_", | |
| "type": "arrow", | |
| "x": 799, | |
| "y": 2023, | |
| "width": 663, | |
| "height": 81, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1282624529, | |
| "version": 411, | |
| "versionNonce": 324192735, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| 46, | |
| 29 | |
| ], | |
| [ | |
| 17, | |
| 67 | |
| ], | |
| [ | |
| -109, | |
| 76 | |
| ], | |
| [ | |
| -276, | |
| 0 | |
| ], | |
| [ | |
| -617, | |
| -5 | |
| ] | |
| ], | |
| "lastCommittedPoint": [ | |
| -617, | |
| -5 | |
| ] | |
| }, | |
| { | |
| "id": "B0Y6xDOFXE2mvYNWzms19", | |
| "type": "text", | |
| "x": 248, | |
| "y": 2063.5, | |
| "width": 240, | |
| "height": 75, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 394168209, | |
| "version": 667, | |
| "versionNonce": 967199391, | |
| "isDeleted": false, | |
| "text": "{ type: 'posts/fave/ok',\n payload: {id: 1}\n }", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 68 | |
| }, | |
| { | |
| "id": "97t9WWa51vUhEvR_bmaDw", | |
| "type": "rectangle", | |
| "x": -40, | |
| "y": 2341.625, | |
| "width": 188, | |
| "height": 137, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1844701791, | |
| "version": 312, | |
| "versionNonce": 666200383, | |
| "isDeleted": false | |
| }, | |
| { | |
| "id": "yZdK53793f1br8NzejUdt", | |
| "type": "text", | |
| "x": -39, | |
| "y": 2309.125, | |
| "width": 56, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 190689041, | |
| "version": 220, | |
| "versionNonce": 1738542641, | |
| "isDeleted": false, | |
| "text": "state", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "TupIC35dSovIfSp_oiffa", | |
| "type": "rectangle", | |
| "x": -67, | |
| "y": 2303.625, | |
| "width": 246, | |
| "height": 200, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 635782783, | |
| "version": 383, | |
| "versionNonce": 1825827167, | |
| "isDeleted": false | |
| }, | |
| { | |
| "id": "QRsoLXFTLiapd5Si_9LLq", | |
| "type": "text", | |
| "x": -65.5, | |
| "y": 2266.125, | |
| "width": 53, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 181904625, | |
| "version": 213, | |
| "versionNonce": 1774264337, | |
| "isDeleted": false, | |
| "text": "store", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "f4jlOWCjdaqGcOz1MZm4w", | |
| "type": "diamond", | |
| "x": 395, | |
| "y": 2318.625, | |
| "width": 67, | |
| "height": 67, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1805000351, | |
| "version": 253, | |
| "versionNonce": 1718445439, | |
| "isDeleted": false | |
| }, | |
| { | |
| "id": "vlGRUNfk_OCwxIAeSvb_8", | |
| "type": "text", | |
| "x": 387, | |
| "y": 2273.125, | |
| "width": 80, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1465376465, | |
| "version": 279, | |
| "versionNonce": 228914673, | |
| "isDeleted": false, | |
| "text": "Provider", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "zW82TCpHrP4KqgkGQyyoG", | |
| "type": "text", | |
| "x": 619.5, | |
| "y": 2290.125, | |
| "width": 91, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1088963295, | |
| "version": 267, | |
| "versionNonce": 2013483455, | |
| "isDeleted": false, | |
| "text": "PostPage", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "65yF6j2ZpU0g6Xa6ZNOFt", | |
| "type": "text", | |
| "x": 612.5, | |
| "y": 2418.125, | |
| "width": 193, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1389960849, | |
| "version": 353, | |
| "versionNonce": 2044915121, | |
| "isDeleted": false, | |
| "text": "FavoritePostButton", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "0otaeoVW4AYQe_sEVFMqz", | |
| "type": "text", | |
| "x": -34.5, | |
| "y": 2342.125, | |
| "width": 167, | |
| "height": 125, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1077486705, | |
| "version": 375, | |
| "versionNonce": 529975007, | |
| "isDeleted": false, | |
| "text": "posts\n 1: {\n message: 'hi',\n isFave: true\n }", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 118 | |
| }, | |
| { | |
| "id": "HQJSoFu87Z0hkGncEgeWF", | |
| "type": "text", | |
| "x": 733, | |
| "y": 2290.125, | |
| "width": 34, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1454266143, | |
| "version": 293, | |
| "versionNonce": 1371221503, | |
| "isDeleted": false, | |
| "text": "id: 1", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "T8QIQcCWQlkuxHU6LySQc", | |
| "type": "text", | |
| "x": 817, | |
| "y": 2416.125, | |
| "width": 34, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1935502929, | |
| "version": 201, | |
| "versionNonce": 492172657, | |
| "isDeleted": false, | |
| "text": "id: 1", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "AK8rGG1lI9kPF8322uQUS", | |
| "type": "text", | |
| "x": 650.25, | |
| "y": 2324.375, | |
| "width": 27, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 238295871, | |
| "version": 92, | |
| "versionNonce": 54728223, | |
| "isDeleted": false, | |
| "text": "\"hi\"", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "oH_rsOfTu4XlozUnrvLyh", | |
| "type": "text", | |
| "x": 651.25, | |
| "y": 2457.875, | |
| "width": 33, | |
| "height": 30, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 857570353, | |
| "version": 111, | |
| "versionNonce": 592988337, | |
| "isDeleted": false, | |
| "text": "\"♥︎\"", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 23 | |
| }, | |
| { | |
| "id": "TrY2uY5jLZOsUzTmgCzPt", | |
| "type": "arrow", | |
| "x": 192, | |
| "y": 2354, | |
| "width": 194, | |
| "height": 0, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 2074582015, | |
| "version": 88, | |
| "versionNonce": 1813169585, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| 194, | |
| 0 | |
| ] | |
| ], | |
| "lastCommittedPoint": null | |
| }, | |
| { | |
| "id": "MbHaznW__-xoSty45oUar", | |
| "type": "text", | |
| "x": 217.5, | |
| "y": 2324.5, | |
| "width": 109, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 456917215, | |
| "version": 51, | |
| "versionNonce": 151352977, | |
| "isDeleted": false, | |
| "text": "new state!", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "nSsE9WbopAQoPWYcgPaaC", | |
| "type": "text", | |
| "x": 364.5, | |
| "y": 2397, | |
| "width": 133, | |
| "height": 20, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 944337553, | |
| "version": 98, | |
| "versionNonce": 311886545, | |
| "isDeleted": false, | |
| "text": "store.getState()", | |
| "font": "16px Virgil", | |
| "textAlign": "left", | |
| "baseline": 14 | |
| }, | |
| { | |
| "id": "Ah08vYtl9Jke7eqXF700s", | |
| "type": "arrow", | |
| "x": 477.5, | |
| "y": 2354, | |
| "width": 121, | |
| "height": 70, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 793865713, | |
| "version": 224, | |
| "versionNonce": 847498961, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| 121, | |
| 70 | |
| ] | |
| ], | |
| "lastCommittedPoint": null | |
| }, | |
| { | |
| "id": "FpqIlciE_BtOvKOxboUZw", | |
| "type": "line", | |
| "x": 473.5, | |
| "y": 2349.5, | |
| "width": 134, | |
| "height": 47, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 2095057791, | |
| "version": 323, | |
| "versionNonce": 577520063, | |
| "isDeleted": false, | |
| "points": [ | |
| [ | |
| 0, | |
| 0 | |
| ], | |
| [ | |
| 134, | |
| -47 | |
| ] | |
| ], | |
| "lastCommittedPoint": null | |
| }, | |
| { | |
| "id": "GDv3yxIV7Lx5BAKXUCeOG", | |
| "type": "text", | |
| "x": 684.5, | |
| "y": 2057, | |
| "width": 149, | |
| "height": 40, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1825324657, | |
| "version": 180, | |
| "versionNonce": 2084168735, | |
| "isDeleted": false, | |
| "text": "api call triggered...\nsuccess!", | |
| "font": "16px Virgil", | |
| "textAlign": "left", | |
| "baseline": 34 | |
| }, | |
| { | |
| "id": "HZTCirpLRLh7PJ5c9T11l", | |
| "type": "text", | |
| "x": -50.5, | |
| "y": 2038.5, | |
| "width": 71, | |
| "height": 25, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 1961258591, | |
| "version": 46, | |
| "versionNonce": 793842641, | |
| "isDeleted": false, | |
| "text": "reducer", | |
| "font": "20px Virgil", | |
| "textAlign": "left", | |
| "baseline": 18 | |
| }, | |
| { | |
| "id": "40RLAoKRbxEZLCvZrnI2K", | |
| "type": "text", | |
| "x": -50.5, | |
| "y": 2076, | |
| "width": 217, | |
| "height": 80, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 2083007807, | |
| "version": 359, | |
| "versionNonce": 270855135, | |
| "isDeleted": false, | |
| "text": "case 'posts/fave/ok':\n id = action.payload.id\n state\n .posts[id].isFave = true", | |
| "font": "16px Virgil", | |
| "textAlign": "left", | |
| "baseline": 74 | |
| }, | |
| { | |
| "id": "y7XZ4OwHXMtxSHi_ZsJ0z", | |
| "type": "text", | |
| "x": 247.5, | |
| "y": 2032, | |
| "width": 123, | |
| "height": 20, | |
| "angle": 0, | |
| "strokeColor": "#000000", | |
| "backgroundColor": "transparent", | |
| "fillStyle": "hachure", | |
| "strokeWidth": 1, | |
| "roughness": 1, | |
| "opacity": 100, | |
| "seed": 530129009, | |
| "version": 164, | |
| "versionNonce": 1792949151, | |
| "isDeleted": false, | |
| "text": "dispatch(action)", | |
| "font": "16px Virgil", | |
| "textAlign": "left", | |
| "baseline": 14 | |
| } | |
| ], | |
| "appState": { | |
| "viewBackgroundColor": "#ffffff" | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
