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:
2026-01-07 13:05:27 +03:00
commit d21bfb1320
5867 changed files with 329019 additions and 0 deletions
+58
View File
@@ -0,0 +1,58 @@
// Copyright 2017-2025 @pezkuwi/app-staking authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { LineData } from './types.js';
import React, { useMemo } from 'react';
import { Chart, Spinner, styled } from '@pezkuwi/react-components';
interface Props {
className?: string;
colors: (string | undefined)[];
labels: string[];
legends: string[];
title: string;
values: LineData;
}
function ChartDisplay ({ className = '', colors, labels, legends, title, values }: Props): React.ReactElement<Props> {
const isLoading = useMemo(
() => !labels || labels.length === 0 || !values || values.length === 0 || !values[0]?.length,
[labels, values]
);
return (
<StyledDiv className={`${className} staking--Chart ${isLoading ? 'isLoading' : ''}`}>
<Chart.Line
colors={colors}
labels={labels}
legends={legends}
title={title}
values={values}
/>
{isLoading && (
<Spinner />
)}
</StyledDiv>
);
}
const StyledDiv = styled.div`
&.isLoading {
position: relative;
canvas, h1 {
opacity: 0.25;
}
.ui--Spinner {
position: absolute;
top: 34%;
left: 0;
right: 0;
}
}
`;
export default React.memo(ChartDisplay);