mirror of https://gitlab.com/ceda_ei/sonzai.git
Add ADD_SUBJECT and REMOVE_SUBJECT action creators and reducer.
This commit is contained in:
parent
4ddcabb62a
commit
0508970fa0
|
@ -0,0 +1,15 @@
|
|||
export function addSubject(subject) {
|
||||
return {
|
||||
type: "ADD_SUBJECT",
|
||||
subject: subject
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
export function removeSubject(id) {
|
||||
return {
|
||||
type: "REMOVE_SUBJECT",
|
||||
id: id
|
||||
};
|
||||
}
|
||||
|
|
@ -11,9 +11,11 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@react-native-community/async-storage": "^1.8.1",
|
||||
"buffer": "^5.5.0",
|
||||
"react": "16.9.0",
|
||||
"react-native": "0.61.5",
|
||||
"react-native-paper": "^3.6.0",
|
||||
"react-native-uuid": "^1.4.9",
|
||||
"react-native-vector-icons": "^6.6.0",
|
||||
"react-redux": "^7.2.0",
|
||||
"redux": "^4.0.5",
|
||||
|
|
|
@ -1,5 +1,14 @@
|
|||
export default function subjects(state) {
|
||||
import { v4 } from "react-native-uuid";
|
||||
|
||||
export default function subjects(state, action) {
|
||||
if (typeof state === "undefined")
|
||||
return [];
|
||||
return state;
|
||||
switch(action.type) {
|
||||
case "ADD_SUBJECT":
|
||||
return [ ...state, { name: action.subject, id: v4() } ];
|
||||
case "REMOVE_SUBJECT":
|
||||
return state.filter(item => item.id != action.id);
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
}
|
||||
|
|
31
yarn.lock
31
yarn.lock
|
@ -1509,7 +1509,7 @@ balanced-match@^1.0.0:
|
|||
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
|
||||
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
|
||||
|
||||
base64-js@^1.1.2, base64-js@^1.2.3:
|
||||
base64-js@^1.0.2, base64-js@^1.1.2, base64-js@^1.2.3:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
|
||||
integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==
|
||||
|
@ -1620,6 +1620,14 @@ buffer-from@^1.0.0:
|
|||
resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
|
||||
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
|
||||
|
||||
buffer@^5.5.0:
|
||||
version "5.5.0"
|
||||
resolved "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz#9c3caa3d623c33dd1c7ef584b89b88bf9c9bc1ce"
|
||||
integrity sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==
|
||||
dependencies:
|
||||
base64-js "^1.0.2"
|
||||
ieee754 "^1.1.4"
|
||||
|
||||
bytes@3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
|
||||
|
@ -3042,6 +3050,11 @@ iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@~0.4.13:
|
|||
dependencies:
|
||||
safer-buffer ">= 2.1.2 < 3"
|
||||
|
||||
ieee754@^1.1.4:
|
||||
version "1.1.13"
|
||||
resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
|
||||
integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
|
||||
|
||||
ignore@^4.0.6:
|
||||
version "4.0.6"
|
||||
resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
|
||||
|
@ -5097,6 +5110,13 @@ qs@~6.5.2:
|
|||
resolved "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
|
||||
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
|
||||
|
||||
randombytes@^2.0.3:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
|
||||
integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
|
||||
dependencies:
|
||||
safe-buffer "^5.1.0"
|
||||
|
||||
range-parser@~1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
|
||||
|
@ -5131,6 +5151,13 @@ react-native-safe-area-view@^0.14.6:
|
|||
dependencies:
|
||||
hoist-non-react-statics "^2.3.1"
|
||||
|
||||
react-native-uuid@^1.4.9:
|
||||
version "1.4.9"
|
||||
resolved "https://registry.npmjs.org/react-native-uuid/-/react-native-uuid-1.4.9.tgz#a526742f8fddfe6414500655212ca8d109c40229"
|
||||
integrity sha1-pSZ0L4/d/mQUUAZVISyo0QnEAik=
|
||||
dependencies:
|
||||
randombytes "^2.0.3"
|
||||
|
||||
react-native-vector-icons@^6.6.0:
|
||||
version "6.6.0"
|
||||
resolved "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-6.6.0.tgz#66cf004918eb05d90778d64bd42077c1800d481b"
|
||||
|
@ -5533,7 +5560,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
|
|||
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
|
||||
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
||||
|
||||
safe-buffer@^5.0.1, safe-buffer@^5.1.2:
|
||||
safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
|
||||
integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
|
||||
|
|
Loading…
Reference in New Issue