diff --git a/packages/app/public/icons.svg b/packages/app/public/icons.svg index a6bad8c6..48b61f5b 100644 --- a/packages/app/public/icons.svg +++ b/packages/app/public/icons.svg @@ -360,5 +360,9 @@ + + + + \ No newline at end of file diff --git a/packages/app/src/Element/AsyncButton.tsx b/packages/app/src/Element/AsyncButton.tsx index c5641733..5f97ac5a 100644 --- a/packages/app/src/Element/AsyncButton.tsx +++ b/packages/app/src/Element/AsyncButton.tsx @@ -1,31 +1,15 @@ import "./AsyncButton.css"; -import React, { useState, ForwardedRef } from "react"; +import React, { ForwardedRef } from "react"; import Spinner from "../Icons/Spinner"; +import useLoading from "Hooks/useLoading"; +import classNames from "classnames"; -interface AsyncButtonProps extends React.ButtonHTMLAttributes { - disabled?: boolean; - onClick(e: React.MouseEvent): Promise | void; - children?: React.ReactNode; +export interface AsyncButtonProps extends React.ButtonHTMLAttributes { + onClick?: (e: React.MouseEvent) => Promise | void; } const AsyncButton = React.forwardRef((props, ref) => { - const [loading, setLoading] = useState(false); - - async function handle(e: React.MouseEvent) { - e.stopPropagation(); - if (loading || props.disabled) return; - setLoading(true); - try { - if (typeof props.onClick === "function") { - const f = props.onClick(e); - if (f instanceof Promise) { - await f; - } - } - } finally { - setLoading(false); - } - } + const { handle, loading } = useLoading(props.onClick, props.disabled); return ( + note.update(v => (v.advanced = !v.advanced))} + className="note-creator-icon" + />
+ setFilter(v => v ^ f)} + name={""} + iconName={icon} + /> ); }; diff --git a/packages/app/src/index.css b/packages/app/src/index.css index 2b6e3ff7..649bc92c 100644 --- a/packages/app/src/index.css +++ b/packages/app/src/index.css @@ -337,20 +337,15 @@ button.icon:hover { color: var(--highlight); } -button.icon-sm { +.button-icon-sm { padding: 4px; border-radius: 8px; display: flex; align-items: center; cursor: pointer; - color: var(--gray-light) !important; } -button.icon-sm:not(.active):hover { - background-color: var(--gray-dark); -} - -button.icon-sm.active { +.button-icon-sm.active { background: rgba(255, 255, 255, 0.1); } diff --git a/packages/app/src/lang.json b/packages/app/src/lang.json index 6fc97172..bbb3cad5 100644 --- a/packages/app/src/lang.json +++ b/packages/app/src/lang.json @@ -120,9 +120,6 @@ "3KNMbJ": { "defaultMessage": "Articles" }, - "3Rx6Qo": { - "defaultMessage": "Advanced" - }, "3cc4Ct": { "defaultMessage": "Light" }, diff --git a/packages/app/src/translations/en.json b/packages/app/src/translations/en.json index a70da07c..0c8ac064 100644 --- a/packages/app/src/translations/en.json +++ b/packages/app/src/translations/en.json @@ -39,7 +39,6 @@ "2k0Cv+": "Dislikes ({n})", "2ukA4d": "{n} hours", "3KNMbJ": "Articles", - "3Rx6Qo": "Advanced", "3cc4Ct": "Light", "3gOsZq": "Translators", "3qnJlS": "You are voting with {amount} sats",