diff --git a/src/components/Blogs/index.jsx b/src/components/Blogs/index.jsx index 7d10246..d5c952b 100644 --- a/src/components/Blogs/index.jsx +++ b/src/components/Blogs/index.jsx @@ -1,38 +1,67 @@ -import React, { useState } from "react"; -import { Link } from "react-router-dom"; +import React, { useEffect, useState } from "react"; +import { Link, useNavigate } from "react-router-dom"; import Layout from "../Partials/Layout"; import CommonHead from "../UserHeader/CommonHead"; +import usersService from "../../services/UsersService"; +import LoadingSpinner from "../Spinners/LoadingSpinner"; export default function BlogItem(props) { + + const apiCall = new usersService() + const navigate = useNavigate() + + const [blogdata, setBlogdata] = useState({loading: true, data:{}}) + const [selectTab, setValue] = useState("today"); const filterHandler = (value) => { setValue(value); }; + const queryParams = new URLSearchParams(location?.search); + const blog_id = queryParams.get("blog_id"); + + useEffect(()=>{ + if(!blog_id){ + navigate('/',{replace:true}) + } + apiCall.getSingleBlogData({blog_id}).then(res => { + setBlogdata({loading: false, data:res.data}) + }).catch(error => { + setBlogdata({loading: false, data:{}}) + console.log('ERROR', error) + }) + },[blog_id]) return (
-
- {/* heading */} -
-
-

- - Title of this Blog Items - -

-
-
- -
+
+ {blogdata.loading ? + + : + blogdata?.data?.blogdata && blogdata.data?.blogdata.length ? +
+ {/* heading */} +
+
+

+ + {blogdata.data?.blogdata?.[0]?.post_title} + +

+
+ {/*
+
*/} +
+
+
-
- Blog Items Details need implenet -
+ : +

No Blog Found!

+ }
diff --git a/src/components/Helpers/SearchCom.jsx b/src/components/Helpers/SearchCom.jsx index 107bbaf..62fb7f3 100644 --- a/src/components/Helpers/SearchCom.jsx +++ b/src/components/Helpers/SearchCom.jsx @@ -7,6 +7,7 @@ export default function SearchCom({ placeholder, handleSearch, value, + name, }) { return (
{ + setAskQuestion(prev => ({...prev, [name]: value})) + setRequestStatus({loading: false, status: false, message: ''}) + } + + const onSearch = () => { + setError({question: '', searchPhrase: ''}) // sets error to false + if(!askQuestion.question){ + return setError(prev => ({...prev, question: 'Select a question'})) + } + if(!askQuestion.searchPhrase){ + return setError(prev => ({...prev, searchPhrase: 'Enter search parameter'})) + } + if(askQuestion.searchPhrase.length > 60){ + return setError(prev => ({...prev, searchPhrase: 'Max of 60 characters'})) + } + + setRequestStatus({loading: true, status: false, message: ''}) + let reqData = { + question_key: '', + question: '' + } + apiCall.askResourcesResult().then(res => { + console.log(res.data.choices[0].text) + if(!res.data || res.data?.choices?.length < 1){ + setRequestStatus({loading: false, status: false, message: 'No result found!'}) + } + setRequestStatus({loading: false, status: false, message: res.data?.choices[0].text}) + }).catch(error => { + setRequestStatus({loading: false, status: false, message: 'No result found!'}) + }) + } + + useEffect(()=>{ + apiCall.getResourceList().then(res => { + setQuestions({loading: false, data: res.data?.ask_categories?.data}) + }).catch(error => { + setQuestions({loading: false, data: []}) + console.log('ERROR', error) + }) + }, []) return ( <>
@@ -16,29 +72,49 @@ export default function QuestionsTab({ className, products }) {
- + {questions.loading ? + + : + <> + + {questions.data.length > 0 && questions.data.map((item, index)=>( + + ))} + + } +
+ {error.question &&

{error.question}

} {/* filter-search */}
- +
+ {error.searchPhrase &&

{error.searchPhrase}

}
+
+ {requestStatus.loading ? + + : +

{requestStatus.message}

+ } +
-
- {/*
-
-
-
*/}
diff --git a/src/components/UserHeader/RecomendedSliders.jsx b/src/components/UserHeader/RecomendedSliders.jsx index cec4982..223fbee 100644 --- a/src/components/UserHeader/RecomendedSliders.jsx +++ b/src/components/UserHeader/RecomendedSliders.jsx @@ -100,7 +100,7 @@ export default function RecomendedSliders({ className, bannerData }) {
{bannerData.map((item, index) => ( - +