diff --git a/src/components/ui/IconButton.tsx b/src/components/ui/IconButton.tsx index 207332a78b37aeeda1717a0ce9a206a2ea75901c..9c11b92c0ae4536f29500809f03ee683715804ce 100644 --- a/src/components/ui/IconButton.tsx +++ b/src/components/ui/IconButton.tsx @@ -1,6 +1,7 @@ import styled, { css } from "styled-components"; interface Props { + rotate?: string; type?: "default" | "circle"; } @@ -22,6 +23,10 @@ export default styled.div<Props>` color: ${normal}; } + svg { + transition: 0.2s ease transform; + } + &:hover { fill: ${hover}; color: ${hover}; @@ -43,4 +48,10 @@ export default styled.div<Props>` background-color: var(--primary-header); } `} + + ${(props) => props.rotate && css` + svg { + transform: rotateZ(${props.rotate}); + } + ` } `; diff --git a/src/context/revoltjs/FileUploads.tsx b/src/context/revoltjs/FileUploads.tsx index 1aba0317e0363298bf121ca335ac046d1f2cc83e..83cf8a4a4aa16a541964da5cf4ebd8250fe1723d 100644 --- a/src/context/revoltjs/FileUploads.tsx +++ b/src/context/revoltjs/FileUploads.tsx @@ -276,14 +276,9 @@ export function FileUploader(props: Props) { if (uploading) return cancel(); if (attached) return remove(); onClick(); - }}> - {uploading ? ( - <XCircle size={size} /> - ) : attached ? ( - <X size={size} /> - ) : ( - <Plus size={size} /> - )} + }} + rotate={uploading || attached ? '45deg' : undefined}> + <Plus size={size} /> </IconButton> ); }