11import { PayloadAction , createSlice } from '@reduxjs/toolkit' ;
22
33import { initialBackupState } from '../shapes/backup' ;
4- import { EBackupCategories } from '../utils/backup' ;
4+ import { EBackupCategory } from '../utils/backup' ;
55import { addPaidBlocktankOrder , updateBlocktankOrder } from './blocktank' ;
66import {
77 addLastUsedTag ,
@@ -17,6 +17,7 @@ import {
1717} from './metadata' ;
1818import { updateSettings } from './settings' ;
1919import { addContact , addContacts , deleteContact } from './slashtags' ;
20+ import { addTransfer , removeTransfer , updateTransfer } from './wallet' ;
2021import { setFeedWidget , deleteWidget } from './widgets' ;
2122import { updateActivityItems } from './activity' ;
2223import { EActivityType } from '../types/activity' ;
@@ -26,40 +27,58 @@ export const backupSlice = createSlice({
2627 initialState : initialBackupState ,
2728 reducers : {
2829 resetBackupState : ( ) => initialBackupState ,
29- backupStart : ( state , action : PayloadAction < { category : string } > ) => {
30+ requireBackup : ( state , action : PayloadAction < EBackupCategory > ) => {
31+ state [ action . payload ] . required = Date . now ( ) ;
32+ } ,
33+ backupStart : (
34+ state ,
35+ action : PayloadAction < { category : EBackupCategory } > ,
36+ ) => {
3037 const { category } = action . payload ;
3138 state [ category ] . running = true ;
3239 } ,
33- backupSuccess : ( state , action : PayloadAction < { category : string } > ) => {
40+ backupSuccess : (
41+ state ,
42+ action : PayloadAction < { category : EBackupCategory } > ,
43+ ) => {
3444 const { category } = action . payload ;
3545 state [ category ] . running = false ;
3646 state [ category ] . synced = Date . now ( ) ;
3747 } ,
38- backupError : ( state , action : PayloadAction < { category : string } > ) => {
48+ backupError : (
49+ state ,
50+ action : PayloadAction < { category : EBackupCategory } > ,
51+ ) => {
3952 const { category } = action . payload ;
4053 state [ category ] . running = false ;
4154 } ,
42- forceBackup : ( state , action : PayloadAction < { category : string } > ) => {
55+ forceBackup : (
56+ state ,
57+ action : PayloadAction < { category : EBackupCategory } > ,
58+ ) => {
4359 const { category } = action . payload ;
4460 state [ category ] . required = Date . now ( ) ;
4561 state [ category ] . running = true ;
4662 } ,
4763 } ,
4864 extraReducers : ( builder ) => {
4965 const blocktankReducer = ( state ) : void => {
50- state [ EBackupCategories . blocktank ] . required = Date . now ( ) ;
66+ state [ EBackupCategory . blocktank ] . required = Date . now ( ) ;
5167 } ;
5268 const metadataReducer = ( state ) : void => {
53- state [ EBackupCategories . metadata ] . required = Date . now ( ) ;
69+ state [ EBackupCategory . metadata ] . required = Date . now ( ) ;
5470 } ;
5571 const settingsReducer = ( state ) : void => {
56- state [ EBackupCategories . settings ] . required = Date . now ( ) ;
72+ state [ EBackupCategory . settings ] . required = Date . now ( ) ;
5773 } ;
5874 const slashtagsReducer = ( state ) : void => {
59- state [ EBackupCategories . slashtags ] . required = Date . now ( ) ;
75+ state [ EBackupCategory . slashtags ] . required = Date . now ( ) ;
76+ } ;
77+ const walletReducer = ( state ) : void => {
78+ state [ EBackupCategory . wallet ] . required = Date . now ( ) ;
6079 } ;
6180 const widgetsReducer = ( state ) : void => {
62- state [ EBackupCategories . widgets ] . required = Date . now ( ) ;
81+ state [ EBackupCategory . widgets ] . required = Date . now ( ) ;
6382 } ;
6483
6584 builder
@@ -79,6 +98,9 @@ export const backupSlice = createSlice({
7998 . addCase ( addContact , slashtagsReducer )
8099 . addCase ( addContacts , slashtagsReducer )
81100 . addCase ( deleteContact , slashtagsReducer )
101+ . addCase ( addTransfer , walletReducer )
102+ . addCase ( updateTransfer , walletReducer )
103+ . addCase ( removeTransfer , walletReducer )
82104 . addCase ( setFeedWidget , widgetsReducer )
83105 . addCase ( deleteWidget , widgetsReducer )
84106 . addCase ( updateActivityItems , ( state , action ) => {
@@ -87,7 +109,7 @@ export const backupSlice = createSlice({
87109 ( item ) => item . activityType === EActivityType . lightning ,
88110 ) ;
89111 if ( hasLnActivity ) {
90- state [ EBackupCategories . ldkActivity ] . required = Date . now ( ) ;
112+ state [ EBackupCategory . ldkActivity ] . required = Date . now ( ) ;
91113 }
92114 } ) ;
93115 } ,
@@ -97,6 +119,7 @@ const { actions, reducer } = backupSlice;
97119
98120export const {
99121 resetBackupState,
122+ requireBackup,
100123 backupStart,
101124 backupSuccess,
102125 backupError,
0 commit comments