Add memes views & searching

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2023-07-23 20:20:11 +03:00
parent e44ee7de34
commit 04661ca356
28 changed files with 737 additions and 247 deletions

View File

@@ -11,11 +11,15 @@ import { RootState } from '.';
interface SettingsState {
storageUri: string | undefined;
noMedia: boolean;
masonryColumns: 1 | 2 | 3 | 4;
gridColumns: 1 | 2 | 3 | 4;
}
const initialState: SettingsState = {
storageUri: undefined,
noMedia: false,
masonryColumns: 2,
gridColumns: 3,
};
const settingsSlice = createSlice({
@@ -28,10 +32,17 @@ const settingsSlice = createSlice({
setNoMedia: (state, action: PayloadAction<boolean>) => {
state.noMedia = action.payload;
},
setMasonryColumns: (state, action: PayloadAction<1 | 2 | 3 | 4>) => {
state.masonryColumns = action.payload;
},
setGridColumns: (state, action: PayloadAction<1 | 2 | 3 | 4>) => {
state.gridColumns = action.payload;
},
},
});
const { setStorageUri, setNoMedia } = settingsSlice.actions;
const { setStorageUri, setNoMedia, setMasonryColumns, setGridColumns } =
settingsSlice.actions;
const updateStorageUri = createAsyncThunk(
'settings/updateStorageUri',
@@ -111,6 +122,8 @@ export {
type SettingsState,
updateStorageUri as setStorageUri,
updateNoMedia as setNoMedia,
setMasonryColumns,
setGridColumns,
validateSettings,
};
export default settingsSlice.reducer;