1
Fork 0
mirror of https://github.com/Steffo99/festa.git synced 2024-12-23 15:14:23 +00:00
festa/components/postcard/toolbar/toolToggleVisibility.tsx

37 lines
1.2 KiB
TypeScript
Raw Normal View History

import { faEye, faEyeSlash } from "@fortawesome/free-solid-svg-icons"
import { useTranslation } from "next-i18next"
2022-06-11 03:08:49 +00:00
import { useDefinedContext } from "../../../utils/definedContext"
import { FestaIcon } from "../../generic/renderers/fontawesome"
import { Tool } from "../../generic/toolbar/tool"
import { PostcardContext, PostcardVisibility } from "../base"
2022-06-11 03:08:49 +00:00
/**
* Toolbar tool which toggles the {@link PostcardVisibility} state of its wrapping context.
*/
export function ToolToggleVisibility() {
2022-06-09 21:43:38 +00:00
const { t } = useTranslation()
2022-07-20 22:13:46 +00:00
const { visibility, changeVisibility } = useDefinedContext(PostcardContext)
2022-06-09 21:43:38 +00:00
if (visibility === PostcardVisibility.BACKGROUND) {
return (
2022-06-11 03:08:49 +00:00
<Tool
2022-06-09 21:43:38 +00:00
aria-label={t("toggleVisibleShow")}
2022-07-20 22:13:46 +00:00
onClick={() => changeVisibility(PostcardVisibility.FOREGROUND)}
2022-06-09 21:43:38 +00:00
>
<FestaIcon icon={faEye} />
2022-06-11 03:08:49 +00:00
</Tool>
2022-06-09 21:43:38 +00:00
)
}
else {
return (
2022-06-11 03:08:49 +00:00
<Tool
2022-06-09 21:43:38 +00:00
aria-label={t("toggleVisibleHide")}
2022-07-20 22:13:46 +00:00
onClick={() => changeVisibility(PostcardVisibility.BACKGROUND)}
2022-06-09 21:43:38 +00:00
>
<FestaIcon icon={faEyeSlash} />
2022-06-11 03:08:49 +00:00
</Tool>
2022-06-09 21:43:38 +00:00
)
}
2022-06-11 03:08:49 +00:00
}