summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormorpheus65535 <[email protected]>2022-12-13 07:21:44 -0500
committermorpheus65535 <[email protected]>2022-12-13 07:21:44 -0500
commit0e79fbadbadf3b3af9408e587ddb2f663dbd9613 (patch)
tree44d57a5021fe5769e9472674646577a741647040
parent609c5d7847878487858684c965731def377fd487 (diff)
parent06f0fe9972c2e6d06a54d2acee94e5f03521811e (diff)
downloadbazarr-0e79fbadbadf3b3af9408e587ddb2f663dbd9613.tar.gz
bazarr-0e79fbadbadf3b3af9408e587ddb2f663dbd9613.zip
Merge remote-tracking branch 'origin/development' into development
-rw-r--r--.github/workflows/schedule.yaml2
-rw-r--r--frontend/src/pages/Settings/Notifications/components.tsx19
-rw-r--r--frontend/src/pages/Settings/utilities/FormValues.ts2
-rw-r--r--frontend/src/pages/Settings/utilities/hooks.ts10
4 files changed, 24 insertions, 9 deletions
diff --git a/.github/workflows/schedule.yaml b/.github/workflows/schedule.yaml
index 968853834..69eddf032 100644
--- a/.github/workflows/schedule.yaml
+++ b/.github/workflows/schedule.yaml
@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Execute
- uses: benc-uk/workflow-dispatch@v1
+ uses: benc-uk/workflow-dispatch@v121
with:
workflow: "release_beta_to_dev"
token: ${{ secrets.WF_GITHUB_TOKEN }}
diff --git a/frontend/src/pages/Settings/Notifications/components.tsx b/frontend/src/pages/Settings/Notifications/components.tsx
index ba18ca658..8ad33ff46 100644
--- a/frontend/src/pages/Settings/Notifications/components.tsx
+++ b/frontend/src/pages/Settings/Notifications/components.tsx
@@ -14,12 +14,16 @@ import {
} from "@mantine/core";
import { useForm } from "@mantine/form";
import { isObject } from "lodash";
-import { FunctionComponent, useMemo } from "react";
+import { FunctionComponent, useCallback, useMemo } from "react";
import { useMutation } from "react-query";
import { Card } from "../components";
import { notificationsKey } from "../keys";
import { useSettingValue, useUpdateArray } from "../utilities/hooks";
+const notificationHook = (notifications: Settings.NotificationInfo[]) => {
+ return notifications.map((info) => JSON.stringify(info));
+};
+
interface Props {
selections: readonly Settings.NotificationInfo[];
payload: Settings.NotificationInfo | null;
@@ -122,6 +126,13 @@ export const NotificationView: FunctionComponent = () => {
"name"
);
+ const updateWrapper = useCallback(
+ (info: Settings.NotificationInfo) => {
+ update(info, notificationHook);
+ },
+ [update]
+ );
+
const modals = useModals();
const elements = useMemo(() => {
@@ -135,12 +146,12 @@ export const NotificationView: FunctionComponent = () => {
modals.openContextModal(NotificationModal, {
payload,
selections: notifications,
- onComplete: update,
+ onComplete: updateWrapper,
})
}
></Card>
));
- }, [modals, notifications, update]);
+ }, [modals, notifications, updateWrapper]);
return (
<SimpleGrid cols={3}>
@@ -151,7 +162,7 @@ export const NotificationView: FunctionComponent = () => {
modals.openContextModal(NotificationModal, {
payload: null,
selections: notifications ?? [],
- onComplete: update,
+ onComplete: updateWrapper,
})
}
></Card>
diff --git a/frontend/src/pages/Settings/utilities/FormValues.ts b/frontend/src/pages/Settings/utilities/FormValues.ts
index 63dc28f97..2fbe54b93 100644
--- a/frontend/src/pages/Settings/utilities/FormValues.ts
+++ b/frontend/src/pages/Settings/utilities/FormValues.ts
@@ -57,7 +57,7 @@ export function useFormActions() {
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
-type HookType = (value: any) => unknown;
+export type HookType = (value: any) => unknown;
export type FormKey = keyof FormValues;
export type FormValues = {
diff --git a/frontend/src/pages/Settings/utilities/hooks.ts b/frontend/src/pages/Settings/utilities/hooks.ts
index 4da28959d..b5e3e1f61 100644
--- a/frontend/src/pages/Settings/utilities/hooks.ts
+++ b/frontend/src/pages/Settings/utilities/hooks.ts
@@ -1,7 +1,11 @@
import { LOG } from "@/utilities/console";
import { get, isNull, isUndefined, uniqBy } from "lodash";
import { useCallback, useMemo, useRef } from "react";
-import { useFormActions, useStagedValues } from "../utilities/FormValues";
+import {
+ HookType,
+ useFormActions,
+ useStagedValues,
+} from "../utilities/FormValues";
import { useSettings } from "../utilities/SettingsProvider";
export interface BaseInput<T> {
@@ -94,9 +98,9 @@ export function useUpdateArray<T>(key: string, compare: keyof T) {
}, [key, stagedValue]);
return useCallback(
- (v: T) => {
+ (v: T, hook?: HookType) => {
const newArray = uniqBy([v, ...staged], compareRef.current);
- setValue(newArray, key);
+ setValue(newArray, key, hook);
},
[staged, setValue, key]
);