diff --git a/mobile/src/screens/TaxZekatScreen.tsx b/mobile/src/screens/TaxZekatScreen.tsx
index 99725540..9517eada 100644
--- a/mobile/src/screens/TaxZekatScreen.tsx
+++ b/mobile/src/screens/TaxZekatScreen.tsx
@@ -4,7 +4,6 @@ import {
Text,
TouchableOpacity,
StyleSheet,
- SafeAreaView,
ScrollView,
StatusBar,
TextInput,
@@ -133,9 +132,9 @@ const TaxZekatScreen: React.FC = () => {
const treasuryAccount = treasuryAccountOption.toString();
if (__DEV__) {
- console.log('[TaxZekat] Treasury account:', treasuryAccount.toString());
- console.log('[TaxZekat] Amount:', amountInUnits.toString());
- console.log('[TaxZekat] Remark:', remarkMessage);
+ console.warn('[TaxZekat] Treasury account:', treasuryAccount.toString());
+ console.warn('[TaxZekat] Amount:', amountInUnits.toString());
+ console.warn('[TaxZekat] Remark:', remarkMessage);
}
// Batch: Transfer to treasury + Remark with allocation data
diff --git a/mobile/src/screens/WhatsKURDScreen.tsx b/mobile/src/screens/WhatsKURDScreen.tsx
index 1ae8fe79..52f0e2ff 100644
--- a/mobile/src/screens/WhatsKURDScreen.tsx
+++ b/mobile/src/screens/WhatsKURDScreen.tsx
@@ -14,7 +14,7 @@ const WhatsKURDScreen: React.FC = () => {
whatsKURD - Peyamgera nenavendî ya Kurdistanê dê zû were.
- whatsKURD - Kurdistan's decentralized messenger coming soon.
+ whatsKURD - Kurdistan's decentralized messenger coming soon.
diff --git a/mobile/src/screens/governance/DelegationScreen.tsx b/mobile/src/screens/governance/DelegationScreen.tsx
index 8655b9c7..dd107331 100644
--- a/mobile/src/screens/governance/DelegationScreen.tsx
+++ b/mobile/src/screens/governance/DelegationScreen.tsx
@@ -75,8 +75,8 @@ const DelegationScreen: React.FC = () => {
const votingEntries = await api.query.democracy.voting.entries();
const delegatesMap = new Map();
- votingEntries.forEach(([key, value]: any) => {
- const voter = key.args[0].toString();
+ votingEntries.forEach(([key, value]: [{ args: [{ toString: () => string }] }, { isDelegating: boolean; asDelegating: { target: { toString: () => string }; balance: { toString: () => string } } }]) => {
+ const _voter = key.args[0].toString();
const voting = value;
if (voting.isDelegating) {
@@ -114,7 +114,8 @@ const DelegationScreen: React.FC = () => {
// Fetch user's delegations
if (selectedAccount) {
- const userVoting = await api.query.democracy.voting(selectedAccount.address) as any;
+ const userVotingResult = await api.query.democracy.voting(selectedAccount.address);
+ const userVoting = userVotingResult as unknown as { isDelegating: boolean; asDelegating: { target: { toString: () => string }; balance: { toString: () => string }; conviction: { toNumber: () => number } } };
if (userVoting.isDelegating) {
const delegating = userVoting.asDelegating;
setUserDelegations([{
@@ -130,8 +131,8 @@ const DelegationScreen: React.FC = () => {
}
}
}
- } catch (error) {
- console.error('Failed to load delegation data:', error);
+ } catch (_error) {
+ if (__DEV__) console.error('Failed to load delegation data:', _error);
Alert.alert('Error', 'Failed to load delegation data from blockchain');
} finally {
setLoading(false);
@@ -143,6 +144,7 @@ const DelegationScreen: React.FC = () => {
fetchDelegationData();
const interval = setInterval(fetchDelegationData, 30000);
return () => clearInterval(interval);
+ // eslint-disable-next-line react-hooks/exhaustive-deps
}, [api, isApiReady]);
const handleRefresh = () => {
diff --git a/mobile/src/screens/governance/ElectionsScreen.tsx b/mobile/src/screens/governance/ElectionsScreen.tsx
index 8e9b6875..b56f3eb3 100644
--- a/mobile/src/screens/governance/ElectionsScreen.tsx
+++ b/mobile/src/screens/governance/ElectionsScreen.tsx
@@ -32,7 +32,7 @@ interface Candidate {
// Mock data removed - using dynamicCommissionCollective pallet for elections
const ElectionsScreen: React.FC = () => {
- const { api, isApiReady, error: connectionError } = usePezkuwi();
+ const { api, isApiReady } = usePezkuwi();
const [elections, setElections] = useState([]);
const [loading, setLoading] = useState(false);
@@ -47,12 +47,14 @@ const ElectionsScreen: React.FC = () => {
// Fetch commission proposals (acting as elections)
if (api.query.dynamicCommissionCollective?.proposals) {
- const proposalHashes = await api.query.dynamicCommissionCollective.proposals() as any;
+ const proposalHashesResult = await api.query.dynamicCommissionCollective.proposals();
+ const proposalHashes = proposalHashesResult as unknown as Array<{ toString: () => string }>;
const electionsData: ElectionInfo[] = [];
for (const hash of (proposalHashes || [])) {
- const voting = await api.query.dynamicCommissionCollective.voting(hash) as any;
+ const votingResult = await api.query.dynamicCommissionCollective.voting(hash);
+ const voting = votingResult as unknown as { isSome: boolean; unwrap: () => { end?: { toNumber: () => number }; threshold?: { toNumber: () => number }; ayes?: unknown[]; nays?: unknown[] } };
if (voting.isSome) {
const voteData = voting.unwrap();
electionsData.push({
@@ -68,8 +70,8 @@ const ElectionsScreen: React.FC = () => {
setElections(electionsData);
}
- } catch (error) {
- console.error('Failed to load elections:', error);
+ } catch (_error) {
+ if (__DEV__) console.error('Failed to load elections:', _error);
Alert.alert('Error', 'Failed to load elections data from blockchain');
} finally {
setLoading(false);
@@ -81,6 +83,7 @@ const ElectionsScreen: React.FC = () => {
fetchElections();
const interval = setInterval(fetchElections, 30000);
return () => clearInterval(interval);
+ // eslint-disable-next-line react-hooks/exhaustive-deps
}, [api, isApiReady]);
const handleRefresh = () => {