diff --git a/app/Http/ViewComposers/AssetComposer.php b/app/Http/ViewComposers/AssetComposer.php index da6798ca7..2a47096fb 100644 --- a/app/Http/ViewComposers/AssetComposer.php +++ b/app/Http/ViewComposers/AssetComposer.php @@ -27,6 +27,7 @@ class AssetComposer 'enabled' => config('recaptcha.enabled', false), 'siteKey' => config('recaptcha.website_key') ?? '', ], + 'usesSyncDriver' => config('queue.default') === 'sync', ]); } } diff --git a/resources/scripts/components/server/schedules/ScheduleTaskRow.tsx b/resources/scripts/components/server/schedules/ScheduleTaskRow.tsx index f950b94f8..36db1fff9 100644 --- a/resources/scripts/components/server/schedules/ScheduleTaskRow.tsx +++ b/resources/scripts/components/server/schedules/ScheduleTaskRow.tsx @@ -20,6 +20,7 @@ import { ServerContext } from '@/state/server'; import tw from 'twin.macro'; import ConfirmationModal from '@/components/elements/ConfirmationModal'; import Icon from '@/components/elements/Icon'; +import { useStoreState } from 'easy-peasy'; interface Props { schedule: Schedule; @@ -46,6 +47,7 @@ export default ({ schedule, task }: Props) => { const [isLoading, setIsLoading] = useState(false); const [isEditing, setIsEditing] = useState(false); const appendSchedule = ServerContext.useStoreActions((actions) => actions.schedules.appendSchedule); + const usesSyncDriver = useStoreState((state) => state.settings.data!.usesSyncDriver); const onConfirmDeletion = () => { setIsLoading(true); @@ -109,7 +111,7 @@ export default ({ schedule, task }: Props) => { )} - {task.sequenceId > 1 && task.timeOffset > 0 && ( + {!usesSyncDriver && task.sequenceId > 1 && task.timeOffset > 0 && (
diff --git a/resources/scripts/components/server/schedules/TaskDetailsModal.tsx b/resources/scripts/components/server/schedules/TaskDetailsModal.tsx index 6dcd9e932..0af8fb441 100644 --- a/resources/scripts/components/server/schedules/TaskDetailsModal.tsx +++ b/resources/scripts/components/server/schedules/TaskDetailsModal.tsx @@ -17,6 +17,7 @@ import Select from '@/components/elements/Select'; import ModalContext from '@/context/ModalContext'; import asModal from '@/hoc/asModal'; import FormikSwitch from '@/components/elements/FormikSwitch'; +import { useStoreState } from 'easy-peasy'; interface Props { schedule: Schedule; @@ -71,6 +72,7 @@ const TaskDetailsModal = ({ schedule, task }: Props) => { const uuid = ServerContext.useStoreState((state) => state.server.data!.uuid); const appendSchedule = ServerContext.useStoreActions((actions) => actions.schedules.appendSchedule); const backupLimit = ServerContext.useStoreState((state) => state.server.data!.featureLimits.backups); + const usesSyncDriver = useStoreState((state) => state.settings.data!.usesSyncDriver); useEffect(() => { return () => { @@ -121,7 +123,7 @@ const TaskDetailsModal = ({ schedule, task }: Props) => {

{task ? 'Edit Task' : 'Create Task'}

-
+
@@ -132,15 +134,17 @@ const TaskDetailsModal = ({ schedule, task }: Props) => {
-
- -
+ {!usesSyncDriver && ( +
+ +
+ )}
{values.action === 'command' ? ( diff --git a/resources/scripts/components/server/settings/SettingsContainer.tsx b/resources/scripts/components/server/settings/SettingsContainer.tsx index 253972755..a69246427 100644 --- a/resources/scripts/components/server/settings/SettingsContainer.tsx +++ b/resources/scripts/components/server/settings/SettingsContainer.tsx @@ -55,8 +55,9 @@ export default () => {
Launch SFTP diff --git a/resources/scripts/state/settings.ts b/resources/scripts/state/settings.ts index 20dbbdc6e..06f82a02e 100644 --- a/resources/scripts/state/settings.ts +++ b/resources/scripts/state/settings.ts @@ -7,6 +7,7 @@ export interface SiteSettings { enabled: boolean; siteKey: string; }; + usesSyncDriver: boolean; } export interface SettingsStore {