[ABANDONED] React/Redux front end for the Flexor social network.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.5 KiB

5 years ago
  1. // lists.ts
  2. // Copyright (C) 2020 Dwayne Harris
  3. // This program is free software: you can redistribute it and/or modify
  4. // it under the terms of the GNU General Public License as published by
  5. // the Free Software Foundation, either version 3 of the License, or
  6. // (at your option) any later version.
  7. // This program is distributed in the hope that it will be useful,
  8. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. // GNU General Public License for more details.
  11. // You should have received a copy of the GNU General Public License
  12. // along with this program. If not, see <https://www.gnu.org/licenses/>.
  13. import { Action } from 'redux'
  14. export interface ListAppendAction extends Action {
  15. type: 'LISTS_APPEND'
  16. payload: {
  17. key: string
  18. entities: string[]
  19. continuation?: string
  20. }
  21. }
  22. export interface ListSetAction extends Action {
  23. type: 'LISTS_SET'
  24. payload: {
  25. key: string
  26. entities: string[]
  27. continuation?: string
  28. }
  29. }
  30. export type ListsActions = ListAppendAction | ListSetAction
  31. export const listAppend = (key: string, entities: string[], continuation?: string): ListAppendAction => ({
  32. type: 'LISTS_APPEND',
  33. payload: {
  34. key,
  35. entities,
  36. continuation,
  37. },
  38. })
  39. export const listSet = (key: string, entities: string[], continuation?: string): ListSetAction => ({
  40. type: 'LISTS_SET',
  41. payload: {
  42. key,
  43. entities,
  44. continuation,
  45. },
  46. })