mirror of
https://github.com/ajnart/homarr.git
synced 2025-11-03 20:15:57 +01:00
🐛 Fix deprecated zustand dependencies
This commit is contained in:
@@ -360,54 +360,6 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "135b7adf-0616-481f-991e-a9035d66b924",
|
||||
"type": "torrents-status",
|
||||
"properties": {
|
||||
"displayCompletedTorrents": true,
|
||||
"displayStaleTorrents": true,
|
||||
"labelFilterIsWhitelist": true,
|
||||
"labelFilter": []
|
||||
},
|
||||
"area": {
|
||||
"type": "wrapper",
|
||||
"properties": {
|
||||
"id": "default"
|
||||
}
|
||||
},
|
||||
"shape": {
|
||||
"sm": {
|
||||
"location": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 2
|
||||
}
|
||||
},
|
||||
"md": {
|
||||
"location": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 2
|
||||
}
|
||||
},
|
||||
"lg": {
|
||||
"location": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"size": {
|
||||
"width": 2,
|
||||
"height": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
import { create } from 'zustand';
|
||||
import { createWithEqualityFn } from 'zustand/traditional';
|
||||
|
||||
interface EditModeState {
|
||||
enabled: boolean;
|
||||
toggleEditMode: () => void;
|
||||
}
|
||||
|
||||
export const useEditModeStore = create<EditModeState>((set) => ({
|
||||
enabled: false,
|
||||
toggleEditMode: () => set((state) => ({ enabled: !state.enabled })),
|
||||
}));
|
||||
export const useEditModeStore = createWithEqualityFn<EditModeState>(
|
||||
(set) => ({
|
||||
enabled: false,
|
||||
toggleEditMode: () => set((state) => ({ enabled: !state.enabled })),
|
||||
}),
|
||||
Object.is
|
||||
);
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
import { create } from 'zustand';
|
||||
import { createWithEqualityFn } from 'zustand/traditional';
|
||||
|
||||
import { useConfigContext } from '../../../../config/provider';
|
||||
import { GridstackBreakpoints } from '../../../../constants/gridstack-breakpoints';
|
||||
|
||||
export const useGridstackStore = create<GridstackStoreType>((set, get) => ({
|
||||
mainAreaWidth: null,
|
||||
currentShapeSize: null,
|
||||
setMainAreaWidth: (w: number) =>
|
||||
set((v) => ({ ...v, mainAreaWidth: w, currentShapeSize: getCurrentShapeSize(w) })),
|
||||
}));
|
||||
export const useGridstackStore = createWithEqualityFn<GridstackStoreType>(
|
||||
(set, get) => ({
|
||||
mainAreaWidth: null,
|
||||
currentShapeSize: null,
|
||||
setMainAreaWidth: (w: number) =>
|
||||
set((v) => ({ ...v, mainAreaWidth: w, currentShapeSize: getCurrentShapeSize(w) })),
|
||||
}),
|
||||
Object.is
|
||||
);
|
||||
|
||||
interface GridstackStoreType {
|
||||
mainAreaWidth: null | number;
|
||||
|
||||
@@ -1,74 +1,77 @@
|
||||
import { create } from 'zustand';
|
||||
import { createWithEqualityFn } from 'zustand/traditional';
|
||||
import { trcpProxyClient } from '~/utils/api';
|
||||
|
||||
import { ConfigType } from '../types/config';
|
||||
|
||||
export const useConfigStore = create<UseConfigStoreType>((set, get) => ({
|
||||
configs: [],
|
||||
initConfig: (name, config, increaseVersion) => {
|
||||
set((old) => ({
|
||||
...old,
|
||||
configs: [
|
||||
...old.configs.filter((x) => x.value.configProperties?.name !== name),
|
||||
{ increaseVersion, value: config },
|
||||
],
|
||||
}));
|
||||
},
|
||||
addConfig: async (name: string, config: ConfigType) => {
|
||||
set((old) => ({
|
||||
...old,
|
||||
configs: [
|
||||
...old.configs.filter((x) => x.value.configProperties.name !== name),
|
||||
{ value: config, increaseVersion: () => {} },
|
||||
],
|
||||
}));
|
||||
},
|
||||
removeConfig: (name: string) => {
|
||||
set((old) => ({
|
||||
...old,
|
||||
configs: old.configs.filter((x) => x.value.configProperties.name !== name),
|
||||
}));
|
||||
},
|
||||
updateConfig: async (
|
||||
name,
|
||||
updateCallback: (previous: ConfigType) => ConfigType,
|
||||
shouldRegenerateGridstack = false,
|
||||
shouldSaveConfigToFileSystem = false
|
||||
) => {
|
||||
const { configs } = get();
|
||||
const currentConfig = configs.find((x) => x.value.configProperties.name === name);
|
||||
if (!currentConfig) {
|
||||
return;
|
||||
}
|
||||
// copies the value of currentConfig and creates a non reference object named previousConfig
|
||||
const previousConfig: ConfigType = JSON.parse(JSON.stringify(currentConfig.value));
|
||||
export const useConfigStore = createWithEqualityFn<UseConfigStoreType>(
|
||||
(set, get) => ({
|
||||
configs: [],
|
||||
initConfig: (name, config, increaseVersion) => {
|
||||
set((old) => ({
|
||||
...old,
|
||||
configs: [
|
||||
...old.configs.filter((x) => x.value.configProperties?.name !== name),
|
||||
{ increaseVersion, value: config },
|
||||
],
|
||||
}));
|
||||
},
|
||||
addConfig: async (name: string, config: ConfigType) => {
|
||||
set((old) => ({
|
||||
...old,
|
||||
configs: [
|
||||
...old.configs.filter((x) => x.value.configProperties.name !== name),
|
||||
{ value: config, increaseVersion: () => {} },
|
||||
],
|
||||
}));
|
||||
},
|
||||
removeConfig: (name: string) => {
|
||||
set((old) => ({
|
||||
...old,
|
||||
configs: old.configs.filter((x) => x.value.configProperties.name !== name),
|
||||
}));
|
||||
},
|
||||
updateConfig: async (
|
||||
name,
|
||||
updateCallback: (previous: ConfigType) => ConfigType,
|
||||
shouldRegenerateGridstack = false,
|
||||
shouldSaveConfigToFileSystem = false
|
||||
) => {
|
||||
const { configs } = get();
|
||||
const currentConfig = configs.find((x) => x.value.configProperties.name === name);
|
||||
if (!currentConfig) {
|
||||
return;
|
||||
}
|
||||
// copies the value of currentConfig and creates a non reference object named previousConfig
|
||||
const previousConfig: ConfigType = JSON.parse(JSON.stringify(currentConfig.value));
|
||||
|
||||
const updatedConfig = updateCallback(currentConfig.value);
|
||||
const updatedConfig = updateCallback(currentConfig.value);
|
||||
|
||||
set((old) => ({
|
||||
...old,
|
||||
configs: [
|
||||
...old.configs.filter((x) => x.value.configProperties.name !== name),
|
||||
{ value: updatedConfig, increaseVersion: currentConfig.increaseVersion },
|
||||
],
|
||||
}));
|
||||
set((old) => ({
|
||||
...old,
|
||||
configs: [
|
||||
...old.configs.filter((x) => x.value.configProperties.name !== name),
|
||||
{ value: updatedConfig, increaseVersion: currentConfig.increaseVersion },
|
||||
],
|
||||
}));
|
||||
|
||||
if (
|
||||
(typeof shouldRegenerateGridstack === 'boolean' && shouldRegenerateGridstack) ||
|
||||
(typeof shouldRegenerateGridstack === 'function' &&
|
||||
shouldRegenerateGridstack(previousConfig, updatedConfig))
|
||||
) {
|
||||
currentConfig.increaseVersion();
|
||||
}
|
||||
if (
|
||||
(typeof shouldRegenerateGridstack === 'boolean' && shouldRegenerateGridstack) ||
|
||||
(typeof shouldRegenerateGridstack === 'function' &&
|
||||
shouldRegenerateGridstack(previousConfig, updatedConfig))
|
||||
) {
|
||||
currentConfig.increaseVersion();
|
||||
}
|
||||
|
||||
if (shouldSaveConfigToFileSystem) {
|
||||
trcpProxyClient.config.save.mutate({
|
||||
name,
|
||||
config: updatedConfig,
|
||||
});
|
||||
}
|
||||
},
|
||||
}));
|
||||
if (shouldSaveConfigToFileSystem) {
|
||||
trcpProxyClient.config.save.mutate({
|
||||
name,
|
||||
config: updatedConfig,
|
||||
});
|
||||
}
|
||||
},
|
||||
}),
|
||||
Object.is
|
||||
);
|
||||
|
||||
interface UseConfigStoreType {
|
||||
configs: { increaseVersion: () => void; value: ConfigType }[];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { create } from 'zustand';
|
||||
import { createWithEqualityFn } from 'zustand/traditional';
|
||||
|
||||
import { ServerSidePackageAttributesType } from '../../server/getPackageVersion';
|
||||
|
||||
@@ -7,9 +7,12 @@ interface PackageAttributesState {
|
||||
setInitialPackageAttributes: (attributes: ServerSidePackageAttributesType) => void;
|
||||
}
|
||||
|
||||
export const usePackageAttributesStore = create<PackageAttributesState>((set) => ({
|
||||
attributes: { packageVersion: undefined, environment: 'test', dependencies: {} },
|
||||
setInitialPackageAttributes(attributes) {
|
||||
set((state) => ({ ...state, attributes }));
|
||||
},
|
||||
}));
|
||||
export const usePackageAttributesStore = createWithEqualityFn<PackageAttributesState>(
|
||||
(set) => ({
|
||||
attributes: { packageVersion: undefined, environment: 'test', dependencies: {} },
|
||||
setInitialPackageAttributes(attributes) {
|
||||
set((state) => ({ ...state, attributes }));
|
||||
},
|
||||
}),
|
||||
Object.is
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user