2023-05-19 23:14:55 +02:00
|
|
|
import React from "@modules/react";
|
2019-05-28 23:27:25 +02:00
|
|
|
|
2023-03-29 06:13:11 +02:00
|
|
|
import Button from "../base/button";
|
|
|
|
|
2023-03-09 02:08:48 +01:00
|
|
|
const {useCallback} = React;
|
2019-06-04 06:18:15 +02:00
|
|
|
|
2022-10-03 10:40:18 +02:00
|
|
|
|
2023-03-09 02:08:48 +01:00
|
|
|
const basicClass = "bd-settings-title";
|
|
|
|
const groupClass = "bd-settings-title bd-settings-group-title";
|
|
|
|
|
2024-02-22 06:06:30 +01:00
|
|
|
export default function SettingsTitle({isGroup, className, button, onClick, text, children}) {
|
2023-03-09 02:08:48 +01:00
|
|
|
const click = useCallback((event) => {
|
2022-10-03 10:40:18 +02:00
|
|
|
event.stopPropagation();
|
|
|
|
event.preventDefault();
|
2023-03-09 02:08:48 +01:00
|
|
|
button?.onClick?.(event);
|
2023-03-20 03:23:11 +01:00
|
|
|
}, [button]);
|
2023-03-09 02:08:48 +01:00
|
|
|
|
|
|
|
|
|
|
|
const baseClass = isGroup ? groupClass : basicClass;
|
|
|
|
const titleClass = className ? `${baseClass} ${className}` : baseClass;
|
|
|
|
return <h2 className={titleClass} onClick={() => {onClick?.();}}>
|
|
|
|
{text}
|
2023-03-29 06:13:11 +02:00
|
|
|
{button && <Button className="bd-button-title" onClick={click} size={Button.Sizes.NONE}>{button.title}</Button>}
|
2024-02-22 06:06:30 +01:00
|
|
|
{children}
|
2023-03-09 02:08:48 +01:00
|
|
|
</h2>;
|
2022-10-03 10:40:18 +02:00
|
|
|
|
2019-05-28 20:19:48 +02:00
|
|
|
}
|