+
FAQ
+
+
+
+
+
+
+ Minimal Anti-Collusion Infrastructure (MACI) is a private, on-chain, voting system.
+
+
+ MACI is an open-source cryptographic protocol designed to facilitate secure, anonymous voting systems while
+ minimizing the potential for collusion, manipulation and bribery using zero-knowledge proofs.
+
+
+ }
+ title="What is MACI?"
+ />
+
+
+
{header}
-
+
{sidebar === "left" ? wrappedSidebar : null}
-
- {children}
-
+ {children}
{sidebar === "right" ? wrappedSidebar : null}
-
+
diff --git a/src/layouts/DefaultLayout.tsx b/src/layouts/DefaultLayout.tsx
index 896d1a5f..601ed823 100644
--- a/src/layouts/DefaultLayout.tsx
+++ b/src/layouts/DefaultLayout.tsx
@@ -14,16 +14,14 @@ import { EAppState } from "~/utils/types";
import { BaseLayout, type LayoutProps } from "./BaseLayout";
-type Props = PropsWithChildren<
- {
- sidebar?: "left" | "right";
- sidebarComponent?: ReactNode;
- showInfo?: boolean;
- showSubmitButton?: boolean;
- } & LayoutProps
->;
-
-export const Layout = ({ children = null, ...props }: Props): JSX.Element => {
+interface ILayoutProps extends PropsWithChildren
{
+ sidebar?: "left" | "right";
+ sidebarComponent?: ReactNode;
+ showInfo?: boolean;
+ showSubmitButton?: boolean;
+}
+
+export const Layout = ({ children = null, ...props }: ILayoutProps): JSX.Element => {
const { address } = useAccount();
const appState = useAppState();
const { ballot } = useBallot();
@@ -80,21 +78,23 @@ export const Layout = ({ children = null, ...props }: Props): JSX.Element => {
);
};
-export const LayoutWithSidebar = ({ ...props }: Props): JSX.Element => {
+export const LayoutWithSidebar = ({ ...props }: ILayoutProps): JSX.Element => {
const { isRegistered } = useMaci();
const { address } = useAccount();
const { ballot } = useBallot();
+ const { showInfo, showBallot, showSubmitButton } = props;
+
return (
- {props.showInfo && }
+ {showInfo && }
- {props.showBallot && address && isRegistered && }
+ {showBallot && address && isRegistered && }
- {props.showSubmitButton && ballot.votes.length > 0 && (
+ {showSubmitButton && ballot.votes.length > 0 && (
diff --git a/src/pages/signup/index.tsx b/src/pages/signup/index.tsx
index 72bff7e2..7d63602c 100644
--- a/src/pages/signup/index.tsx
+++ b/src/pages/signup/index.tsx
@@ -9,6 +9,7 @@ import { JoinButton } from "~/components/JoinButton";
import { Button } from "~/components/ui/Button";
import { config } from "~/config";
import { useMaci } from "~/contexts/Maci";
+import { FAQList } from "~/features/signup/components/FaqList";
import { Layout } from "~/layouts/DefaultLayout";
const SignupPage = (): JSX.Element => {
@@ -16,10 +17,10 @@ const SignupPage = (): JSX.Element => {
const { isRegistered } = useMaci();
return (
-
+
-
+
{config.eventName.toUpperCase()}
{config.roundId.toUpperCase()}
@@ -46,6 +47,8 @@ const SignupPage = (): JSX.Element => {
+
+
);
};