mirror of
https://github.com/pezkuwichain/pezkuwi-apps.git
synced 2026-11-01 14:11:07 +00:00
feat: initial Pezkuwi Apps rebrand from polkadot-apps
Rebranded terminology: - Polkadot → Pezkuwi - Kusama → Dicle - Westend → Zagros - Rococo → PezkuwiChain - Substrate → Bizinikiwi - parachain → teyrchain Custom logos with Kurdistan brand colors (#e6007a → #86e62a): - bizinikiwi-hexagon.svg - sora-bizinikiwi.svg - hezscanner.svg - heztreasury.svg - pezkuwiscan.svg - pezkuwistats.svg - pezkuwiassembly.svg - pezkuwiholic.svg
This commit is contained in:
commit
d21bfb1320
5867 files changed
+329019
No files matched your search
@@ -0,0 +1,72 @@
|
||||
// Copyright 2017-2025 @pezkuwi/react-components authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import React from 'react';
|
||||
|
||||
import Button from './Button/index.js';
|
||||
import { styled } from './styled.js';
|
||||
|
||||
interface Props {
|
||||
buttons?: React.ReactNode;
|
||||
children: React.ReactNode;
|
||||
className?: string;
|
||||
dataTestId?: string;
|
||||
offset?: number | string;
|
||||
onClose?: () => void;
|
||||
position: 'left' | 'right';
|
||||
sidebarRef: React.RefObject<HTMLDivElement>;
|
||||
}
|
||||
|
||||
function Sidebar ({ buttons, children, className = '', dataTestId = '', onClose, position, sidebarRef }: Props): React.ReactElement<Props> {
|
||||
return (
|
||||
<StyledDiv
|
||||
className={`${className} ui--Sidebar ${position}Position`}
|
||||
data-testid={dataTestId}
|
||||
ref={sidebarRef}
|
||||
>
|
||||
<Button.Group className='ui--Sidebar-buttons'>
|
||||
{buttons}
|
||||
<Button
|
||||
dataTestId='close-sidebar-button'
|
||||
icon='times'
|
||||
isBasic
|
||||
isCircular
|
||||
onClick={onClose}
|
||||
/>
|
||||
</Button.Group>
|
||||
{children}
|
||||
</StyledDiv>
|
||||
);
|
||||
}
|
||||
|
||||
const StyledDiv = styled.div`
|
||||
background: var(--bg-page);
|
||||
bottom: 0;
|
||||
margin-left: -0.125rem;
|
||||
max-width: 24rem;
|
||||
min-width: 24rem;
|
||||
position: fixed;
|
||||
padding: 1rem;
|
||||
overflow-y: auto;
|
||||
top: 0;
|
||||
z-index: 999;
|
||||
|
||||
&.leftPosition {
|
||||
box-shadow: 6px 0px 20px 0px rgba(0, 0, 0, 0.3);
|
||||
left: 0;
|
||||
}
|
||||
|
||||
&.rightPosition {
|
||||
box-shadow: -6px 0px 20px 0px rgba(0, 0, 0, 0.3);
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.ui--Sidebar-buttons {
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
right: 0.5rem;
|
||||
top: 0.5rem;
|
||||
}
|
||||
`;
|
||||
|
||||
export default React.memo(Sidebar);
|
||||
Reference in new issue
Block a user