diff --git a/src/components/Common/Alert/index.tsx b/src/components/Common/Alert/index.tsx index 15d63eae6..1b4bd8542 100644 --- a/src/components/Common/Alert/index.tsx +++ b/src/components/Common/Alert/index.tsx @@ -77,7 +77,7 @@ const Alert: React.FC = ({ title, children, type }) => { } return ( -
+
{design.svg}
diff --git a/src/components/Common/Header/index.tsx b/src/components/Common/Header/index.tsx index 3c743a266..77dbd1590 100644 --- a/src/components/Common/Header/index.tsx +++ b/src/components/Common/Header/index.tsx @@ -11,14 +11,14 @@ const Header: React.FC = ({ subtext, }) => { return ( -
+
-

- +

+ {children}

- {subtext &&
{subtext}
} + {subtext &&
{subtext}
}

); diff --git a/src/components/Common/List/index.tsx b/src/components/Common/List/index.tsx index 89ba88e13..1f723c652 100644 --- a/src/components/Common/List/index.tsx +++ b/src/components/Common/List/index.tsx @@ -8,8 +8,8 @@ interface ListItemProps { const ListItem: React.FC = ({ title, children }) => { return (
-
{title}
-
+
{title}
+
{children}
@@ -25,12 +25,10 @@ const List: React.FC = ({ title, subTitle, children }) => { return ( <>
-

{title}

- {subTitle && ( -

{subTitle}

- )} +

{title}

+ {subTitle &&

{subTitle}

}
-
+
{children}
diff --git a/src/components/Common/Modal/index.tsx b/src/components/Common/Modal/index.tsx index 18b6c074d..77abc6462 100644 --- a/src/components/Common/Modal/index.tsx +++ b/src/components/Common/Modal/index.tsx @@ -112,7 +112,7 @@ const Modal: React.FC = ({ )}
{title && ( diff --git a/src/components/Common/Table/index.tsx b/src/components/Common/Table/index.tsx index f9f1040fc..dd15b9e68 100644 --- a/src/components/Common/Table/index.tsx +++ b/src/components/Common/Table/index.tsx @@ -3,7 +3,7 @@ import { withProperties } from '../../../utils/typeHelpers'; const TBody: React.FC = ({ children }) => { return ( - {children} + {children} ); }; diff --git a/src/components/Discover/DiscoverMovies.tsx b/src/components/Discover/DiscoverMovies.tsx index 8491aa304..243edf7a4 100644 --- a/src/components/Discover/DiscoverMovies.tsx +++ b/src/components/Discover/DiscoverMovies.tsx @@ -68,9 +68,11 @@ const DiscoverMovies: React.FC = () => { return ( <> -
- -
+
+
+ +
+
{ return ( <> -
- -
+
+
+ +
+
{ return ( <> -
- -
+
+
+ +
+
{ return ( <> -
- -
+
+
+ +
+
{ leaveTo="transform opacity-0 scale-95" >
-
+
= ({ } />
-
+
diff --git a/src/components/PermissionOption/index.tsx b/src/components/PermissionOption/index.tsx index f8c0677bb..b6de4e39a 100644 --- a/src/components/PermissionOption/index.tsx +++ b/src/components/PermissionOption/index.tsx @@ -41,12 +41,11 @@ const PermissionOption: React.FC = ({ : '' }`} > -
+
= ({ } />
-
-
{(option.children ?? []).map((child) => ( -
+
= ({ if (!title && !error) { return ( - + ); @@ -110,14 +110,14 @@ const RequestItem: React.FC = ({ if (!title || !requestData) { return ( - + ); } return ( - + = ({
{requestData.modifiedBy ? ( - {requestData.modifiedBy.displayName} - ( - - ) + {requestData.modifiedBy.displayName} + + ( + + ) + ) : ( N/A diff --git a/src/components/RequestList/index.tsx b/src/components/RequestList/index.tsx index 7b682ac53..1934e594e 100644 --- a/src/components/RequestList/index.tsx +++ b/src/components/RequestList/index.tsx @@ -56,7 +56,7 @@ const RequestList: React.FC = () => { <>
{intl.formatMessage(messages.requests)}
-
+
{ setCurrentFilter(e.target.value as Filter); }} value={currentFilter} - className="flex-1 block w-full py-2 pl-3 pr-10 text-base leading-6 text-white bg-gray-700 border-gray-500 rounded-r-md form-select focus:outline-none focus:ring-blue focus:border-gray-500 sm:text-sm sm:leading-5 disabled:opacity-50" + className="rounded-r-only" >
- {intl.formatMessage(messages.noresults)} +
+ + {intl.formatMessage(messages.noresults)} + {currentFilter !== 'all' && (
-

+

{intl.formatMessage(messages.notificationAgentsSettings)}

-

+

{intl.formatMessage(messages.notificationAgentSettingsDescription)}

@@ -294,7 +286,6 @@ const SettingsNotifications: React.FC = ({ children }) => { )?.route } aria-label="Selected tab" - className="block w-full py-2 pl-3 pr-10 mt-1 text-base leading-6 text-white transition duration-150 ease-in-out bg-gray-800 border-gray-700 rounded-md form-select focus:outline-none focus:ring-blue focus:border-blue-300 sm:text-sm sm:leading-5" > {settingsRoutes.map((route, index) => ( {
-
{children}
+
{children}
); }; diff --git a/src/components/Settings/SettingsPlex.tsx b/src/components/Settings/SettingsPlex.tsx index 22a2dc3e1..57234ec96 100644 --- a/src/components/Settings/SettingsPlex.tsx +++ b/src/components/Settings/SettingsPlex.tsx @@ -25,7 +25,7 @@ const messages = defineMessages({ serverLocal: 'local', serverRemote: 'remote', serverConnected: 'connected', - serverpresetManualMessage: 'Manually configure', + serverpresetManualMessage: 'Manual configuration', serverpresetRefreshing: 'Retrieving servers…', serverpresetLoad: 'Press the button to load available servers', toastPlexRefresh: 'Retrieving server list from Plex', @@ -259,14 +259,14 @@ const SettingsPlex: React.FC = ({ onComplete }) => { } return ( <> -
-

+
+

-

+

-
+
{intl.formatMessage(messages.settingUpPlexDescription, { RegisterPlexTVLink: function RegisterPlexTVLink(msg) { @@ -346,200 +346,172 @@ const SettingsPlex: React.FC = ({ onComplete }) => { isSubmitting, }) => { return ( - -
-
- -
-
- -
+ +
+
-
- -
-
- - -
-
-
-
-
-
- -
-
- - {values.useSsl ? 'https://' : 'http://'} - - -
- {errors.hostname && touched.hostname && ( -
- {errors.hostname} -
- )} -
-
-
-
-
- -
-
- -
- {errors.port && touched.port && ( -
{errors.port}
- )} -
-
-
-
- -
- { - setFieldValue('useSsl', !values.useSsl); - }} - className="w-6 h-6 text-indigo-600 transition duration-150 ease-in-out rounded-md form-checkbox" - /> -
+ +
+
+
+
+ +
+
+ + +
+
+
+
+ +
+
+ + {values.useSsl ? 'https://' : 'http://'} + + +
+ {errors.hostname && touched.hostname && ( +
{errors.hostname}
+ )} +
+
+
+ +
+
+ +
+ {errors.port && touched.port && ( +
{errors.port}
+ )} +
+
+
+ +
+ { + setFieldValue('useSsl', !values.useSsl); + }} + /> +
+
{submitError && ( -
+
= ({ onComplete }) => {
)} -
+
-
+
+
+
    {data?.libraries.map((library) => ( = ({ onComplete }) => { ))}
-
-

+
+

-

+

-
-
-
- {dataSync?.running && ( -
- )} -
- - {dataSync?.running - ? `${dataSync.progress} of ${dataSync.total}` - : 'Not running'} - -
+
+
+
+
+ {dataSync?.running && ( +
+ )} +
+ + {dataSync?.running + ? `${dataSync.progress} of ${dataSync.total}` + : 'Not running'} +
-
- {dataSync?.running && ( - <> - {dataSync.currentLibrary && ( -
- - - -
- )} -
- +
+
+ {dataSync?.running && ( + <> + {dataSync.currentLibrary && ( +
+ - library.id === dataSync.currentLibrary?.id - ) + 1 - ).length - : 0, - }} + {...messages.currentlibrary} + values={{ name: dataSync.currentLibrary.name }} />
- + )} +
+ + + library.id === dataSync.currentLibrary?.id + ) + 1 + ).length + : 0, + }} + /> + +
+ + )} +
+ {!dataSync?.running && ( + )} -
- {!dataSync?.running && ( - - )} - {dataSync?.running && ( - - )} -
+ {dataSync?.running && ( + + )}
diff --git a/src/components/Settings/SettingsServices.tsx b/src/components/Settings/SettingsServices.tsx index a58cb5e7c..7c68cb0d2 100644 --- a/src/components/Settings/SettingsServices.tsx +++ b/src/components/Settings/SettingsServices.tsx @@ -18,10 +18,10 @@ import Alert from '../Common/Alert'; const messages = defineMessages({ radarrsettings: 'Radarr Settings', radarrSettingsDescription: - 'Configure your Radarr connection below. You can have multiple Radarr configurations but only two can be active as defaults at any time (one for standard HD and one for 4K). Administrators can override the server will be used when a new request is made.', + 'Configure your Radarr connection below. You can have multiple Radarr configurations, but only two can be active as defaults at any time (one for standard HD and one for 4K). Administrators can override the server which is used for new requests.', sonarrsettings: 'Sonarr Settings', sonarrSettingsDescription: - 'Configure your Sonarr connection below. You can have multiple Sonarr configurations but only two can be active as defaults at any time (one for standard HD and one for 4K). Administrators can override the server will be used when a new request is made.', + 'Configure your Sonarr connection below. You can have multiple Sonarr configurations, but only two can be active as defaults at any time (one for standard HD and one for 4K). Administrators can override the server which is used for new requests.', deleteserverconfirm: 'Are you sure you want to delete this server?', edit: 'Edit', delete: 'Delete', @@ -65,7 +65,7 @@ const ServerInstance: React.FC = ({
-

+

{name}

{isDefault && ( @@ -198,11 +198,11 @@ const SettingsServices: React.FC = () => { return ( <> -
-

+
+

-

+

@@ -251,7 +251,7 @@ const SettingsServices: React.FC = () => { -
+
{!radarrData && !radarrError && } {radarrData && !radarrError && ( <> @@ -283,10 +283,11 @@ const SettingsServices: React.FC = () => { } /> ))} -
  • +
  • -
    -

    +
    +

    -

    +

    -
    +
    {!sonarrData && !sonarrError && } {sonarrData && !sonarrError && ( <> @@ -352,7 +353,7 @@ const SettingsServices: React.FC = () => { } /> ))} -
  • +
  • - )} - {data?.mediaInfo && - data?.mediaInfo.status4k !== MediaStatus.AVAILABLE && ( +
    + )} + {data?.mediaInfo && + data?.mediaInfo.status4k !== MediaStatus.AVAILABLE && ( +
    - )} -
    +
  • + )}
    {intl.formatMessage(messages.allseasonsmarkedavailable)}
    diff --git a/src/components/UserEdit/index.tsx b/src/components/UserEdit/index.tsx index 5c90eb76d..8cccad9e5 100644 --- a/src/components/UserEdit/index.tsx +++ b/src/components/UserEdit/index.tsx @@ -19,9 +19,9 @@ export const messages = defineMessages({ avatar: 'Avatar', email: 'Email', permissions: 'Permissions', - save: 'Save', + save: 'Save Changes', saving: 'Saving…', - usersaved: 'User saved', + usersaved: 'User saved!', userfail: 'Something went wrong while saving the user.', }); @@ -85,141 +85,98 @@ const UserEdit: React.FC = () => { > {({ isSubmitting, handleSubmit }) => ( -
    - -
    -
    -
    -
    - {user?.userType === UserType.PLEX && ( -
    - -
    - -
    -
    - )} -
    - -
    +
    +
    +
    + +
    +
    + {user?.userType === UserType.PLEX && ( +
    + +
    +
    -
    -
    -
    - -
    -
    - -
    - -
    -
    - -
    + )} +
    + +
    +
    +
    - -
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + + + +
    +
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    - - setCurrentPermission(newPermission) - } - /> -
    -
    -
    -
    -
    -
    -
    - - - +
    +
    +
    + + + +
    +
    + + setCurrentPermission(newPermission) + } + />
    +
    +
    + + + +
    +
    )} diff --git a/src/components/UserList/BulkEditModal.tsx b/src/components/UserList/BulkEditModal.tsx index d38280829..b036e8e2b 100644 --- a/src/components/UserList/BulkEditModal.tsx +++ b/src/components/UserList/BulkEditModal.tsx @@ -89,22 +89,25 @@ const BulkEditModal: React.FC = ({ okText={intl.formatMessage(userEditMessages.save)} onCancel={onCancel} > -
    -
    -
    - -
    -
    -
    -
    - setCurrentPermission(newPermission)} - /> +
    +
    +
    +
    +
    + +
    +
    +
    +
    + + setCurrentPermission(newPermission) + } + /> +
    +
    diff --git a/src/components/UserList/index.tsx b/src/components/UserList/index.tsx index 86e1b1892..6bd3da6ae 100644 --- a/src/components/UserList/index.tsx +++ b/src/components/UserList/index.tsx @@ -282,50 +282,43 @@ const UserList: React.FC = () => { {intl.formatMessage(messages.passwordinfodescription)} -
    -
    -