mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-16 12:50:38 +00:00
chrone: sperate client and server to different repos.
This commit is contained in:
41
src/components/Postbox.js
Normal file
41
src/components/Postbox.js
Normal file
@@ -0,0 +1,41 @@
|
||||
import React, { useState } from 'react';
|
||||
import { Collapse } from '@blueprintjs/core';
|
||||
import classNames from 'classnames';
|
||||
|
||||
/**
|
||||
* Postbox.
|
||||
*/
|
||||
export default function Postbox({
|
||||
defaultOpen = true,
|
||||
toggable = true,
|
||||
title,
|
||||
children,
|
||||
}) {
|
||||
const [isOpen, setIsOpen] = useState(defaultOpen);
|
||||
|
||||
// Handle the title click.
|
||||
const handleTitleClick = () => {
|
||||
if (toggable) {
|
||||
setIsOpen(!isOpen);
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<div
|
||||
class={classNames('postbox', {
|
||||
'is-toggable': toggable,
|
||||
})}
|
||||
>
|
||||
<div class="postbox__header" onClick={handleTitleClick}>
|
||||
<h5 class="postbox__title">{title}</h5>
|
||||
|
||||
<span class="postbox__toggle-indicator"></span>
|
||||
</div>
|
||||
<div class="postbox__content">
|
||||
<Collapse isOpen={isOpen}>
|
||||
<div class="postbox__content-inner">{children}</div>
|
||||
</Collapse>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user