5 Commits

Author SHA1 Message Date
Ismail Šošić
02e0708a8c Merge branch 'resolve_confl' into 'Update_readme'
Update Result.js

See merge request saburly/kitabcitab/kitabcitab-frontend!12
2023-03-09 00:29:23 +00:00
Ismail Šošić
8b2ceebf0e Update Result.js 2023-03-09 00:29:06 +00:00
Ismail Šošić
07b7bcfda5 Update Result.js 2023-03-09 00:28:08 +00:00
ismailsosic
bcbf8b9fba resolve conflicts 2023-03-09 01:16:48 +01:00
ismailsosic
0a01e536e4 change pathnames and readme 2023-03-09 01:10:06 +01:00
20 changed files with 245 additions and 22 deletions

View File

@@ -15,6 +15,19 @@
],
"rootMainFiles": [],
"pages": {
<<<<<<< Updated upstream
=======
"/": [
"static/chunks/webpack.js",
"static/chunks/main.js",
"static/chunks/pages/index.js"
],
"/[book]/[type]/[id]": [
"static/chunks/webpack.js",
"static/chunks/main.js",
"static/chunks/pages/[book]/[type]/[id].js"
],
>>>>>>> Stashed changes
"/_app": [
"static/chunks/webpack.js",
"static/chunks/main.js",

View File

@@ -1 +1,5 @@
self.__BUILD_MANIFEST={"polyfillFiles":["static/chunks/polyfills.js"],"devFiles":["static/chunks/react-refresh.js"],"ampDevFiles":["static/chunks/webpack.js","static/chunks/amp.js"],"lowPriorityFiles":["static/development/_buildManifest.js","static/development/_ssgManifest.js"],"rootMainFiles":[],"pages":{"/_app":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/_app.js"],"/_error":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/_error.js"],"/search":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/search.js"]},"ampFirstPages":[]}
<<<<<<< Updated upstream
self.__BUILD_MANIFEST={"polyfillFiles":["static/chunks/polyfills.js"],"devFiles":["static/chunks/react-refresh.js"],"ampDevFiles":["static/chunks/webpack.js","static/chunks/amp.js"],"lowPriorityFiles":["static/development/_buildManifest.js","static/development/_ssgManifest.js"],"rootMainFiles":[],"pages":{"/_app":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/_app.js"],"/_error":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/_error.js"],"/search":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/search.js"]},"ampFirstPages":[]}
=======
self.__BUILD_MANIFEST={"polyfillFiles":["static/chunks/polyfills.js"],"devFiles":["static/chunks/react-refresh.js"],"ampDevFiles":["static/chunks/webpack.js","static/chunks/amp.js"],"lowPriorityFiles":["static/development/_buildManifest.js","static/development/_ssgManifest.js"],"rootMainFiles":[],"pages":{"/":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/index.js"],"/[book]/[type]/[id]":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/[book]/[type]/[id].js"],"/_app":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/_app.js"],"/_error":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/_error.js"],"/search":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/search.js"]},"ampFirstPages":[]}
>>>>>>> Stashed changes

View File

@@ -2,5 +2,10 @@
"/_app": "pages/_app.js",
"/_error": "pages/_error.js",
"/_document": "pages/_document.js",
<<<<<<< Updated upstream
=======
"/[book]/[type]/[id]": "pages/[book]/[type]/[id].js",
"/": "pages/index.js",
>>>>>>> Stashed changes
"/search": "pages/search.js"
}

View File

@@ -131,7 +131,11 @@
/******/
/******/ /* webpack/runtime/getFullHash */
/******/ !function() {
<<<<<<< Updated upstream
/******/ __webpack_require__.h = function() { return "93e21dfb81445514"; }
=======
/******/ __webpack_require__.h = function() { return "95af3d6f0b2398ce"; }
>>>>>>> Stashed changes
/******/ }();
/******/
/******/ /* webpack/runtime/global */

View File

@@ -1 +1,5 @@
self.__BUILD_MANIFEST = {__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/_error":["static\u002Fchunks\u002Fpages\u002F_error.js"],"/search":["static\u002Fchunks\u002Fpages\u002Fsearch.js"],sortedPages:["\u002F_app","\u002F_error","\u002Fsearch"]};self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()
<<<<<<< Updated upstream
self.__BUILD_MANIFEST = {__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/_error":["static\u002Fchunks\u002Fpages\u002F_error.js"],"/search":["static\u002Fchunks\u002Fpages\u002Fsearch.js"],sortedPages:["\u002F_app","\u002F_error","\u002Fsearch"]};self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()
=======
self.__BUILD_MANIFEST = {__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":["static\u002Fchunks\u002Fpages\u002Findex.js"],"/_error":["static\u002Fchunks\u002Fpages\u002F_error.js"],"/search":["static\u002Fchunks\u002Fpages\u002Fsearch.js"],"/[book]/[type]/[id]":["static\u002Fchunks\u002Fpages\u002F[book]\u002F[type]\u002F[id].js"],sortedPages:["\u002F","\u002F_app","\u002F_error","\u002Fsearch","\u002F[book]\u002F[type]\u002F[id]"]};self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()
>>>>>>> Stashed changes

File diff suppressed because one or more lines are too long

View File

@@ -25,7 +25,7 @@ KitabCitab Web App is app that provides books search services by name, author an
result = {
"book" : "Hamine pustolovine",
"writer" : "Muhamed Ahmed Mustafa",
"numOfPages": "98",
"pages": "98",
"text" : "Lorem ipsum"
}

View File

@@ -8,12 +8,13 @@ const Result = ({result, term}) => {
const [title, setTitle] = useState()
let sentences
const checkForMatches = (props) => {
if(props.length !== 1) return sentences.map((sentence) => {
sentence.toLowerCase().includes(term.toLowerCase()) ? setTitle(sentence) : null
})
return setTitle(text)
const checkForMatches = (props) => {
if(props.length === 1) return setTitle(props)
if(props.length > 1){
return sentences.map(sentence => {
if(sentence.toLowerCase().includes(term.toLowerCase())) setTitle(sentence)
})
} else setTitle(props[0])
}
@@ -26,13 +27,13 @@ const Result = ({result, term}) => {
useEffect(() => {
sentences = splitText()
checkForMatches(sentences)
})
}, [])
// ako term nije pronadjen u textu onda
// treba provjeriti duzinu niza, ako niz ima jednu recenicu, recenica treba biti title, ako ne, naci medju recenicama onu koja ima term u sebi
return (
<div onClick={() => (router.push({pathname: `/${result._type}/${result._id}`}))} className='
<div onClick={() => (router.push({pathname: `${result._index}/${result._type}/${result._id}`}))} className='
self-end
bg-[#202124]
w-[100%]
@@ -52,4 +53,4 @@ const Result = ({result, term}) => {
)
}
export default Result
export default Result

View File

@@ -1 +1 @@
export const ENV_VAR = "http://localhost:9200/"
export const ENV_VAR = "http://localhost:9200"

View File

@@ -1,24 +1,23 @@
import { AiOutlineLeft, AiOutlineRight } from 'react-icons/ai'
import Link from "next/link"
import { useRouter } from 'next/router'
import { ENV_VAR } from '../../../envconfig'
import { ENV_VAR } from '../../../../envconfig'
const result = ({data}) => {
const router = useRouter()
console.log(data)
const {book, writer, text} = data._source
const nextPageHandler = () => {
if(Number(data._id) + 1 === Number(data._source.numOfPages) + 1) return
if(Number(data._id) + 1 === Number(data._source.pages) + 1) return
router.push(`/${book.toLowerCase()}/${Number(data._id) + 1}`)
router.push(`/${data._index}/${data._type}/${Number(data._id) + 1}`)
}
const prevPageHandler = () => {
if(data._id - 1 === 0) return
router.push(`/${book.toLowerCase()}/${Number(data._id) - 1}`)
router.push(`/${data._index}/${data._type}/${Number(data._id) - 1}`)
}
return (
@@ -47,7 +46,7 @@ const result = ({data}) => {
"
>
<i className='rounded-3xl text-[#fff] px-3 py-auto' onClick={() => prevPageHandler()}><AiOutlineLeft size={25} /></i>
<p className="text-base tablet:text-2xl laptop:text-2xl text-[#fff] font-serif text-center">"{book}", {writer}, str.{data._id}</p>
<p className="text-base tablet:text-2xl laptop:text-2xl text-[#fff] font-serif text-center">"{book}", {writer}, str. {data._id}</p>
<i className='rounded-3xl text-[#fff] px-3 py-auto' onClick={() => nextPageHandler()}><AiOutlineRight size={25} /></i>
</div>
<div className='page flex laptop:justify-center laptop:min-w-[100%]'>
@@ -82,9 +81,8 @@ export default result
export async function getServerSideProps (context) {
try{
const res = await fetch(`${ENV_VAR}library${context.resolvedUrl}`)
const res = await fetch(`${ENV_VAR}${context.resolvedUrl}`)
const data = await res.json()
return { props: {data} }
}
catch{err => console.log(err)}

View File

@@ -56,7 +56,7 @@ const SearchPage = ({data}) => {
export async function getServerSideProps(context) {
// Fetch data from external API
const res = await fetch(`${ENV_VAR}_search?q=${context.query.term}`)
const res = await fetch(`${ENV_VAR}/_search?q=${context.query.term}`)
const data = await res.json()
// Pass data to the page via props