diff --git a/front/app/orgs/[orgslug]/(withmenu)/course/[courseid]/activity/[activityid]/activity.tsx b/front/app/orgs/[orgslug]/(withmenu)/course/[courseid]/activity/[activityid]/activity.tsx index 4086f673..ccec39b9 100644 --- a/front/app/orgs/[orgslug]/(withmenu)/course/[courseid]/activity/[activityid]/activity.tsx +++ b/front/app/orgs/[orgslug]/(withmenu)/course/[courseid]/activity/[activityid]/activity.tsx @@ -1,7 +1,6 @@ "use client"; import Link from "next/link"; -import React from "react"; -import { getAPIUrl, getBackendUrl, getUriWithOrg } from "@services/config/config"; +import { getUriWithOrg } from "@services/config/config"; import Canva from "@components/Pages/Activities/DynamicCanva/DynamicCanva"; import VideoActivity from "@components/Pages/Activities/Video/Video"; import { Check } from "lucide-react"; @@ -41,8 +40,6 @@ function ActivityClient(props: ActivityClientProps) { - - return ( <> @@ -74,18 +71,12 @@ function ActivityClient(props: ActivityClientProps) { {activity ? ( -
+
{activity.type == "dynamic" && } {/* todo : use apis & streams instead of this */} {activity.type == "video" && } - {activity.type == "documentpdf" && } - -
- - -
) : (
)} diff --git a/front/components/Objects/Editor/Editor.tsx b/front/components/Objects/Editor/Editor.tsx index 0b44e7a6..79b35d47 100644 --- a/front/components/Objects/Editor/Editor.tsx +++ b/front/components/Objects/Editor/Editor.tsx @@ -2,16 +2,13 @@ import React from "react"; import { useEditor, EditorContent } from "@tiptap/react"; import StarterKit from "@tiptap/starter-kit"; -import Collaboration from "@tiptap/extension-collaboration"; -import CollaborationCursor from "@tiptap/extension-collaboration-cursor"; import { AuthContext } from "../../Security/AuthProvider"; import learnhouseIcon from "public/learnhouse_icon.png"; import { ToolbarButtons } from "./Toolbar/ToolbarButtons"; -import { motion, AnimatePresence } from "framer-motion"; +import { motion } from "framer-motion"; import Image from "next/image"; import styled from "styled-components"; -import { getBackendUrl, getUriWithOrg } from "@services/config/config"; -import { DividerVerticalIcon, EyeOpenIcon, SlashIcon } from "@radix-ui/react-icons"; +import { DividerVerticalIcon, SlashIcon } from "@radix-ui/react-icons"; import Avvvatars from "avvvatars-react"; // extensions import InfoCallout from "./Extensions/Callout/Info/InfoCallout"; @@ -19,7 +16,7 @@ import WarningCallout from "./Extensions/Callout/Warning/WarningCallout"; import ImageBlock from "./Extensions/Image/ImageBlock"; import Youtube from "@tiptap/extension-youtube"; import VideoBlock from "./Extensions/Video/VideoBlock"; -import { Eye, Save } from "lucide-react"; +import { Eye } from "lucide-react"; import MathEquationBlock from "./Extensions/MathEquation/MathEquationBlock"; import PDFBlock from "./Extensions/PDF/PDFBlock"; import QuizBlock from "./Extensions/Quiz/QuizBlock"; @@ -120,7 +117,7 @@ function Editor(props: Editor) { - + diff --git a/front/components/Objects/Editor/EditorWrapper.tsx b/front/components/Objects/Editor/EditorWrapper.tsx index ed09a6d9..a82ea11d 100644 --- a/front/components/Objects/Editor/EditorWrapper.tsx +++ b/front/components/Objects/Editor/EditorWrapper.tsx @@ -1,7 +1,6 @@ 'use client'; import { default as React, } from "react"; import * as Y from "yjs"; -import { WebrtcProvider } from "y-webrtc"; import Editor from "./Editor"; import { updateActivity } from "@services/courses/activities"; import { toast } from "react-hot-toast"; diff --git a/front/components/Objects/Editor/Extensions/Callout/Info/InfoCalloutComponent.tsx b/front/components/Objects/Editor/Extensions/Callout/Info/InfoCalloutComponent.tsx index b04503b9..e6037a5c 100644 --- a/front/components/Objects/Editor/Extensions/Callout/Info/InfoCalloutComponent.tsx +++ b/front/components/Objects/Editor/Extensions/Callout/Info/InfoCalloutComponent.tsx @@ -6,7 +6,7 @@ import styled from "styled-components"; function InfoCalloutComponent(props: any) { return ( - + @@ -14,16 +14,6 @@ function InfoCalloutComponent(props: any) { } const InfoCalloutWrapper = styled.div` - display: flex; - flex-direction: row; - color: #1f3a8a; - background-color: #dbe9fe; - border: 1px solid #c1d9fb; - border-radius: 16px; - margin: 1rem 0; - align-items: center; - padding-left: 15px; - svg{ padding: 3px; } diff --git a/front/components/Objects/Editor/Extensions/Callout/Warning/WarningCalloutComponent.tsx b/front/components/Objects/Editor/Extensions/Callout/Warning/WarningCalloutComponent.tsx index 10f250ec..d168350c 100644 --- a/front/components/Objects/Editor/Extensions/Callout/Warning/WarningCalloutComponent.tsx +++ b/front/components/Objects/Editor/Extensions/Callout/Warning/WarningCalloutComponent.tsx @@ -6,23 +6,15 @@ import styled from "styled-components"; function WarningCalloutComponent(props: any) { return ( - - + + ); } const CalloutWrapper = styled.div` - display: flex; - flex-direction: row; - background: #fefce8; - color: #713f11; - border: 1px solid #fff103; - border-radius: 16px; - margin: 1rem 0; - align-items: center; - padding-left: 15px; + svg { padding: 3px; diff --git a/front/components/Objects/Editor/Extensions/Image/ImageBlockComponent.tsx b/front/components/Objects/Editor/Extensions/Image/ImageBlockComponent.tsx index 02fdb9a6..6e3c21d4 100644 --- a/front/components/Objects/Editor/Extensions/Image/ImageBlockComponent.tsx +++ b/front/components/Objects/Editor/Extensions/Image/ImageBlockComponent.tsx @@ -2,11 +2,9 @@ import { NodeViewWrapper } from "@tiptap/react"; import React from "react"; import styled from "styled-components"; import { Resizable } from 're-resizable'; - -import * as AspectRatio from '@radix-ui/react-aspect-ratio'; -import { AlertCircle, AlertTriangle, Image, ImagePlus, Info } from "lucide-react"; -import { getImageFile, uploadNewImageFile } from "../../../../../services/blocks/Image/images"; -import { getBackendUrl } from "../../../../../services/config/config"; +import { AlertTriangle, Image, Loader } from "lucide-react"; +import { uploadNewImageFile } from "../../../../../services/blocks/Image/images"; +import { UploadIcon } from "@radix-ui/react-icons"; import { getActivityBlockMediaDirectory } from "@services/media/media"; function ImageBlockComponent(props: any) { @@ -34,33 +32,30 @@ function ImageBlockComponent(props: any) { return ( - {!blockObject && ( - -
- -
-
- -
- + {!blockObject && props.extension.options.editable && ( + + {isLoading ? ( + + ) : ( + <> +
+ +
+ + + + )}
)} {blockObject && ( { props.updateAttributes({ size: { @@ -73,21 +68,17 @@ function ImageBlockComponent(props: any) { }} > - - - - {blockObject.block_id} - + - )} {isLoading && ( @@ -102,19 +93,11 @@ function ImageBlockComponent(props: any) { export default ImageBlockComponent; const BlockImageWrapper = styled.div` - display: flex; - flex-direction: column; - background: #f9f9f9; - border-radius: 3px; - padding: 30px; - min-height: 74px; - border: ${(props) => (props.contentEditable ? "2px dashed #713f1117" : "none")}; - - // center align-items: center; justify-content: center; text-align: center; font-size: 14px; + `; const BlockImage = styled.div` @@ -128,11 +111,5 @@ const BlockImage = styled.div` font-size: 14px; - img{ - object-fit: "cover"; - width: 100%; - height: 100%; - border-radius: 6px; - } `; diff --git a/front/components/Objects/Editor/Extensions/MathEquation/MathEquationBlockComponent.tsx b/front/components/Objects/Editor/Extensions/MathEquation/MathEquationBlockComponent.tsx index 906f723a..4c2938cb 100644 --- a/front/components/Objects/Editor/Extensions/MathEquation/MathEquationBlockComponent.tsx +++ b/front/components/Objects/Editor/Extensions/MathEquation/MathEquationBlockComponent.tsx @@ -22,26 +22,18 @@ function MathEquationBlockComponent(props: any) { props.updateAttributes({ math_equation: equation, }); - setIsEditing(false); + //setIsEditing(false); }; return ( - - {isEditable && ( - - - Edit - - )} + {equation} {isEditing && isEditable && ( <> - @@ -57,27 +49,6 @@ function MathEquationBlockComponent(props: any) { export default MathEquationBlockComponent; const MathEqWrapper = styled.div` - display: flex; - flex-direction: column; - background: #f9f9f9a2; - border-radius: 8px; - margin: 20px; - padding: 20px; - min-height: 74px; - border: ${(props) => (props.contentEditable ? "2px dashed #713f1117" : "none")}; -`; - -const MathEqTopMenu = styled.div` - display: flex; - justify-content: flex-start; - button { - margin-left: 10px; - cursor: pointer; - border: none; - background: none; - font-size: 14px; - color: #494949; - } `; const EditBar = styled.div` diff --git a/front/components/Objects/Editor/Extensions/PDF/PDFBlockComponent.tsx b/front/components/Objects/Editor/Extensions/PDF/PDFBlockComponent.tsx index da38f04f..74fe0d77 100644 --- a/front/components/Objects/Editor/Extensions/PDF/PDFBlockComponent.tsx +++ b/front/components/Objects/Editor/Extensions/PDF/PDFBlockComponent.tsx @@ -1,9 +1,10 @@ import { NodeViewWrapper } from "@tiptap/react"; import React from "react"; import styled from "styled-components"; -import { AlertCircle, AlertTriangle, FileText, Image, ImagePlus, Info } from "lucide-react"; +import { AlertCircle, AlertTriangle, FileText, Image, ImagePlus, Info, Loader } from "lucide-react"; import { getPDFFile, uploadNewPDFFile } from "../../../../../services/blocks/Pdf/pdf"; import { getBackendUrl } from "../../../../../services/config/config"; +import { UploadIcon } from "@radix-ui/react-icons"; import { getActivityBlockMediaDirectory } from "@services/media/media"; function PDFBlockComponent(props: any) { @@ -30,19 +31,24 @@ function PDFBlockComponent(props: any) { return ( {!blockObject && ( - -
- -
-
- -
- + + {isLoading ? ( + + ) : ( + <> +
+ +
+ + + + )}
)} {blockObject && (