Reset
@@ -134,8 +125,8 @@ export default function ViewParamsEditor({ paramFields }: EditFormDrawerProps) {
Save
-
-
-
+
+
+
);
}
diff --git a/apps/client/src/features/app-settings/panel-content/PanelContent.tsx b/apps/client/src/features/app-settings/panel-content/PanelContent.tsx
index 8d83596bdb..b9f75ad8bb 100644
--- a/apps/client/src/features/app-settings/panel-content/PanelContent.tsx
+++ b/apps/client/src/features/app-settings/panel-content/PanelContent.tsx
@@ -1,5 +1,5 @@
import { PropsWithChildren } from 'react';
-import { Button } from '@chakra-ui/react';
+import { Button } from '@mantine/core';
import { IoClose } from '@react-icons/all-files/io5/IoClose';
import style from './PanelContent.module.scss';
@@ -14,7 +14,7 @@ export default function PanelContent(props: PropsWithChildren
return (
- } variant='ontime-subtle'>
+ } variant='ontime-subtle'>
Close settings
diff --git a/apps/client/src/features/app-settings/panel/about-panel/CheckUpdatesButton.tsx b/apps/client/src/features/app-settings/panel/about-panel/CheckUpdatesButton.tsx
index d5bdf47bb6..3998dee1ee 100644
--- a/apps/client/src/features/app-settings/panel/about-panel/CheckUpdatesButton.tsx
+++ b/apps/client/src/features/app-settings/panel/about-panel/CheckUpdatesButton.tsx
@@ -1,5 +1,5 @@
import { useState } from 'react';
-import { Button } from '@chakra-ui/react';
+import { Button } from '@mantine/core';
import { getLatestVersion, HasUpdate } from '../../../../common/api/external';
import ExternalLink from '../../../../common/components/external-link/ExternalLink';
diff --git a/apps/client/src/features/app-settings/panel/general-panel/GeneralPanelForm.tsx b/apps/client/src/features/app-settings/panel/general-panel/GeneralPanelForm.tsx
index 23a470182a..28c9827f24 100644
--- a/apps/client/src/features/app-settings/panel/general-panel/GeneralPanelForm.tsx
+++ b/apps/client/src/features/app-settings/panel/general-panel/GeneralPanelForm.tsx
@@ -1,6 +1,6 @@
import { useEffect } from 'react';
import { useForm } from 'react-hook-form';
-import { Button, Input, Select } from '@chakra-ui/react';
+import { Button, Input, NativeSelect } from '@mantine/core';
import { Settings } from 'ontime-types';
import { postSettings } from '../../../../common/api/settings';
@@ -67,14 +67,14 @@ export default function GeneralPanelForm() {
General settings
-
+
Revert to saved
@@ -133,10 +133,16 @@ export default function GeneralPanelForm() {
description='Default time format to show in views 12 /24 hours'
error={errors.timeFormat?.message}
/>
-
+
-
+
diff --git a/apps/client/src/features/app-settings/panel/general-panel/GeneralPinInput.tsx b/apps/client/src/features/app-settings/panel/general-panel/GeneralPinInput.tsx
index 8d5800f1d0..b4488284ed 100644
--- a/apps/client/src/features/app-settings/panel/general-panel/GeneralPinInput.tsx
+++ b/apps/client/src/features/app-settings/panel/general-panel/GeneralPinInput.tsx
@@ -1,6 +1,6 @@
import { PropsWithChildren, useState } from 'react';
import { UseFormRegister } from 'react-hook-form';
-import { IconButton, Input, InputGroup, InputRightElement } from '@chakra-ui/react';
+import { ActionIcon, Input } from '@mantine/core';
import { IoEyeOutline } from '@react-icons/all-files/io5/IoEyeOutline';
import { Settings } from 'ontime-types';
@@ -15,25 +15,24 @@ export default function GeneralPinInput(props: PropsWithChildren
-
-
- setVisible(true)}
onMouseUp={() => setVisible(false)}
size='sm'
variant='ontime-ghosted'
- icon={}
aria-label='Show pin code'
- />
-
-
+ >
+
+
+ }
+ />
);
}
diff --git a/apps/client/src/features/app-settings/panel/general-panel/UrlPresetsForm.tsx b/apps/client/src/features/app-settings/panel/general-panel/UrlPresetsForm.tsx
index 922aac1d16..8251003005 100644
--- a/apps/client/src/features/app-settings/panel/general-panel/UrlPresetsForm.tsx
+++ b/apps/client/src/features/app-settings/panel/general-panel/UrlPresetsForm.tsx
@@ -1,6 +1,6 @@
import { useEffect } from 'react';
import { useFieldArray, useForm } from 'react-hook-form';
-import { Alert, AlertDescription, AlertIcon, Button, IconButton, Input, Switch } from '@chakra-ui/react';
+import { Alert, Button, ActionIcon, Input, Switch } from '@mantine/core';
import { IoAdd } from '@react-icons/all-files/io5/IoAdd';
import { IoOpenOutline } from '@react-icons/all-files/io5/IoOpenOutline';
import { IoTrash } from '@react-icons/all-files/io5/IoTrash';
@@ -16,6 +16,7 @@ import { validateUrlPresetPath } from '../../../../common/utils/urlPresets';
import * as Panel from '../PanelUtils';
import style from './GeneralPanel.module.scss';
+import { IoAlertCircleOutline } from '@react-icons/all-files/io5/IoAlertCircleOutline';
const urlPresetsDocs = 'https://docs.getontime.no/features/url-presets/';
@@ -93,33 +94,30 @@ export default function UrlPresetsForm() {
URL Presets
-
+
Revert to saved
-
+
Save
-
-
-
- URL Presets
-
-
- Custom presets allow providing a short name for any ontime URL.
- - Providing dynamic URLs for automation or unattended screens - Simplifying complex URLs
-
-
- See the docs
-
+ }>
+ URL Presets
+
+
+ Custom presets allow providing a short name for any ontime URL.
+ - Providing dynamic URLs for automation or unattended screens - Simplifying complex URLs
+
+
+ See the docs
Manage presets
- } size='sm' onClick={addNew}>
+ } size='sm' onClick={addNew}>
New
@@ -185,15 +183,16 @@ export default function UrlPresetsForm() {
icon={}
data-testid={`field__test_${index}`}
/>
- remove(index)}
variant='ontime-ghosted'
color='#FA5656' // $red-500
- icon={}
aria-label='Delete entry'
data-testid={`field__delete_${index}`}
- />
+ >
+
+
);
diff --git a/apps/client/src/features/app-settings/panel/general-panel/ViewSettingsForm.tsx b/apps/client/src/features/app-settings/panel/general-panel/ViewSettingsForm.tsx
index f4fb860e56..7488e36975 100644
--- a/apps/client/src/features/app-settings/panel/general-panel/ViewSettingsForm.tsx
+++ b/apps/client/src/features/app-settings/panel/general-panel/ViewSettingsForm.tsx
@@ -1,6 +1,6 @@
import { useEffect } from 'react';
import { useForm } from 'react-hook-form';
-import { Alert, AlertDescription, AlertIcon, Button, Input, Switch } from '@chakra-ui/react';
+import { Alert, Button, Input, Switch } from '@mantine/core';
import { ViewSettings } from 'ontime-types';
import { maybeAxiosError } from '../../../../common/api/utils';
@@ -12,6 +12,7 @@ import useViewSettings from '../../../../common/hooks-query/useViewSettings';
import * as Panel from '../PanelUtils';
import style from './GeneralPanel.module.scss';
+import { IoAlertCircleOutline } from '@react-icons/all-files/io5/IoAlertCircleOutline';
const cssOverrideDocsUrl = 'https://docs.getontime.no/features/custom-styling/';
@@ -72,24 +73,21 @@ export default function ViewSettingsForm() {
View settings
-
+
Revert to saved
-
+
Save
-
-
-
- You can override the styles of the viewers with a custom CSS file.
- {info?.cssOverride && `In your installation the file is at ${info?.cssOverride}`}
-
-
- See the docs
-
+ }>
+ You can override the styles of the viewers with a custom CSS file.
+ {info?.cssOverride && `In your installation the file is at ${info?.cssOverride}`}
+
+
+ See the docs
diff --git a/apps/client/src/features/app-settings/panel/integrations-panel/HttpIntegrations.tsx b/apps/client/src/features/app-settings/panel/integrations-panel/HttpIntegrations.tsx
index 884e19aa80..973b87d33a 100644
--- a/apps/client/src/features/app-settings/panel/integrations-panel/HttpIntegrations.tsx
+++ b/apps/client/src/features/app-settings/panel/integrations-panel/HttpIntegrations.tsx
@@ -1,5 +1,5 @@
import { useFieldArray, useForm } from 'react-hook-form';
-import { Button, IconButton, Input, Select, Switch } from '@chakra-ui/react';
+import { Button, ActionIcon, Input, NativeSelect, Switch } from '@mantine/core';
import { IoAdd } from '@react-icons/all-files/io5/IoAdd';
import { IoTrash } from '@react-icons/all-files/io5/IoTrash';
import { HttpSettings } from 'ontime-types';
@@ -77,7 +77,7 @@ export default function HttpIntegrations() {
HTTP
- reset()} isDisabled={!canSubmit}>
+ reset()} disabled={!canSubmit}>
Revert to saved
Save
@@ -107,7 +107,7 @@ export default function HttpIntegrations() {
HTTP Integration
- } onClick={handleAddNewSubscription}>
+ } onClick={handleAddNewSubscription}>
New
@@ -131,7 +131,7 @@ export default function HttpIntegrations() {
);
diff --git a/apps/client/src/features/app-settings/panel/integrations-panel/IntegrationsPanel.tsx b/apps/client/src/features/app-settings/panel/integrations-panel/IntegrationsPanel.tsx
index 8da16b5fa3..592d311d71 100644
--- a/apps/client/src/features/app-settings/panel/integrations-panel/IntegrationsPanel.tsx
+++ b/apps/client/src/features/app-settings/panel/integrations-panel/IntegrationsPanel.tsx
@@ -1,10 +1,11 @@
-import { Alert, AlertDescription, AlertIcon } from '@chakra-ui/react';
+import { Alert } from '@mantine/core';
import ExternalLink from '../../../../common/components/external-link/ExternalLink';
import * as Panel from '../PanelUtils';
import HttpIntegrations from './HttpIntegrations';
import OscIntegrations from './OscIntegrations';
+import { IoAlertCircleOutline } from '@react-icons/all-files/io5/IoAlertCircleOutline';
const integrationDocsUrl = 'https://docs.getontime.no/api/integrations/';
@@ -13,15 +14,12 @@ export default function IntegrationsPanel() {
<>
Integration settings
-
-
-
- Integrations allow Ontime to receive commands or send its data to other systems in your workflow.
-
- Currently supported protocols are OSC (Open Sound Control), HTTP and Websockets.
- WebSockets are used for Ontime and cannot be configured independently.
- See the docs
-
+ }>
+ Integrations allow Ontime to receive commands or send its data to other systems in your workflow.
+
+ Currently supported protocols are OSC (Open Sound Control), HTTP and Websockets.
+ WebSockets are used for Ontime and cannot be configured independently.
+ See the docs
diff --git a/apps/client/src/features/app-settings/panel/integrations-panel/OscIntegrations.tsx b/apps/client/src/features/app-settings/panel/integrations-panel/OscIntegrations.tsx
index 9e7c367510..c52bc2bdfc 100644
--- a/apps/client/src/features/app-settings/panel/integrations-panel/OscIntegrations.tsx
+++ b/apps/client/src/features/app-settings/panel/integrations-panel/OscIntegrations.tsx
@@ -1,5 +1,5 @@
import { useFieldArray, useForm } from 'react-hook-form';
-import { Button, IconButton, Input, Select, Switch } from '@chakra-ui/react';
+import { Button, ActionIcon, Input, NativeSelect, Switch } from '@mantine/core';
import { IoAdd } from '@react-icons/all-files/io5/IoAdd';
import { IoTrash } from '@react-icons/all-files/io5/IoTrash';
import { OSCSettings } from 'ontime-types';
@@ -82,7 +82,7 @@ export default function OscIntegrations() {
Open Sound Control
);
diff --git a/apps/client/src/features/app-settings/panel/project-settings-panel/CustomFieldForm.tsx b/apps/client/src/features/app-settings/panel/project-settings-panel/CustomFieldForm.tsx
index 6e37abc8e1..a6de47afb1 100644
--- a/apps/client/src/features/app-settings/panel/project-settings-panel/CustomFieldForm.tsx
+++ b/apps/client/src/features/app-settings/panel/project-settings-panel/CustomFieldForm.tsx
@@ -1,6 +1,6 @@
import { useEffect, useState } from 'react';
import { useForm } from 'react-hook-form';
-import { Button, Input } from '@chakra-ui/react';
+import { Button, Input } from '@mantine/core';
import { CustomField } from 'ontime-types';
import { isAlphanumeric } from 'ontime-utils';
diff --git a/apps/client/src/features/app-settings/panel/project-settings-panel/ProjectSettingsPanel.tsx b/apps/client/src/features/app-settings/panel/project-settings-panel/ProjectSettingsPanel.tsx
index b926ad94b9..1406d8acf8 100644
--- a/apps/client/src/features/app-settings/panel/project-settings-panel/ProjectSettingsPanel.tsx
+++ b/apps/client/src/features/app-settings/panel/project-settings-panel/ProjectSettingsPanel.tsx
@@ -1,5 +1,5 @@
import { useState } from 'react';
-import { Alert, AlertDescription, AlertIcon, Button } from '@chakra-ui/react';
+import { Alert, Button } from '@mantine/core';
import { IoAdd } from '@react-icons/all-files/io5/IoAdd';
import { CustomField, CustomFieldLabel } from 'ontime-types';
@@ -10,6 +10,7 @@ import * as Panel from '../PanelUtils';
import CustomFieldEntry from './CustomFieldEntry';
import CustomFieldForm from './CustomFieldForm';
+import { IoAlertCircleOutline } from '@react-icons/all-files/io5/IoAlertCircleOutline';
const customFieldsDocsUrl = 'https://docs.getontime.no/features/custom-fields/';
@@ -52,21 +53,17 @@ export default function ProjectSettingsPanel() {
Custom fields
- } size='sm' onClick={handleInitiateCreate}>
+ } size='sm' onClick={handleInitiateCreate}>
New
-
-
-
- Custom fields allow for additional information to be added to an event (eg. light, sound, camera).{' '}
-
-
- This data is not used by Ontime.
- See the docs
-
+ }>
+ Custom fields allow for additional information to be added to an event (eg. light, sound, camera).
+
+ This data is not used by Ontime.
+ See the docs
diff --git a/apps/client/src/features/app-settings/panel/sources-panel/GSheetInfo.tsx b/apps/client/src/features/app-settings/panel/sources-panel/GSheetInfo.tsx
index e05871a337..c831b1db58 100644
--- a/apps/client/src/features/app-settings/panel/sources-panel/GSheetInfo.tsx
+++ b/apps/client/src/features/app-settings/panel/sources-panel/GSheetInfo.tsx
@@ -1,21 +1,19 @@
-import { Alert, AlertDescription, AlertIcon } from '@chakra-ui/react';
+import { Alert } from '@mantine/core';
import ExternalLink from '../../../../common/components/external-link/ExternalLink';
+import { IoAlertCircleOutline } from '@react-icons/all-files/io5/IoAlertCircleOutline';
const googleSheetDocsUrl = 'https://docs.getontime.no/features/import-spreadsheet-gsheet/';
export default function GSheetInfo() {
return (
-
-
-
- Ontime allows you to synchronize your rundown with a Google Sheet.
-
-
- To enable this feature, you will need to generate tokens in your Google account and provide them to Ontime.
-
- Once set up, you will be able to synchronize data between Ontime and your Google Sheet.
- See the docs
-
+ } variant='ontime-on-dark-info'>
+ Ontime allows you to synchronize your rundown with a Google Sheet.
+
+
+ To enable this feature, you will need to generate tokens in your Google account and provide them to Ontime.
+
+ Once set up, you will be able to synchronize data between Ontime and your Google Sheet.
+ See the docs
);
}
diff --git a/apps/client/src/features/app-settings/panel/sources-panel/GSheetSetup.tsx b/apps/client/src/features/app-settings/panel/sources-panel/GSheetSetup.tsx
index 7924eb248a..171ae0fad9 100644
--- a/apps/client/src/features/app-settings/panel/sources-panel/GSheetSetup.tsx
+++ b/apps/client/src/features/app-settings/panel/sources-panel/GSheetSetup.tsx
@@ -1,5 +1,5 @@
import { ChangeEvent, useEffect, useState } from 'react';
-import { Button, Input } from '@chakra-ui/react';
+import { Button, Input } from '@mantine/core';
import { IoCheckmark } from '@react-icons/all-files/io5/IoCheckmark';
import { IoShieldCheckmarkOutline } from '@react-icons/all-files/io5/IoShieldCheckmarkOutline';
@@ -128,7 +128,7 @@ export default function GSheetSetup(props: GSheetSetupProps) {
Sync with Google Sheet (experimental)
{isAuthenticated ? (
-
+
Revoke Authentication
) : (
@@ -146,7 +146,7 @@ export default function GSheetSetup(props: GSheetSetupProps) {
accept='.json'
size='sm'
variant='ontime-filled'
- isDisabled={isLoading || canAuthenticate}
+ disabled={isLoading || canAuthenticate}
/>
@@ -158,7 +158,7 @@ export default function GSheetSetup(props: GSheetSetupProps) {
autoComplete='off'
placeholder='Sheet ID'
onChange={(event) => setSheetId(event.target.value)}
- isDisabled={isLoading || canAuthenticate}
+ disabled={isLoading || canAuthenticate}
/>
{!canAuthenticate ? (
@@ -167,10 +167,10 @@ export default function GSheetSetup(props: GSheetSetupProps) {
}
+ leftSection={}
onClick={handleConnect}
- isDisabled={!canConnect || isLoading}
- isLoading={loading === 'connect'}
+ disabled={!canConnect || isLoading}
+ loading={loading === 'connect'}
>
Connect
@@ -185,10 +185,10 @@ export default function GSheetSetup(props: GSheetSetupProps) {
}
+ leftSection={}
onClick={handleAuthenticate}
- isDisabled={!canAuthenticate || isLoading}
- isLoading={loading === 'authenticate' || isAuthenticating}
+ disabled={!canAuthenticate || isLoading}
+ loading={loading === 'authenticate' || isAuthenticating}
>
Authenticate
diff --git a/apps/client/src/features/app-settings/panel/sources-panel/ImportReview.tsx b/apps/client/src/features/app-settings/panel/sources-panel/ImportReview.tsx
index 53ba7c586c..3e2e50c5c9 100644
--- a/apps/client/src/features/app-settings/panel/sources-panel/ImportReview.tsx
+++ b/apps/client/src/features/app-settings/panel/sources-panel/ImportReview.tsx
@@ -1,5 +1,5 @@
import { useState } from 'react';
-import { Button } from '@chakra-ui/react';
+import { Button } from '@mantine/core';
import { CustomFields, OntimeRundown } from 'ontime-types';
import * as Panel from '../PanelUtils';
@@ -40,10 +40,10 @@ export default function ImportReview(props: ImportReviewProps) {
Review Rundown
-
+
Cancel
-
+
Apply
diff --git a/apps/client/src/features/app-settings/panel/sources-panel/SourcesPanel.tsx b/apps/client/src/features/app-settings/panel/sources-panel/SourcesPanel.tsx
index 63fd91a1d7..32999622c7 100644
--- a/apps/client/src/features/app-settings/panel/sources-panel/SourcesPanel.tsx
+++ b/apps/client/src/features/app-settings/panel/sources-panel/SourcesPanel.tsx
@@ -1,5 +1,5 @@
import { ChangeEvent, useRef, useState } from 'react';
-import { Button, Input } from '@chakra-ui/react';
+import { Button, Input } from '@mantine/core';
import { IoCloudOutline } from '@react-icons/all-files/io5/IoCloudOutline';
import { IoDownloadOutline } from '@react-icons/all-files/io5/IoDownloadOutline';
import { ImportMap, unpackError } from 'ontime-utils';
@@ -141,13 +141,13 @@ export default function SourcesPanel() {
/>