16 lines
836 B
TypeScript
16 lines
836 B
TypeScript
import { useState } from "react";
|
|
|
|
// выбор «комментарии скрыты» — один на все карточки, в браузере (design 19); без localStorage — показаны
|
|
export const COMMENTS_HIDDEN_KEY = "jira-hub-comments-hidden";
|
|
const read = (): boolean => { try { return localStorage.getItem(COMMENTS_HIDDEN_KEY) === "1"; } catch { return false; } };
|
|
|
|
export function useCommentsHidden(): [boolean, (hidden: boolean) => void] {
|
|
const [hidden, setHidden] = useState(read);
|
|
const set = (v: boolean) => {
|
|
setHidden(v);
|
|
try { if (v) localStorage.setItem(COMMENTS_HIDDEN_KEY, "1"); else localStorage.removeItem(COMMENTS_HIDDEN_KEY); }
|
|
catch { /* хранилище недоступно: выбор живёт до закрытия карточки */ }
|
|
};
|
|
return [hidden, set];
|
|
}
|