diff --git a/web/src/app.tsx b/web/src/app.tsx index 7fc3b8af8..83f82eac0 100644 --- a/web/src/app.tsx +++ b/web/src/app.tsx @@ -26,6 +26,7 @@ import Loader from "components/Loader"; import Layout from "layout/index"; import ErrorFallback from "./components/ErrorFallback"; +import AttachmentDisplay from "./pages/AttachmentDisplay"; import { SentryRoutes } from "./utils/sentry"; const App: React.FC = () => { @@ -104,6 +105,14 @@ const App: React.FC = () => { } /> + }> + + + } + /> Page not found} /> diff --git a/web/src/assets/svgs/icons/caseFromScratch.svg b/web/src/assets/svgs/icons/caseFromScratch.svg new file mode 100644 index 000000000..d19aab741 --- /dev/null +++ b/web/src/assets/svgs/icons/caseFromScratch.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/web/src/assets/svgs/icons/duplicateCase.svg b/web/src/assets/svgs/icons/duplicateCase.svg new file mode 100644 index 000000000..91ce906f1 --- /dev/null +++ b/web/src/assets/svgs/icons/duplicateCase.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/web/src/components/DisputePreview/Policies.tsx b/web/src/components/DisputePreview/Policies.tsx index a2d0774c9..ad19094e0 100644 --- a/web/src/components/DisputePreview/Policies.tsx +++ b/web/src/components/DisputePreview/Policies.tsx @@ -71,13 +71,13 @@ export const Policies: React.FC = ({ disputePolicyURI, courtId, attac Policy documents: {!isUndefined(attachment) && !isUndefined(attachment.uri) ? ( - + {attachment.label ?? "Attachment"} ) : null} {isUndefined(disputePolicyURI) ? null : ( - + Dispute Policy diff --git a/web/src/components/EnsureAuth.tsx b/web/src/components/EnsureAuth.tsx index 6d8d2af88..e3f69264e 100644 --- a/web/src/components/EnsureAuth.tsx +++ b/web/src/components/EnsureAuth.tsx @@ -1,18 +1,37 @@ import React, { useCallback } from "react"; +import styled from "styled-components"; import { useAccount } from "wagmi"; + import { useAtlasProvider } from "@kleros/kleros-app"; import { Button } from "@kleros/ui-components-library"; + import { errorToast, infoToast, successToast } from "utils/wrapWithToast"; +const Container = styled.div` + display: flex; + flex-direction: column; + gap: 16px; + justify-content: center; + align-items: center; +`; + +const StyledInfo = styled.p` + margin: 0; + padding: 0; +`; + interface IEnsureAuth { children: React.ReactElement; + message?: string; + buttonText?: string; className?: string; } -const EnsureAuth: React.FC = ({ children, className }) => { +const EnsureAuth: React.FC = ({ children, message, buttonText, className }) => { const { address } = useAccount(); const { isVerified, isSigningIn, authoriseUser } = useAtlasProvider(); + const handleClick = useCallback(() => { infoToast(`Signing in User...`); @@ -26,13 +45,16 @@ const EnsureAuth: React.FC = ({ children, className }) => { return isVerified ? ( children ) : ( -