diff --git a/src/components/voting/ShipVotingPanel.tsx b/src/components/voting/ShipVotingPanel.tsx
index 1dc5dba1..75279ec3 100644
--- a/src/components/voting/ShipVotingPanel.tsx
+++ b/src/components/voting/ShipVotingPanel.tsx
@@ -6,12 +6,26 @@ import { useVoting } from '../../hooks/useVoting';
import { useMemo } from 'react';
import { PostedRecord } from '../../queries/getRecordsByTag';
import { formatEther } from 'viem';
-import { Avatar, Box, Flex, Paper, Text, useMantineTheme } from '@mantine/core';
+import {
+ Avatar,
+ Box,
+ Button,
+ Flex,
+ Group,
+ Modal,
+ Paper,
+ Stack,
+ Text,
+ useMantineTheme,
+} from '@mantine/core';
import { PortfolioReport } from '../dashboard/ship/PortfolioReport';
import { ContestStatus, ReportStatus, VotingStage } from '../../types/common';
import { VotingFooter } from './VotingFooter';
import { FacilitatorFooter } from './FacilitatorFooter';
import { DashGrant } from '../../resolvers/grantResolvers';
+import { useAccount, useConnect } from 'wagmi';
+import { useDisclosure } from '@mantine/hooks';
+import { IconExclamationCircle } from '@tabler/icons-react';
export const ShipVotingPanel = ({
ship,
@@ -36,6 +50,7 @@ export const ShipVotingPanel = ({
const { contest, contestStatus, refetchGsVotes, votingStage } = useVoting();
const theme = useMantineTheme();
const { userData } = useUserData();
+ const { isConnected } = useAccount();
const shipChoiceId = useMemo(() => {
return contest?.choices.find((choice) => choice.shipId === ship.id)?.id;
@@ -103,6 +118,42 @@ export const ShipVotingPanel = ({
isVotingActive={votingStage === VotingStage.Active}
/>
)}
+ {!isConnected && }
+
+ );
+};
+
+const IsNotConnected = () => {
+ const [opened, { open, close }] = useDisclosure(false);
+ const { connect, connectors } = useConnect();
+
+ return (
+
+
+ }
+ >
+ Connect Wallet
+
+
+
+
+ {[...connectors]?.reverse()?.map((connector) => (
+
+ ))}
+
+
);
};
diff --git a/src/pages/Vote.tsx b/src/pages/Vote.tsx
index 85ee9dea..d3afb265 100644
--- a/src/pages/Vote.tsx
+++ b/src/pages/Vote.tsx
@@ -39,6 +39,7 @@ import Logo from '../assets/Logo.svg?react';
import { IconExclamationCircle } from '@tabler/icons-react';
import { DashGrant } from '../resolvers/grantResolvers';
+import { useAccount } from 'wagmi';
export type VotingFormValues = z.infer;
@@ -151,6 +152,8 @@ const VotingOpen = ({
const isMobile = useMobile();
+ const { isConnected } = useAccount();
+
useEffect(
() => {
if (!ships) return;
@@ -188,7 +191,7 @@ const VotingOpen = ({
-
+ {isConnected && }