mirror of
https://github.com/muerwre/vault-frontend.git
synced 2025-05-06 01:56:41 +07:00
Добавили заметки в сайдбар (#126)
* added notes sidebar * added note dropping and editing * added sidebar navigation * handling sidebarchanges over time * using router back for closing sidebar * fixed tripping inside single sidebar * added superpowers toggle to sidebar * user button opens sidebar now * added profile cover for profile sidebar * removed profile sidebar completely * ran prettier over project * added note not found error literal
This commit is contained in:
parent
fe3db608d6
commit
5d34090238
72 changed files with 1241 additions and 664 deletions
11
src/hooks/dom/useConfirmation.ts
Normal file
11
src/hooks/dom/useConfirmation.ts
Normal file
|
@ -0,0 +1,11 @@
|
|||
import { useCallback } from "react";
|
||||
|
||||
export const useConfirmation = () =>
|
||||
useCallback((prompt = "", onApprove: () => {}, onReject?: () => {}) => {
|
||||
if (!window.confirm(prompt || "Уверен?")) {
|
||||
onReject?.();
|
||||
return;
|
||||
}
|
||||
|
||||
onApprove();
|
||||
}, []);
|
|
@ -1,24 +1,30 @@
|
|||
import { useCallback, useEffect, useState } from 'react';
|
||||
import { useCallback, useEffect, useState } from "react";
|
||||
|
||||
export const useWindowSize = () => {
|
||||
const [size, setSize] = useState({ innerWidth: 0, innerHeight: 0, isMobile: false });
|
||||
const [size, setSize] = useState({
|
||||
innerWidth: 0,
|
||||
innerHeight: 0,
|
||||
isTablet: false,
|
||||
isPhone: false,
|
||||
});
|
||||
|
||||
const onResize = useCallback(
|
||||
() =>
|
||||
setSize({
|
||||
innerWidth: window.innerWidth,
|
||||
innerHeight: window.innerHeight,
|
||||
isMobile: window.innerWidth < 768,
|
||||
isTablet: window.innerWidth < 768,
|
||||
isPhone: window.innerWidth < 500,
|
||||
}),
|
||||
[]
|
||||
[],
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
onResize();
|
||||
|
||||
window.addEventListener('resize', onResize);
|
||||
window.addEventListener("resize", onResize);
|
||||
|
||||
return () => window.removeEventListener('resize', onResize);
|
||||
return () => window.removeEventListener("resize", onResize);
|
||||
}, []);
|
||||
|
||||
return size;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue