+
+
+ {/*
+ Your Vote
+ */}
+
+
+ {voteValue && voteValue.amount.gt("0") ? (
+ <>
+
+
+ >
+ ) : proposal.state === "active" ? (
+ <>
+
+
+ >
+ ) : proposal.state === "closed" ? (
+ <>
+
+
+ >
+ ) : (
+ <>
+
+
+ >
+ )}
+
+ <>
+ {voteValue && !voteValue.amount.gt("0") && (
+ <>
+
+ setVote("yes")}
+ >
+ Yes
+
+ setVote("no")}
+ >
+ No
+
+
+
+
+
+ {submitVote.isLoading ? `Voting ${capitalize(vote)}...` : `Vote ${capitalize(vote)}`}
+
+
+
+ >
+ )}
+
+ {voterAddress && proposal.isActive && }
+ >
+ {(proposal.state === "discussion" || proposal.state === "ready to activate") && (
+ This Proposal is not yet active for voting.
+ )}
+ {proposal.state === "expired activation" && This Proposal missed it's activation window.
}
+
+ );
+};
diff --git a/src/views/Governance/components/ProposalPage/components/PollDetailsTab.tsx b/src/views/Governance/components/ProposalPage/components/PollDetailsTab.tsx
new file mode 100644
index 0000000000..48ca085bef
--- /dev/null
+++ b/src/views/Governance/components/ProposalPage/components/PollDetailsTab.tsx
@@ -0,0 +1,119 @@
+import { Box, Skeleton, styled, Typography, useTheme } from "@mui/material";
+import { Paper, TertiaryButton } from "@olympusdao/component-library";
+import { useGetInstructions } from "src/hooks/useProposal";
+import { ProposalAction, ProposalActionsReadable } from "src/hooks/useProposals";
+import { MarkdownPreview } from "src/views/Governance/components/MarkdownPreview";
+import { ActivateVoting } from "src/views/Governance/components/ProposalPage/components/ActivateVoting";
+import ReclaimVohmButton from "src/views/Governance/components/ReclaimVohmButton";
+import { ProposalTabProps } from "src/views/Governance/interfaces";
+import { useNetwork } from "wagmi";
+
+export const GovHTypography = styled(Typography)({
+ fontSize: "18px",
+ lineHeight: "28px",
+ fontWeight: 600,
+});
+
+export const PollDetailsTab = ({ proposal }: ProposalTabProps) => {
+ const theme = useTheme();
+ const { data: instructions, isLoading } = useGetInstructions(proposal.id);
+
+ const renderInstructions = () => {
+ if (instructions && instructions.length > 0) {
+ return instructions.map((instruction, index) => {
+ return