fix(ui): prevent title cards from flickering when quickly hovering across them (#3349)

* fix(ui): remove opacity classes from transition enter and leave props

The flickering was caused by the opacity classes in the `leave` prop to take effect as the
transition ends; when the `leaveTo` prop classes are no longer applied, but the `leave` prop classes
are still applied.

* fix(ui): resolve transition issues for all components

1. Remove opacity classes from `enter` and `leave` props
2. Fix some class name typos
3. Remove transform classes since those are automatically applied as from TailwindCSS v3.0
4. Narrow down `transition` classes to only the properties being transitioned in Transition components
This commit is contained in:
Danshil Kokil Mungur
2023-02-23 19:27:26 +04:00
committed by GitHub
parent 50f06dabbf
commit eb5502a16f
31 changed files with 100 additions and 100 deletions

View File

@@ -101,12 +101,12 @@ const ButtonWithDropdown = ({
<Transition <Transition
as={Fragment} as={Fragment}
show={isOpen} show={isOpen}
enter="transition ease-out duration-100 opacity-0" enter="transition ease-out duration-100"
enterFrom="transform opacity-0 scale-95" enterFrom="opacity-0 scale-95"
enterTo="transform opacity-100 scale-100" enterTo="opacity-100 scale-100"
leave="transition ease-in duration-75 opacity-100" leave="transition ease-in duration-75"
leaveFrom="transform opacity-100 scale-100" leaveFrom="opacity-100 scale-100"
leaveTo="transform opacity-0 scale-95" leaveTo="opacity-0 scale-95"
> >
<div className="absolute right-0 z-40 mt-2 -mr-1 w-56 origin-top-right rounded-md shadow-lg"> <div className="absolute right-0 z-40 mt-2 -mr-1 w-56 origin-top-right rounded-md shadow-lg">
<div <div

View File

@@ -78,10 +78,10 @@ const Modal = React.forwardRef<HTMLDivElement, ModalProps>(
appear appear
as="div" as="div"
className="fixed top-0 bottom-0 left-0 right-0 z-50 flex h-full w-full items-center justify-center bg-gray-800 bg-opacity-70" className="fixed top-0 bottom-0 left-0 right-0 z-50 flex h-full w-full items-center justify-center bg-gray-800 bg-opacity-70"
enter="transition opacity-0 duration-300" enter="transition-opacity duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="transition opacity-100 duration-300" leave="transition-opacity duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
ref={parentRef} ref={parentRef}
@@ -89,10 +89,10 @@ const Modal = React.forwardRef<HTMLDivElement, ModalProps>(
<Transition <Transition
appear appear
as={Fragment} as={Fragment}
enter="transition opacity-0 duration-300 transform scale-75" enter="transition duration-300"
enterFrom="opacity-0 scale-75" enterFrom="opacity-0 scale-75"
enterTo="opacity-100 scale-100" enterTo="opacity-100 scale-100"
leave="transition opacity-100 duration-300" leave="transition-opacity duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
show={loading} show={loading}
@@ -102,7 +102,7 @@ const Modal = React.forwardRef<HTMLDivElement, ModalProps>(
</div> </div>
</Transition> </Transition>
<Transition <Transition
className="hide-scrollbar relative inline-block w-full transform overflow-auto bg-gray-800 px-4 pt-4 pb-4 text-left align-bottom shadow-xl ring-1 ring-gray-700 transition-all sm:my-8 sm:max-w-3xl sm:rounded-lg sm:align-middle" className="hide-scrollbar relative inline-block w-full overflow-auto bg-gray-800 px-4 pt-4 pb-4 text-left align-bottom shadow-xl ring-1 ring-gray-700 transition-all sm:my-8 sm:max-w-3xl sm:rounded-lg sm:align-middle"
role="dialog" role="dialog"
aria-modal="true" aria-modal="true"
aria-labelledby="modal-headline" aria-labelledby="modal-headline"
@@ -111,10 +111,10 @@ const Modal = React.forwardRef<HTMLDivElement, ModalProps>(
}} }}
appear appear
as="div" as="div"
enter="transition opacity-0 duration-300 transform scale-75" enter="transition duration-300"
enterFrom="opacity-0 scale-75" enterFrom="opacity-0 scale-75"
enterTo="opacity-100 scale-100" enterTo="opacity-100 scale-100"
leave="transition opacity-100 duration-300" leave="transition-opacity duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
show={!loading} show={!loading}

View File

@@ -29,7 +29,7 @@ const SlideCheckbox = ({ onClick, checked = false }: SlideCheckboxProps) => {
aria-hidden="true" aria-hidden="true"
className={`${ className={`${
checked ? 'translate-x-5' : 'translate-x-0' checked ? 'translate-x-5' : 'translate-x-0'
} absolute left-0 inline-block h-5 w-5 transform rounded-full border border-gray-200 bg-white shadow transition-transform duration-200 ease-in-out group-focus:border-blue-300 group-focus:ring`} } absolute left-0 inline-block h-5 w-5 rounded-full border border-gray-200 bg-white shadow transition-transform duration-200 ease-in-out group-focus:border-blue-300 group-focus:ring`}
></span> ></span>
</span> </span>
); );

View File

@@ -37,10 +37,10 @@ const SlideOver = ({
as={Fragment} as={Fragment}
show={show} show={show}
appear appear
enter="opacity-0 transition ease-in-out duration-300" enter="transition-opacity ease-in-out duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="opacity-100 transition ease-in-out duration-300" leave="transition-opacity ease-in-out duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
> >
@@ -58,10 +58,10 @@ const SlideOver = ({
<section className="absolute inset-y-0 right-0 flex max-w-full"> <section className="absolute inset-y-0 right-0 flex max-w-full">
<Transition.Child <Transition.Child
appear appear
enter="transform transition ease-in-out duration-500 sm:duration-700" enter="transition-transform ease-in-out duration-500 sm:duration-700"
enterFrom="translate-x-full" enterFrom="translate-x-full"
enterTo="translate-x-0" enterTo="translate-x-0"
leave="transform transition ease-in-out duration-500 sm:duration-700" leave="transition-transform ease-in-out duration-500 sm:duration-700"
leaveFrom="translate-x-0" leaveFrom="translate-x-0"
leaveTo="translate-x-full" leaveTo="translate-x-full"
> >

View File

@@ -165,10 +165,10 @@ const Discover = () => {
</Transition> </Transition>
<Transition <Transition
show={isEditing} show={isEditing}
enter="transition transform duration-300" enter="transition duration-300"
enterFrom="opacity-0 translate-y-6" enterFrom="opacity-0 translate-y-6"
enterTo="opacity-100 translate-y-0" enterTo="opacity-100 translate-y-0"
leave="transition duration-300 transform" leave="transition duration-300"
leaveFrom="opacity-100 translate-y-0" leaveFrom="opacity-100 translate-y-0"
leaveTo="opacity-0 translate-y-6" leaveTo="opacity-0 translate-y-6"
className="safe-shift-edit-menu fixed right-0 left-0 z-50 flex flex-col items-center justify-end space-x-0 space-y-2 border-t border-gray-700 bg-gray-800 bg-opacity-80 p-4 backdrop-blur sm:bottom-0 sm:flex-row sm:space-y-0 sm:space-x-3" className="safe-shift-edit-menu fixed right-0 left-0 z-50 flex flex-col items-center justify-end space-x-0 space-y-2 border-t border-gray-700 bg-gray-800 bg-opacity-80 p-4 backdrop-blur sm:bottom-0 sm:flex-row sm:space-y-0 sm:space-x-3"

View File

@@ -65,10 +65,10 @@ const IssueComment = ({
> >
<Transition <Transition
as={Fragment} as={Fragment}
enter="transition opacity-0 duration-300" enter="transition-opacity duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="transition opacity-100 duration-300" leave="transition-opacity duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
show={showDeleteModal} show={showDeleteModal}
@@ -115,11 +115,11 @@ const IssueComment = ({
as={Fragment} as={Fragment}
show={open} show={open}
enter="transition ease-out duration-100" enter="transition ease-out duration-100"
enterFrom="transform opacity-0 scale-95" enterFrom="opacity-0 scale-95"
enterTo="transform opacity-100 scale-100" enterTo="opacity-100 scale-100"
leave="transition ease-in duration-75" leave="transition ease-in duration-75"
leaveFrom="transform opacity-100 scale-100" leaveFrom="opacity-100 scale-100"
leaveTo="transform opacity-0 scale-95" leaveTo="opacity-0 scale-95"
> >
<Menu.Items <Menu.Items
static static
@@ -164,7 +164,7 @@ const IssueComment = ({
</Menu> </Menu>
)} )}
<div <div
className={`absolute top-3 z-10 h-3 w-3 rotate-45 transform bg-gray-800 shadow ring-1 ring-gray-500 ${ className={`absolute top-3 z-10 h-3 w-3 rotate-45 bg-gray-800 shadow ring-1 ring-gray-500 ${
isReversed ? '-left-1' : '-right-1' isReversed ? '-left-1' : '-right-1'
}`} }`}
/> />

View File

@@ -57,11 +57,11 @@ const IssueDescription = ({
show={open} show={open}
as="div" as="div"
enter="transition ease-out duration-100" enter="transition ease-out duration-100"
enterFrom="transform opacity-0 scale-95" enterFrom="opacity-0 scale-95"
enterTo="transform opacity-100 scale-100" enterTo="opacity-100 scale-100"
leave="transition ease-in duration-75" leave="transition ease-in duration-75"
leaveFrom="transform opacity-100 scale-100" leaveFrom="opacity-100 scale-100"
leaveTo="transform opacity-0 scale-95" leaveTo="opacity-0 scale-95"
> >
<Menu.Items <Menu.Items
static static

View File

@@ -182,10 +182,10 @@ const IssueDetails = () => {
<PageTitle title={[intl.formatMessage(messages.issuepagetitle), title]} /> <PageTitle title={[intl.formatMessage(messages.issuepagetitle), title]} />
<Transition <Transition
as="div" as="div"
enter="transition opacity-0 duration-300" enter="transition-opacity duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="transition opacity-100 duration-300" leave="transition-opacity duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
show={showDeleteModal} show={showDeleteModal}

View File

@@ -12,10 +12,10 @@ interface IssueModalProps {
const IssueModal = ({ show, mediaType, onCancel, tmdbId }: IssueModalProps) => ( const IssueModal = ({ show, mediaType, onCancel, tmdbId }: IssueModalProps) => (
<Transition <Transition
as="div" as="div"
enter="transition opacity-0 duration-300" enter="transition-opacity duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="transition opacity-100 duration-300" leave="transition-opacity duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
show={show} show={show}

View File

@@ -34,12 +34,12 @@ const LanguagePicker = () => {
<Transition <Transition
as="div" as="div"
show={isDropdownOpen} show={isDropdownOpen}
enter="transition ease-out duration-100 opacity-0" enter="transition ease-out duration-100"
enterFrom="transform opacity-0 scale-95" enterFrom="opacity-0 scale-95"
enterTo="transform opacity-100 scale-100" enterTo="opacity-100 scale-100"
leave="transition ease-in duration-75 opacity-100" leave="transition ease-in duration-75"
leaveFrom="transform opacity-100 scale-100" leaveFrom="opacity-100 scale-100"
leaveTo="transform opacity-0 scale-95" leaveTo="opacity-0 scale-95"
> >
<div <div
className="absolute right-0 mt-2 w-56 origin-top-right rounded-md shadow-lg" className="absolute right-0 mt-2 w-56 origin-top-right rounded-md shadow-lg"

View File

@@ -131,13 +131,13 @@ const MobileMenu = () => {
show={isOpen} show={isOpen}
as="div" as="div"
ref={ref} ref={ref}
enter="transition transform duration-500" enter="transition duration-500"
enterFrom="opacity-0 translate-y-0" enterFrom="opacity-0 translate-y-0"
enterTo="opacity-100 -translate-y-full" enterTo="opacity-100 -translate-y-full"
leave="transition duration-500 transform" leave="transition duration-500"
leaveFrom="opacity-100 -translate-y-full" leaveFrom="opacity-100 -translate-y-full"
leaveTo="opacity-0 translate-y-0" leaveTo="opacity-0 translate-y-0"
className="absolute top-0 left-0 right-0 flex w-full -translate-y-full transform flex-col space-y-6 border-t border-gray-600 bg-gray-900 bg-opacity-90 px-6 py-6 font-semibold text-gray-100 backdrop-blur" className="absolute top-0 left-0 right-0 flex w-full -translate-y-full flex-col space-y-6 border-t border-gray-600 bg-gray-900 bg-opacity-90 px-6 py-6 font-semibold text-gray-100 backdrop-blur"
> >
{filteredLinks.map((link) => { {filteredLinks.map((link) => {
const isActive = router.pathname.match(link.activeRegExp); const isActive = router.pathname.match(link.activeRegExp);

View File

@@ -127,10 +127,10 @@ const Sidebar = ({ open, setClosed }: SidebarProps) => {
</Transition.Child> </Transition.Child>
<Transition.Child <Transition.Child
as="div" as="div"
enter="transition ease-in-out duration-300 transform" enter="transition-transform ease-in-out duration-300"
enterFrom="-translate-x-full" enterFrom="-translate-x-full"
enterTo="translate-x-0" enterTo="translate-x-0"
leave="transition ease-in-out duration-300 transform" leave="transition-transform ease-in-out duration-300"
leaveFrom="translate-x-0" leaveFrom="translate-x-0"
leaveTo="-translate-x-full" leaveTo="-translate-x-full"
> >

View File

@@ -63,11 +63,11 @@ const UserDropdown = () => {
<Transition <Transition
as={Fragment} as={Fragment}
enter="transition ease-out duration-100" enter="transition ease-out duration-100"
enterFrom="transform opacity-0 scale-95" enterFrom="opacity-0 scale-95"
enterTo="transform opacity-100 scale-100" enterTo="opacity-100 scale-100"
leave="transition ease-in duration-75" leave="transition ease-in duration-75"
leaveFrom="transform opacity-100 scale-100" leaveFrom="opacity-100 scale-100"
leaveTo="transform opacity-0 scale-95" leaveTo="opacity-0 scale-95"
appear appear
> >
<Menu.Items className="absolute right-0 mt-2 w-72 origin-top-right rounded-md shadow-lg"> <Menu.Items className="absolute right-0 mt-2 w-72 origin-top-right rounded-md shadow-lg">

View File

@@ -95,10 +95,10 @@ const Login = () => {
<Transition <Transition
as="div" as="div"
show={!!error} show={!!error}
enter="opacity-0 transition duration-300" enter="transition-opacity duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="opacity-100 transition duration-300" leave="transition-opacity duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
> >

View File

@@ -122,7 +122,7 @@ const RegionSelector = ({
<Transition <Transition
show={open} show={open}
leave="transition ease-in duration-100" leave="transition-opacity ease-in duration-100"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
className="absolute mt-1 w-full rounded-md bg-gray-800 shadow-lg" className="absolute mt-1 w-full rounded-md bg-gray-800 shadow-lg"

View File

@@ -582,10 +582,10 @@ const AdvancedRequester = ({
<Transition <Transition
show={open} show={open}
enter="transition ease-in duration-300" enter="transition-opacity ease-in duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="transition ease-in duration-100" leave="transition-opacity ease-in duration-100"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
className="mt-1 w-full rounded-md border border-gray-700 bg-gray-800 shadow-lg" className="mt-1 w-full rounded-md border border-gray-700 bg-gray-800 shadow-lg"

View File

@@ -324,7 +324,7 @@ const CollectionRequestModal = ({
aria-hidden="true" aria-hidden="true"
className={`${ className={`${
isAllParts() ? 'translate-x-5' : 'translate-x-0' isAllParts() ? 'translate-x-5' : 'translate-x-0'
} absolute left-0 inline-block h-5 w-5 transform rounded-full border border-gray-200 bg-white shadow transition-transform duration-200 ease-in-out group-focus:border-blue-300 group-focus:ring`} } absolute left-0 inline-block h-5 w-5 rounded-full border border-gray-200 bg-white shadow transition-transform duration-200 ease-in-out group-focus:border-blue-300 group-focus:ring`}
></span> ></span>
</span> </span>
</th> </th>
@@ -389,7 +389,7 @@ const CollectionRequestModal = ({
isSelectedPart(part.id) isSelectedPart(part.id)
? 'translate-x-5' ? 'translate-x-5'
: 'translate-x-0' : 'translate-x-0'
} absolute left-0 inline-block h-5 w-5 transform rounded-full border border-gray-200 bg-white shadow transition-transform duration-200 ease-in-out group-focus:border-blue-300 group-focus:ring`} } absolute left-0 inline-block h-5 w-5 rounded-full border border-gray-200 bg-white shadow transition-transform duration-200 ease-in-out group-focus:border-blue-300 group-focus:ring`}
></span> ></span>
</span> </span>
</td> </td>

View File

@@ -540,7 +540,7 @@ const TvRequestModal = ({
aria-hidden="true" aria-hidden="true"
className={`${ className={`${
isAllSeasons() ? 'translate-x-5' : 'translate-x-0' isAllSeasons() ? 'translate-x-5' : 'translate-x-0'
} absolute left-0 inline-block h-5 w-5 transform rounded-full border border-gray-200 bg-white shadow transition-transform duration-200 ease-in-out group-focus:border-blue-300 group-focus:ring`} } absolute left-0 inline-block h-5 w-5 rounded-full border border-gray-200 bg-white shadow transition-transform duration-200 ease-in-out group-focus:border-blue-300 group-focus:ring`}
></span> ></span>
</span> </span>
</th> </th>
@@ -631,7 +631,7 @@ const TvRequestModal = ({
isSelectedSeason(season.seasonNumber) isSelectedSeason(season.seasonNumber)
? 'translate-x-5' ? 'translate-x-5'
: 'translate-x-0' : 'translate-x-0'
} absolute left-0 inline-block h-5 w-5 transform rounded-full border border-gray-200 bg-white shadow transition-transform duration-200 ease-in-out group-focus:border-blue-300 group-focus:ring`} } absolute left-0 inline-block h-5 w-5 rounded-full border border-gray-200 bg-white shadow transition-transform duration-200 ease-in-out group-focus:border-blue-300 group-focus:ring`}
></span> ></span>
</span> </span>
</td> </td>

View File

@@ -29,10 +29,10 @@ const RequestModal = ({
return ( return (
<Transition <Transition
as="div" as="div"
enter="transition opacity-0 duration-300" enter="transition-opacity duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="transition opacity-100 duration-300" leave="transition-opacity duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
show={show} show={show}

View File

@@ -32,7 +32,7 @@ const LibraryItem = ({ isEnabled, name, onToggle }: LibraryItemProps) => {
aria-hidden="true" aria-hidden="true"
className={`${ className={`${
isEnabled ? 'translate-x-5' : 'translate-x-0' isEnabled ? 'translate-x-5' : 'translate-x-0'
} relative inline-block h-5 w-5 transform rounded-full bg-white shadow transition duration-200 ease-in-out`} } relative inline-block h-5 w-5 rounded-full bg-white shadow transition duration-200 ease-in-out`}
> >
<span <span
className={`${ className={`${

View File

@@ -214,10 +214,10 @@ const RadarrModal = ({ onClose, radarr, onSave }: RadarrModalProps) => {
as="div" as="div"
appear appear
show show
enter="transition ease-in-out duration-300 transform opacity-0" enter="transition-opacity ease-in-out duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacuty-100" enterTo="opacity-100"
leave="transition ease-in-out duration-300 transform opacity-100" leave="transition-opacity ease-in-out duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
> >

View File

@@ -63,10 +63,10 @@ const Release = ({ currentVersion, release, isLatest }: ReleaseProps) => {
<div className="flex w-full flex-col space-y-3 rounded-md bg-gray-800 px-4 py-2 shadow-md ring-1 ring-gray-700 sm:flex-row sm:space-y-0 sm:space-x-3"> <div className="flex w-full flex-col space-y-3 rounded-md bg-gray-800 px-4 py-2 shadow-md ring-1 ring-gray-700 sm:flex-row sm:space-y-0 sm:space-x-3">
<Transition <Transition
as={Fragment} as={Fragment}
enter="opacity-0 transition duration-300" enter="transition-opacity duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="opacity-100 transition duration-300" leave="transition-opacity duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
show={isModalOpen} show={isModalOpen}

View File

@@ -252,10 +252,10 @@ const SettingsJobs = () => {
/> />
<Transition <Transition
as={Fragment} as={Fragment}
enter="opacity-0 transition duration-300" enter="transition-opacity duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="opacity-100 transition duration-300" leave="transition-opacity duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
show={jobModalState.isOpen} show={jobModalState.isOpen}

View File

@@ -143,10 +143,10 @@ const SettingsLogs = () => {
/> />
<Transition <Transition
as={Fragment} as={Fragment}
enter="opacity-0 transition duration-300" enter="transition-opacity duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="opacity-100 transition duration-300" leave="transition-opacity duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
appear appear

View File

@@ -247,10 +247,10 @@ const SettingsServices = () => {
<Transition <Transition
as={Fragment} as={Fragment}
show={deleteServerModal.open} show={deleteServerModal.open}
enter="transition ease-in-out duration-300 transform opacity-0" enter="transition-opacity ease-in-out duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacuty-100" enterTo="opacity-100"
leave="transition ease-in-out duration-300 transform opacity-100" leave="transition-opacity ease-in-out duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
> >

View File

@@ -223,10 +223,10 @@ const SonarrModal = ({ onClose, sonarr, onSave }: SonarrModalProps) => {
as="div" as="div"
appear appear
show show
enter="transition ease-in-out duration-300 transform opacity-0" enter="transition-opacity ease-in-out duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacuty-100" enterTo="opacity-100"
leave="transition ease-in-out duration-300 transform opacity-100" leave="transition-opacity ease-in-out duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
> >

View File

@@ -44,10 +44,10 @@ const StatusChecker = () => {
return ( return (
<Transition <Transition
as={Fragment} as={Fragment}
enter="opacity-0 transition duration-300" enter="transition-opacity duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="opacity-100 transition duration-300" leave="transition-opacity duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
appear appear

View File

@@ -154,10 +154,10 @@ const TitleCard = ({
<Transition <Transition
as={Fragment} as={Fragment}
show={isUpdating} show={isUpdating}
enter="transition ease-in-out duration-300 transform opacity-0" enter="transition-opacity ease-in-out duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="transition ease-in-out duration-300 transform opacity-100" leave="transition-opacity ease-in-out duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
> >
@@ -169,10 +169,10 @@ const TitleCard = ({
<Transition <Transition
as={Fragment} as={Fragment}
show={!image || showDetail || showRequestModal} show={!image || showDetail || showRequestModal}
enter="transition transform opacity-0" enter="transition-opacity"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="transition transform opacity-100" leave="transition-opacity"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
> >

View File

@@ -735,18 +735,18 @@ const TvDetails = ({ tv }: TvDetailsProps) => {
)} )}
<ChevronDownIcon <ChevronDownIcon
className={`${ className={`${
open ? 'rotate-180 transform' : '' open ? 'rotate-180' : ''
} h-6 w-6 text-gray-500`} } h-6 w-6 text-gray-500`}
/> />
</Disclosure.Button> </Disclosure.Button>
<Transition <Transition
show={open} show={open}
enter="transition duration-100 ease-out" enter="transition-opacity duration-100 ease-out"
enterFrom="transform opacity-0" enterFrom="opacity-0"
enterTo="transform opacity-100" enterTo="opacity-100"
leave="transition duration-75 ease-out" leave="transition-opacity duration-75 ease-out"
leaveFrom="transform opacity-100" leaveFrom="opacity-100"
leaveTo="transform opacity-0" leaveTo="opacity-0"
// Not sure why this transition is adding a margin without this here // Not sure why this transition is adding a margin without this here
style={{ margin: '0px' }} style={{ margin: '0px' }}
> >

View File

@@ -155,7 +155,7 @@ const PlexImportModal = ({ onCancel, onComplete }: PlexImportProps) => {
aria-hidden="true" aria-hidden="true"
className={`${ className={`${
isAllUsers() ? 'translate-x-5' : 'translate-x-0' isAllUsers() ? 'translate-x-5' : 'translate-x-0'
} absolute left-0 inline-block h-5 w-5 transform rounded-full border border-gray-200 bg-white shadow transition-transform duration-200 ease-in-out group-focus:border-blue-300 group-focus:ring`} } absolute left-0 inline-block h-5 w-5 rounded-full border border-gray-200 bg-white shadow transition-transform duration-200 ease-in-out group-focus:border-blue-300 group-focus:ring`}
></span> ></span>
</span> </span>
</th> </th>
@@ -194,7 +194,7 @@ const PlexImportModal = ({ onCancel, onComplete }: PlexImportProps) => {
isSelectedUser(user.id) isSelectedUser(user.id)
? 'translate-x-5' ? 'translate-x-5'
: 'translate-x-0' : 'translate-x-0'
} absolute left-0 inline-block h-5 w-5 transform rounded-full border border-gray-200 bg-white shadow transition-transform duration-200 ease-in-out group-focus:border-blue-300 group-focus:ring`} } absolute left-0 inline-block h-5 w-5 rounded-full border border-gray-200 bg-white shadow transition-transform duration-200 ease-in-out group-focus:border-blue-300 group-focus:ring`}
></span> ></span>
</span> </span>
</td> </td>

View File

@@ -228,10 +228,10 @@ const UserList = () => {
<PageTitle title={intl.formatMessage(messages.users)} /> <PageTitle title={intl.formatMessage(messages.users)} />
<Transition <Transition
as="div" as="div"
enter="opacity-0 transition duration-300" enter="transition-opacity duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="opacity-100 transition duration-300" leave="transition-opacity duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
show={deleteModal.isOpen} show={deleteModal.isOpen}
@@ -257,10 +257,10 @@ const UserList = () => {
<Transition <Transition
as="div" as="div"
enter="opacity-0 transition duration-300" enter="transition-opacity duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="opacity-100 transition duration-300" leave="transition-opacity duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
show={createModal.isOpen} show={createModal.isOpen}
@@ -440,10 +440,10 @@ const UserList = () => {
<Transition <Transition
as="div" as="div"
enter="opacity-0 transition duration-300" enter="transition-opacity duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="opacity-100 transition duration-300" leave="transition-opacity duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
show={showBulkEditModal} show={showBulkEditModal}
@@ -461,10 +461,10 @@ const UserList = () => {
<Transition <Transition
as="div" as="div"
enter="opacity-0 transition duration-300" enter="transition-opacity duration-300"
enterFrom="opacity-0" enterFrom="opacity-0"
enterTo="opacity-100" enterTo="opacity-100"
leave="opacity-100 transition duration-300" leave="transition-opacity duration-300"
leaveFrom="opacity-100" leaveFrom="opacity-100"
leaveTo="opacity-0" leaveTo="opacity-0"
show={showImportModal} show={showImportModal}