From 4b35e14b933614d2fb9da262bb55ad51ace07a3f Mon Sep 17 00:00:00 2001 From: Sonia Lomo <49971500+sonylomo@users.noreply.github.com> Date: Mon, 13 Nov 2023 13:51:13 +0300 Subject: [PATCH] Revert "Feat/blog admin forms" --- package.json | 1 - .../{chapters => }/AddChapterForm.jsx | 0 src/ADMIN/components/AdminHeader.jsx | 6 +- src/ADMIN/components/BottomNavBar.jsx | 2 +- .../{chapters => }/DropdownInput.jsx | 0 .../components/{chapters => }/GeneralInfo.jsx | 0 .../components/{chapters => }/Organizers.jsx | 0 .../{chapters => }/SocialMediaLinks.jsx | 0 .../{chapters => }/StepIndicator.jsx | 0 src/ADMIN/components/blogs/BlogsHeader.jsx | 51 ---- src/ADMIN/index.js | 4 - src/ADMIN/pages/blogs/CreatePost.jsx | 223 ------------------ src/ADMIN/pages/blogs/ManagePosts.jsx | 69 ------ src/ADMIN/pages/chapters/AddChapterPage.jsx | 4 +- .../pages/aboutUs/sections/HeroSection.jsx | 2 +- src/APP/pages/community/CommunityPage.jsx | 2 +- .../sections/eventsSection/EventsTab.jsx | 82 ++----- .../eventsSection/EventsUpdateSection.jsx | 129 +++------- .../landingPage/sections/HeroSection3.jsx | 2 +- src/AUTH/pages/LogIn.jsx | 2 +- src/index.css | 26 -- src/router/index.jsx | 10 - 22 files changed, 65 insertions(+), 550 deletions(-) rename src/ADMIN/components/{chapters => }/AddChapterForm.jsx (100%) rename src/ADMIN/components/{chapters => }/DropdownInput.jsx (100%) rename src/ADMIN/components/{chapters => }/GeneralInfo.jsx (100%) rename src/ADMIN/components/{chapters => }/Organizers.jsx (100%) rename src/ADMIN/components/{chapters => }/SocialMediaLinks.jsx (100%) rename src/ADMIN/components/{chapters => }/StepIndicator.jsx (100%) delete mode 100644 src/ADMIN/components/blogs/BlogsHeader.jsx delete mode 100644 src/ADMIN/pages/blogs/CreatePost.jsx delete mode 100644 src/ADMIN/pages/blogs/ManagePosts.jsx diff --git a/package.json b/package.json index fe99cdac..6578e145 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,6 @@ "prop-types": "^15.8.1", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-quill": "^2.0.0", "react-router-dom": "^6.11.2", "tailwind-scrollbar-hide": "^1.1.7" }, diff --git a/src/ADMIN/components/chapters/AddChapterForm.jsx b/src/ADMIN/components/AddChapterForm.jsx similarity index 100% rename from src/ADMIN/components/chapters/AddChapterForm.jsx rename to src/ADMIN/components/AddChapterForm.jsx diff --git a/src/ADMIN/components/AdminHeader.jsx b/src/ADMIN/components/AdminHeader.jsx index 714a128d..feebe183 100644 --- a/src/ADMIN/components/AdminHeader.jsx +++ b/src/ADMIN/components/AdminHeader.jsx @@ -50,7 +50,7 @@ function AdminHeader() { Blogs @@ -76,13 +76,13 @@ function AdminHeader() {
notification icon profile pic diff --git a/src/ADMIN/components/BottomNavBar.jsx b/src/ADMIN/components/BottomNavBar.jsx index 85a9c5bb..72566801 100644 --- a/src/ADMIN/components/BottomNavBar.jsx +++ b/src/ADMIN/components/BottomNavBar.jsx @@ -12,7 +12,7 @@ function BottomNavBar() { Blogs diff --git a/src/ADMIN/components/chapters/DropdownInput.jsx b/src/ADMIN/components/DropdownInput.jsx similarity index 100% rename from src/ADMIN/components/chapters/DropdownInput.jsx rename to src/ADMIN/components/DropdownInput.jsx diff --git a/src/ADMIN/components/chapters/GeneralInfo.jsx b/src/ADMIN/components/GeneralInfo.jsx similarity index 100% rename from src/ADMIN/components/chapters/GeneralInfo.jsx rename to src/ADMIN/components/GeneralInfo.jsx diff --git a/src/ADMIN/components/chapters/Organizers.jsx b/src/ADMIN/components/Organizers.jsx similarity index 100% rename from src/ADMIN/components/chapters/Organizers.jsx rename to src/ADMIN/components/Organizers.jsx diff --git a/src/ADMIN/components/chapters/SocialMediaLinks.jsx b/src/ADMIN/components/SocialMediaLinks.jsx similarity index 100% rename from src/ADMIN/components/chapters/SocialMediaLinks.jsx rename to src/ADMIN/components/SocialMediaLinks.jsx diff --git a/src/ADMIN/components/chapters/StepIndicator.jsx b/src/ADMIN/components/StepIndicator.jsx similarity index 100% rename from src/ADMIN/components/chapters/StepIndicator.jsx rename to src/ADMIN/components/StepIndicator.jsx diff --git a/src/ADMIN/components/blogs/BlogsHeader.jsx b/src/ADMIN/components/blogs/BlogsHeader.jsx deleted file mode 100644 index fbaf64fa..00000000 --- a/src/ADMIN/components/blogs/BlogsHeader.jsx +++ /dev/null @@ -1,51 +0,0 @@ -import React from "react"; -import { useNavigate } from "react-router-dom"; -import PropTypes from "prop-types"; - -function BlogsHeader({ pageType }) { - const navigate = useNavigate(); - - const ActiveBtnClasses = - "bg-[#009975] text-center text-white rounded-lg border-0 py-3 px-5 sm:px-8 w-full sm:w-52 hover:bg-white hover:border hover:border-[#009975] hover:text-[#009975] focus:outline-none"; - const SecondaryBtnClasses = - "hover:bg-[#009975] text-center text-[#009975] hover:text-white rounded-lg border py-3 px-5 sm:px-8 w-full sm:w-52 border-[#009975] focus:outline-none"; - - return ( -
-

- {pageType === "CreatePost" ? "Create Post" : "Manage Posts"} -

-
- - - -
-
- ); -} - -export default BlogsHeader; - -BlogsHeader.propTypes = { - pageType: PropTypes.oneOf(["CreatePost", "ManagePosts"]), -}; - -BlogsHeader.defaultProps = { - pageType: "CreatePost", -}; diff --git a/src/ADMIN/index.js b/src/ADMIN/index.js index e4f99b0a..d3724d52 100644 --- a/src/ADMIN/index.js +++ b/src/ADMIN/index.js @@ -5,8 +5,6 @@ import AddEventPage from "./pages/events/AddEventPage"; import AllEventsPage from "./pages/events/AllEventsPage"; import UpdateEventPage from "./pages/events/UpdateEventPage"; import AdminLayout from "./components/AdminLayout"; -import CreatePost from "./pages/blogs/CreatePost"; -import ManagePosts from "./pages/blogs/ManagePosts"; export { AddChapterPage, @@ -16,6 +14,4 @@ export { AllEventsPage, UpdateEventPage, AdminLayout, - CreatePost, - ManagePosts, }; diff --git a/src/ADMIN/pages/blogs/CreatePost.jsx b/src/ADMIN/pages/blogs/CreatePost.jsx deleted file mode 100644 index 707e1f67..00000000 --- a/src/ADMIN/pages/blogs/CreatePost.jsx +++ /dev/null @@ -1,223 +0,0 @@ -import React, { useState, useEffect } from "react"; -import axios from "axios"; -import { Listbox, Transition } from "@headlessui/react"; -import { Navigate, useNavigate } from "react-router-dom"; -import ReactQuill from "react-quill"; -import BlogsHeader from "../../components/blogs/BlogsHeader"; -import useAuth from "../../../hooks/useAuth"; -import "react-quill/dist/quill.snow.css"; - -function CreatePost() { - const { auth } = useAuth(); - const [categories, setCategories] = useState([]); - const [title, setTitle] = useState(""); - const [description, setDescription] = useState(""); - const [body, setBody] = useState(""); - const [selectedCategory, setSelectedCategory] = useState(); - const [isError, setError] = useState(); - const navigate = useNavigate(); - - const getAllCategories = async () => { - try { - const response = await axios.get( - `${process.env.REACT_APP_API_BASE_URL}/blog/category` - ); - - return response.data; - } catch (error) { - return error.message; - } - }; - - useEffect(() => { - getAllCategories().then(setCategories).catch(setError); - }, []); - - const handleSubmit = async (e) => { - e.preventDefault(); - try { - const response = await axios.post( - `${process.env.REACT_APP_API_BASE_URL}/blog/create`, - { - title, - description, - body, - category: Number(selectedCategory), - }, - { headers: { "Content-Type": "application/json" } } - ); - - console.log("Created blog successful ", response); - navigate("/admin/blogs/manage-posts"); - } catch (error) { - setError(error.message); - } - }; - - if (auth?.access) { - return ; - } - return ( -
- - {isError &&

{isError.message}

} -
-
-
- {/* - {({ open }) => ( -
- - - - {selectedCategory.name} - - - - - - - - - - - - {categories.map(({ id, name }) => ( - - {({ selected, active }) => ( -
- - {name} - - {selected && ( - - - - - - )} -
- )} -
- ))} -
-
-
- )} -
*/} - - setTitle(e.target.value)} - /> -
-
-
- Browse Image - -
- setDescription(e.target.value)} - /> -
-
-
- -
-
- -
- ); -} - -export default CreatePost; diff --git a/src/ADMIN/pages/blogs/ManagePosts.jsx b/src/ADMIN/pages/blogs/ManagePosts.jsx deleted file mode 100644 index 906a7f80..00000000 --- a/src/ADMIN/pages/blogs/ManagePosts.jsx +++ /dev/null @@ -1,69 +0,0 @@ -import React, { useState, useEffect } from "react"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { faTrashCan, faPenToSquare } from "@fortawesome/free-solid-svg-icons"; -import axios from "axios"; -import { Navigate } from "react-router-dom"; -import useAuth from "../../../hooks/useAuth"; -import BlogsHeader from "../../components/blogs/BlogsHeader"; - -function ManagePosts() { - const { auth } = useAuth(); - const [isError, setError] = useState(null); - const [Posts, setPosts] = useState([]); - - const getAllPosts = async () => { - try { - const response = await axios.get( - `${process.env.REACT_APP_API_BASE_URL}/blog/` - ); - - setPosts(response.data.results); - } catch (error) { - setError(error.message); - } - }; - - useEffect(() => { - getAllPosts(); - }, []); - - if (auth?.access) { - return ; - } - - return ( -
- -
- - - {Posts?.map(({ id, title }, idx) => ( - - - - - - ))} - -
- {(idx + 1).toString().length === 1 ? `0${idx + 1}` : idx + 1}.{" "} - {title} - - - - -
- {isError &&

{isError}

} -
-
- ); -} - -export default ManagePosts; diff --git a/src/ADMIN/pages/chapters/AddChapterPage.jsx b/src/ADMIN/pages/chapters/AddChapterPage.jsx index 8018e018..97f92909 100644 --- a/src/ADMIN/pages/chapters/AddChapterPage.jsx +++ b/src/ADMIN/pages/chapters/AddChapterPage.jsx @@ -1,7 +1,7 @@ import * as React from "react"; import { useNavigate } from "react-router-dom"; -import StepIndicator from "../../components/chapters/StepIndicator"; -import AddChapterForm from "../../components/chapters/AddChapterForm"; +import StepIndicator from "../../components/StepIndicator"; +import AddChapterForm from "../../components/AddChapterForm"; function AddChapterPage() { const [steps, setSteps] = React.useState([ diff --git a/src/APP/pages/aboutUs/sections/HeroSection.jsx b/src/APP/pages/aboutUs/sections/HeroSection.jsx index e7ee1fcd..b5b49569 100644 --- a/src/APP/pages/aboutUs/sections/HeroSection.jsx +++ b/src/APP/pages/aboutUs/sections/HeroSection.jsx @@ -3,7 +3,7 @@ import AboutImg2 from "../../../../assets/images/aboutPage/about-img-2.png"; function HeroSection() { return ( -
+

diff --git a/src/APP/pages/community/CommunityPage.jsx b/src/APP/pages/community/CommunityPage.jsx index 1c41a3ea..8dc934d7 100644 --- a/src/APP/pages/community/CommunityPage.jsx +++ b/src/APP/pages/community/CommunityPage.jsx @@ -15,7 +15,7 @@ function CommunityPage() { return (
- + diff --git a/src/APP/pages/events/sections/eventsSection/EventsTab.jsx b/src/APP/pages/events/sections/eventsSection/EventsTab.jsx index 1e0dac3a..d3e90354 100644 --- a/src/APP/pages/events/sections/eventsSection/EventsTab.jsx +++ b/src/APP/pages/events/sections/eventsSection/EventsTab.jsx @@ -1,72 +1,38 @@ -import React, { useState } from "react"; +import React, { useState } from 'react'; -import filterRecentTime from "./helpers/FilterRecentTime"; +import filterRecentTime from './helpers/FilterRecentTime'; -function EventsTab({ updateRecentFilter }) { +function EventsTab({updateRecentFilter}) { const [selectedRecentButton, setSelectedRecentButton] = useState(null); const filterRecents = (times) => { - times === null - ? updateRecentFilter(null) - : updateRecentFilter(filterRecentTime(times)); - setSelectedRecentButton((prevState) => { - return (prevState = times); - }); + times === null ? + updateRecentFilter(null) : + updateRecentFilter(filterRecentTime(times)); + setSelectedRecentButton((prevState) => {return prevState = times }); }; return (
- - - - - - {selectedRecentButton && ( - + + - )} + + + { selectedRecentButton && + }
- ); + ) } export default EventsTab; diff --git a/src/APP/pages/events/sections/eventsSection/EventsUpdateSection.jsx b/src/APP/pages/events/sections/eventsSection/EventsUpdateSection.jsx index 73f139c0..3af17171 100644 --- a/src/APP/pages/events/sections/eventsSection/EventsUpdateSection.jsx +++ b/src/APP/pages/events/sections/eventsSection/EventsUpdateSection.jsx @@ -1,133 +1,66 @@ -import React, { useState } from "react"; +import React, { useState } from 'react'; import { Link } from "react-router-dom"; -function EventsUpdateSection({ - cityFilter, - topEventsCities, - updateCityFilter, - showAllEventsLink, -}) { +function EventsUpdateSection({ cityFilter, topEventsCities, updateCityFilter, showAllEventsLink }) { return (
- {topEventsCities && Array.isArray(topEventsCities.cities) ? ( - <> -

- Events in -

+ + { topEventsCities && Array.isArray(topEventsCities.cities) ? ( + <> +

Events in

{topEventsCities.cities.map((city, index) => ( - ))} - {cityFilter.city && ( - updateCityFilter("")} - > - Clear City - - )} - - ) : ( - "" - )} + { cityFilter.city && + updateCityFilter('')}>Clear City + } + + ) : ''}
{showAllEventsLink && (
-// <<<<<<< feat/blog-admin-forms -

- ALL EVENTS -

- - -// ======= -//

ALL EVENTS

-// -// -// >>>>>>> main +

ALL EVENTS

+ +
+ )} +
- - ); + + ) } EventsUpdateSection.defaultProps = { showAllEventsLink: false, -}; +} -export default EventsUpdateSection; +export default EventsUpdateSection diff --git a/src/APP/pages/landingPage/sections/HeroSection3.jsx b/src/APP/pages/landingPage/sections/HeroSection3.jsx index 3a6d364d..791680db 100644 --- a/src/APP/pages/landingPage/sections/HeroSection3.jsx +++ b/src/APP/pages/landingPage/sections/HeroSection3.jsx @@ -68,7 +68,7 @@ const partners = [ const HeroSection3 = () => { return ( -
+
{/* Hero Header */}
{/* hero desc */} diff --git a/src/AUTH/pages/LogIn.jsx b/src/AUTH/pages/LogIn.jsx index a238a046..e14d1da8 100644 --- a/src/AUTH/pages/LogIn.jsx +++ b/src/AUTH/pages/LogIn.jsx @@ -16,7 +16,7 @@ function LogIn() { try { const response = await axios.post( - `${process.env.REACT_APP_API_BASE_URL}/token/`, + `${process.env.REACT_APP_API_BASE_URL}/api/token/`, { username, password, diff --git a/src/index.css b/src/index.css index 61798aae..af5040f2 100644 --- a/src/index.css +++ b/src/index.css @@ -130,32 +130,6 @@ .bg-blog-image { background-image: url("../src/assets/images/blogs-page/blogBg.png"); } - - /* React-quill custom styles */ - .quill .ql-toolbar { - @apply bg-white; - border-top-left-radius: 8px; - border-top-right-radius: 8px; - } - .ql-custom :focus { - outline: #9c529d; - } - .ql-container { - @apply bg-white placeholder:text-neutral-gray; - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - max-height: 300px; - overflow-y: hidden; - } - .quill.ql-error .ql-toolbar { - border-bottom: 1px solid red; - } - - .quill.ql-error .ql-container { - border-left: 1px solid red; - border-right: 1px solid red; - border-bottom: 1px solid red; - } } /* ======= @import url("https://fonts.googleapis.com/css2?family=Sora&display=swap"); diff --git a/src/router/index.jsx b/src/router/index.jsx index ec5dd904..ad25eb6f 100644 --- a/src/router/index.jsx +++ b/src/router/index.jsx @@ -28,8 +28,6 @@ import { AddChapterPage, AddEventPage, UpdateEventPage, - ManagePosts, - CreatePost, } from "../ADMIN"; import { ForgotPassword, @@ -150,14 +148,6 @@ const router = createBrowserRouter([ path: "/admin/events/update-event", element: , }, - { - path: "/admin/blogs/create-post", - element: , - }, - { - path: "/admin/blogs/manage-posts", - element: , - }, ], }, {