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 = () => {