mirror of
https://github.com/fallenbagel/jellyseerr.git
synced 2026-01-06 14:47:54 -05:00
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:
committed by
GitHub
parent
50f06dabbf
commit
eb5502a16f
@@ -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
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
@@ -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>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -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"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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'
|
||||||
}`}
|
}`}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
@@ -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={`${
|
||||||
|
|||||||
@@ -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"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -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"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -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' }}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
Reference in New Issue
Block a user