diff --git a/webviewer-clm/src/App.tsx b/webviewer-clm/src/App.tsx index d2477652..36193e6f 100644 --- a/webviewer-clm/src/App.tsx +++ b/webviewer-clm/src/App.tsx @@ -1,37 +1,21 @@ import { Refine, - GitHubBanner, - WelcomePage, - Authenticated, - useMenu, - useGetIdentity, } from "@refinedev/core"; -import { DevtoolsPanel, DevtoolsProvider } from "@refinedev/devtools"; +import { DevtoolsProvider } from "@refinedev/devtools"; import { RefineKbar, RefineKbarProvider } from "@refinedev/kbar"; -import { - AuthPage, - ErrorComponent, - useNotificationProvider, - ThemedLayout, - ThemedSider, -} from "@refinedev/antd"; +import { useNotificationProvider } from "@refinedev/antd"; import "@refinedev/antd/dist/reset.css"; import { dataProvider, liveProvider } from "@refinedev/supabase"; import { App as AntdApp } from "antd"; -import { BrowserRouter, Route, Routes, Outlet } from "react-router"; +import { BrowserRouter } from "react-router"; import routerProvider, { - NavigateToResource, - CatchAllNavigate, UnsavedChangesNotifier, DocumentTitleHandler, } from "@refinedev/react-router"; -import { TemplateList, TemplateCreate, TemplateEdit } from "./pages/templates"; -import { AppIcon } from "./components/app-icon"; import { supabaseClient } from "./utility"; import { ColorModeContextProvider } from "./contexts/color-mode"; -import { Header } from "./components/header"; import authProvider from "./authProvider"; import { ContainerOutlined, @@ -39,12 +23,7 @@ import { UserOutlined, } from "@ant-design/icons"; import AppContent from "./AppContent"; -import { UserList } from "./pages/users/list"; -import { UserEdit } from "./pages/users/edit"; -import { AgreementCreate, AgreementList, AgreementShow } from "./pages/agreements"; import AccessControlProvider from "./AccessControlProvider"; -import { AgreementSign } from "./pages/agreements/sign"; -import logo from '../src/components/logo.png'; function App() { const resources = [ @@ -77,15 +56,6 @@ function App() { icon: , }, }, - { - name: "agreements", - list: "/agreements", - create: "/agreements/create", - show: "/agreements/show/:id", - meta: { - icon: , - }, - }, ]; return ( @@ -109,76 +79,7 @@ function App() { title: { text: "", icon: <> }, }} > - - } - > - }> - - - - } - > - } - /> - - } /> - } /> - } /> - - - } /> - } /> - - - } /> - } /> - } /> - } /> - - } /> - - } - > - - - } - > - - } - /> - } - /> - } - /> - - + diff --git a/webviewer-clm/src/AppContent.tsx b/webviewer-clm/src/AppContent.tsx index 2fb73b56..5e8b3499 100644 --- a/webviewer-clm/src/AppContent.tsx +++ b/webviewer-clm/src/AppContent.tsx @@ -1,52 +1,26 @@ -import { - Authenticated, - useMenu, - useGetIdentity, -} from "@refinedev/core"; +import { Authenticated } from "@refinedev/core"; import { AuthPage, ErrorComponent, - useNotificationProvider, ThemedLayout, ThemedSider, } from "@refinedev/antd"; import "@refinedev/antd/dist/reset.css"; -import { BrowserRouter, Route, Routes, Outlet } from "react-router"; -import routerProvider, { +import { Route, Routes, Outlet } from "react-router"; +import { NavigateToResource, CatchAllNavigate, } from "@refinedev/react-router"; import { TemplateList, TemplateCreate, TemplateEdit } from "./pages/templates"; import { Header } from "./components/header"; -import { - ContainerOutlined, - FileFilled, - FileOutlined, - UserOutlined, -} from "@ant-design/icons"; -import { UserCreate } from "./pages/users"; import { UserList } from "./pages/users/list"; import { UserEdit } from "./pages/users/edit"; -import { useEffect } from "react"; import { AgreementList, AgreementCreate, AgreementShow } from "./pages/agreements"; +import { AgreementSign } from "./pages/agreements/sign"; const AppContent = () => { - - const { data: identity } = useGetIdentity(); - - useEffect(() => { - console.log(identity); - }, [identity]); - - - const isAdmin = identity?.user_metadata?.role == "admin"; - - useEffect(() => { - console.log("Admin",isAdmin) - },[isAdmin]) - return ( { }> - } - /> - - } /> - } /> - } /> - - - } /> - } /> - - - } /> - } /> - } /> - - } - /> - - } /> - } /> - } /> - + } /> + + } /> + } /> + } /> + + + } /> + } /> + + + } /> + } /> + } /> + } /> + } /> { ); -}; +}; -export default AppContent \ No newline at end of file +export default AppContent; diff --git a/webviewer-clm/src/pages/agreements/create.tsx b/webviewer-clm/src/pages/agreements/create.tsx index e54cb5d6..ac805113 100644 --- a/webviewer-clm/src/pages/agreements/create.tsx +++ b/webviewer-clm/src/pages/agreements/create.tsx @@ -77,7 +77,7 @@ export const AgreementCreate = () => { return; } const { Core } = instance; - const { PDFNet, Math, Annotations } = Core; + const { PDFNet, Math: PDFNetMath, Annotations } = Core; const { WidgetFlags } = Annotations; await PDFNet.initialize() @@ -125,8 +125,8 @@ export const AgreementCreate = () => { highlights.begin(document); let quad = (await highlights.getCurrentQuads())[0]; - var mathRect = new Math.Quad(quad?.p1x, quad?.p1y, quad?.p2x, quad?.p2y, quad?.p3x, quad?.p3y, quad?.p4x, quad?.p4y).toRect(); - var rect = new PDFNet.Rect(mathRect.x1, mathRect.y1, mathRect.x2, mathRect.y2); + const mathRect = new PDFNetMath.Quad(quad?.p1x, quad?.p1y, quad?.p2x, quad?.p2y, quad?.p3x, quad?.p3y, quad?.p4x, quad?.p4y).toRect(); + const rect = new PDFNet.Rect(mathRect.x1, mathRect.y1, mathRect.x2, mathRect.y2); await replacer.addString(result.out_str.slice(1,-1), ''); const page = await document.getPage(result?.page_num) diff --git a/webviewer-clm/src/pages/blog-posts/create.tsx b/webviewer-clm/src/pages/blog-posts/create.tsx index 0042b868..62cf076e 100644 --- a/webviewer-clm/src/pages/blog-posts/create.tsx +++ b/webviewer-clm/src/pages/blog-posts/create.tsx @@ -1,7 +1,7 @@ import { Create, useForm, useSelect } from "@refinedev/antd"; -import MDEditor from "@uiw/react-md-editor"; -import { Form, Input, Select } from "antd"; +import { Form } from "antd"; import React from "react"; +import { BlogPostFormFields } from "./form"; export const BlogPostCreate = () => { const { formProps, saveButtonProps } = useForm({}); @@ -13,59 +13,7 @@ export const BlogPostCreate = () => { return (
- - - - - - - - - +
); diff --git a/webviewer-clm/src/pages/blog-posts/edit.tsx b/webviewer-clm/src/pages/blog-posts/edit.tsx index 38888cc8..a6bc3f38 100644 --- a/webviewer-clm/src/pages/blog-posts/edit.tsx +++ b/webviewer-clm/src/pages/blog-posts/edit.tsx @@ -1,7 +1,7 @@ import { Edit, useForm, useSelect } from "@refinedev/antd"; -import MDEditor from "@uiw/react-md-editor"; -import { Form, Input, Select } from "antd"; +import { Form } from "antd"; import React from "react"; +import { BlogPostFormFields } from "./form"; export const BlogPostEdit = () => { const { formProps, saveButtonProps, query, formLoading } = useForm({}); @@ -19,60 +19,10 @@ export const BlogPostEdit = () => { return (
- - - - - - - - - +
); diff --git a/webviewer-clm/src/pages/blog-posts/form.tsx b/webviewer-clm/src/pages/blog-posts/form.tsx new file mode 100644 index 00000000..77c053f2 --- /dev/null +++ b/webviewer-clm/src/pages/blog-posts/form.tsx @@ -0,0 +1,67 @@ +import MDEditor from "@uiw/react-md-editor"; +import { Form, Input, Select } from "antd"; + +const statusOptions = [ + { value: "draft", label: "Draft" }, + { value: "published", label: "Published" }, + { value: "rejected", label: "Rejected" }, +]; + +type BlogPostFormFieldsProps = { + categorySelectProps: any; + categoryInitialValue?: string; +}; + +export const BlogPostFormFields = ({ + categorySelectProps, + categoryInitialValue, +}: BlogPostFormFieldsProps) => ( + <> + + + + + + + + + + +); diff --git a/webviewer-clm/src/pages/templates/create.tsx b/webviewer-clm/src/pages/templates/create.tsx index f07a5574..4e9c7188 100644 --- a/webviewer-clm/src/pages/templates/create.tsx +++ b/webviewer-clm/src/pages/templates/create.tsx @@ -1,21 +1,25 @@ -import { Create, useForm, useSelect } from "@refinedev/antd"; -import { Flex, Form, Input, Select } from "antd"; +import { Create, useForm } from "@refinedev/antd"; +import { Flex, Form } from "antd"; import React, { useEffect, useRef, useState } from "react"; -import { InboxOutlined } from "@ant-design/icons"; -import Dragger from "antd/lib/upload/Dragger"; import WebViewer, { WebViewerInstance } from "@pdftron/webviewer"; import { encode } from "base64-arraybuffer"; import { wvCardProps } from "../../utility/wv.props"; export const TemplateCreate = () => { const viewer = useRef(null); const wvInstance = useRef(null); - const { form, formProps, saveButtonProps, onFinish } = useForm({}); + const { formProps, saveButtonProps, onFinish } = useForm({}); const [loading, setLoading] = useState(true); const handleOnFinish = async () => { - const { documentViewer } = wvInstance.current?.Core!; + const documentViewer = wvInstance.current?.Core?.documentViewer; + if (!documentViewer) { + return; + } const document = documentViewer.getDocument(); + if (!document) { + return; + } const title = document.getFilename(); const fileData = await document.getFileData(); const base64 = encode(fileData);