Files
pezkuwi-sdk-ui/packages/apps-routing/src/democracy.ts
T
pezkuwichain d949863789 Initial commit: Pezkuwi SDK UI
Comprehensive web interface for interacting with Pezkuwi blockchain.

Features:
- Blockchain explorer
- Wallet management
- Staking interface
- Governance participation
- Developer tools

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 13:55:36 +03:00

39 lines
1.0 KiB
TypeScript

// Copyright 2017-2026 @pezkuwi/apps-routing authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { ApiPromise } from '@pezkuwi/api';
import type { Route, TFunction } from './types.js';
import Component, { useCounter } from '@pezkuwi/app-democracy';
function needsApiCheck (api: ApiPromise): boolean {
try {
// we need to be able to create an actual vote
// @ts-expect-error Standard variant is runtime converted
api.tx.democracy.vote(1, { Standard: { balance: 1, vote: { aye: true, conviction: 1 } } });
return true;
} catch {
console.warn('Unable to create referendum vote transaction, disabling democracy route');
return false;
}
}
export default function create (t: TFunction): Route {
return {
Component,
display: {
needsApi: [
'tx.democracy.propose'
],
needsApiCheck
},
group: 'governance',
icon: 'calendar-check',
name: 'democracy',
text: t('nav.democracy', 'Democracy', { ns: 'apps-routing' }),
useCounter
};
}