diff --git a/src/components/Common/Accordion/index.tsx b/src/components/Common/Accordion/index.tsx deleted file mode 100644 index 49187bd03..000000000 --- a/src/components/Common/Accordion/index.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import type * as React from 'react'; -import { useState } from 'react'; -import AnimateHeight from 'react-animate-height'; - -export interface AccordionProps { - children: (args: AccordionChildProps) => JSX.Element; - /** If true, only one accordion item can be open at any time */ - single?: boolean; - /** If true, at least one accordion item will always be open */ - atLeastOne?: boolean; - initialOpenIndexes?: number[]; -} -export interface AccordionChildProps { - openIndexes: number[]; - handleClick(index: number): void; - AccordionContent: typeof AccordionContent; -} - -type AccordionContentProps = { - isOpen: boolean; - children: React.ReactNode; -}; - -export const AccordionContent = ({ - isOpen, - children, -}: AccordionContentProps) => { - return {children}; -}; - -const Accordion = ({ - single, - atLeastOne, - initialOpenIndexes, - children, -}: AccordionProps) => { - const initialState = initialOpenIndexes || (atLeastOne && [0]) || []; - const [openIndexes, setOpenIndexes] = useState(initialState); - - const close = (index: number) => { - const openCount = openIndexes.length; - const newListOfIndexes = - atLeastOne && openCount === 1 && openIndexes.includes(index) - ? openIndexes - : openIndexes.filter((i) => i !== index); - - setOpenIndexes(newListOfIndexes); - }; - - const open = (index: number) => { - const newListOfIndexes = single ? [index] : [...openIndexes, index]; - setOpenIndexes(newListOfIndexes); - }; - - const handleItemClick = (index: number) => { - const action = openIndexes.includes(index) ? 'closing' : 'opening'; - - if (action === 'closing') { - close(index); - } else { - open(index); - } - }; - - return children({ - openIndexes: openIndexes, - handleClick: handleItemClick, - AccordionContent, - }); -}; - -export default Accordion; diff --git a/src/components/Login/LocalLogin.tsx b/src/components/Login/LocalLogin.tsx index 0a9e34e7a..0b0320017 100644 --- a/src/components/Login/LocalLogin.tsx +++ b/src/components/Login/LocalLogin.tsx @@ -76,85 +76,84 @@ const LocalLogin = ({ onError }: LocalLoginProps) => { > {({ errors, touched, isSubmitting, isValid }) => { return ( - <> -
-
- -
-
- -
- {errors.email && - touched.email && - typeof errors.email === 'string' && ( -
{errors.email}
- )} + +
+ +
+
+
- -
-
- -
- {errors.password && - touched.password && - typeof errors.password === 'string' && ( -
{errors.password}
- )} -
-
-
-
- - - - {passwordResetEnabled && ( - - - - - + {errors.email && + touched.email && + typeof errors.email === 'string' && ( +
{errors.email}
)} -
- - + +
+
+ + +
+ {errors.password && + touched.password && + typeof errors.password === 'string' && ( +
{errors.password}
+ )} +
+
+
+
+ + + + {passwordResetEnabled && ( + + + + + + )} +
+
+ ); }} diff --git a/src/components/Login/index.tsx b/src/components/Login/index.tsx index 0ce2e5caa..f8ce4875a 100644 --- a/src/components/Login/index.tsx +++ b/src/components/Login/index.tsx @@ -49,7 +49,7 @@ const Login = () => {
<> @@ -79,61 +79,17 @@ const Login = () => { {settings.currentSettings.plexLoginEnabled && ( setError(msg)} /> )} + {settings.currentSettings.plexLoginEnabled && + settings.currentSettings.localLogin && ( +
+
+ or +
+
+ )} {settings.currentSettings.localLogin && ( setError(msg)} /> )} - {/* - {({ openIndexes, handleClick, AccordionContent }) => ( - <> - {settings.currentSettings.plexLoginEnabled && ( - <> - - -
- setAuthToken(authToken)} - /> -
-
- - )} - {settings.currentSettings.localLogin && ( -
- - -
- -
-
-
- )} - - )} -
*/}
diff --git a/yarn.lock b/yarn.lock index 897d076df..768000ee7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5254,11 +5254,6 @@ cidr-regex@^3.1.1: dependencies: ip-regex "^4.1.0" -classnames@^2.2.5: - version "2.3.2" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" - integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== - clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -11284,7 +11279,7 @@ promzard@^0.3.0: dependencies: read "1" -prop-types@^15.0.0, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: +prop-types@^15.0.0, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -11543,54 +11538,6 @@ react-ace@10.1.0: lodash.isequal "^4.5.0" prop-types "^15.7.2" -react-animate-height@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/react-animate-height/-/react-animate-height-2.1.2.tgz#9b450fc64d46f10f5e07da8d0d5e2c47b9f15030" - integrity sha512-A9jfz/4CTdsIsE7WCQtO9UkOpMBcBRh8LxyHl2eoZz1ki02jpyUL5xt58gabd0CyeLQ8fRyQ+s2lyV2Ufu8Owg== - dependencies: - classnames "^2.2.5" - prop-types "^15.6.1" - -react-aria@3.23.0: - version "3.23.0" - resolved "https://registry.yarnpkg.com/react-aria/-/react-aria-3.23.0.tgz#8829ae47373793a7b48e19aa8af1b581021b2a9a" - integrity sha512-CMem/+XnL3yuNHU94usRHS2+rdKLuyUzxRmQ/ndVXresflzKdaLYCH7Dtb2Um4rUEjD0BCz33hiNZPsJ7jBVQQ== - dependencies: - "@react-aria/breadcrumbs" "^3.5.0" - "@react-aria/button" "^3.7.0" - "@react-aria/calendar" "^3.1.0" - "@react-aria/checkbox" "^3.8.0" - "@react-aria/combobox" "^3.5.0" - "@react-aria/datepicker" "^3.3.0" - "@react-aria/dialog" "^3.5.0" - "@react-aria/dnd" "^3.1.0" - "@react-aria/focus" "^3.11.0" - "@react-aria/gridlist" "^3.2.0" - "@react-aria/i18n" "^3.7.0" - "@react-aria/interactions" "^3.14.0" - "@react-aria/label" "^3.5.0" - "@react-aria/link" "^3.4.0" - "@react-aria/listbox" "^3.8.0" - "@react-aria/menu" "^3.8.0" - "@react-aria/meter" "^3.4.0" - "@react-aria/numberfield" "^3.4.0" - "@react-aria/overlays" "^3.13.0" - "@react-aria/progress" "^3.4.0" - "@react-aria/radio" "^3.5.0" - "@react-aria/searchfield" "^3.5.0" - "@react-aria/select" "^3.9.0" - "@react-aria/selection" "^3.13.0" - "@react-aria/separator" "^3.3.0" - "@react-aria/slider" "^3.3.0" - "@react-aria/ssr" "^3.5.0" - "@react-aria/switch" "^3.4.0" - "@react-aria/table" "^3.8.0" - "@react-aria/tabs" "^3.4.0" - "@react-aria/textfield" "^3.9.0" - "@react-aria/tooltip" "^3.4.0" - "@react-aria/utils" "^3.15.0" - "@react-aria/visually-hidden" "^3.7.0" - react-dom@18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"