| 12345678910111213141516171819202122232425262728293031 |
- import { useState } from "react";
- const initialMessage = { color: "red", text: "" };
- export const useMessage = (timeout?: number) => {
- const [message, set] = useState(initialMessage);
- const setMessage = (text = "", color = "red") => {
- set({ text, color });
- if (timeout) {
- setTimeout(() => set(initialMessage), timeout);
- }
- };
- return [message, setMessage] as const;
- };
- export const useCopy = (timeout = 1500) => {
- const [copied, set] = useState(false);
- const setCopied = (isCopied = true) => {
- set(isCopied);
- if (isCopied && timeout) {
- setTimeout(() => set(false), timeout);
- }
- };
- return [copied, setCopied] as const;
- };
|