diff --git a/common/api-urls-constants.js b/common/api-urls-constants.js index f60fef060..404f325b9 100644 --- a/common/api-urls-constants.js +++ b/common/api-urls-constants.js @@ -13,5 +13,6 @@ module.exports = { }, CEREMONIES: '//api.sikhitothemax.org/ceremonies/', DOODLE: '//api.sikhitothemax.org/doodle/', - WRITERS: '//api.banidb.com/v2/writers/' + WRITERS: '//api.banidb.com/v2/writers/', + GURBANIBOT: '//fastersemanticsearchapi.sevaa.win/' }; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index eba32f66e..6238ad450 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@sttm/web", - "version": "1.12.0", + "version": "1.15.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index e2ff883cd..9d7044b49 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@sttm/web", - "version": "1.14.3", + "version": "1.15.0", "description": "Sevadaars are currently working hard to build a newer version of SikhiToTheMax website using modern web technologies.", "main": "index.js", "engines": { diff --git a/server/routes/favouriteShabadsRoutes.js b/server/routes/favouriteShabadsRoutes.js index a67cd27ac..927df07e1 100644 --- a/server/routes/favouriteShabadsRoutes.js +++ b/server/routes/favouriteShabadsRoutes.js @@ -15,16 +15,16 @@ const getFavouriteShabadsCallback = async (_req, res, data, connection) => { const addFavouriteShabadCallback = async (_req, res, data, connection) => { try { - const {email, shabadId, comment} = data; + const {email, shabadId, comment, verseId} = data; const row = await connection.query("SELECT id FROM users where email = ?", [email]); const user = row[0]; const favShabad = await connection.query('SELECT * FROM favourite_shabads WHERE shabad_id = ? AND user_id = ?', [shabadId, user.id]) let rows = []; - let q = "INSERT INTO favourite_shabads (comment, shabad_id, user_id) VALUES (?,?,?)"; + let q = "INSERT INTO favourite_shabads (comment, shabad_id, user_id, verse_id) VALUES (?,?,?,?)"; if(favShabad[0]) { q = "UPDATE favourite_shabads SET comment = ? WHERE (shabad_id = ? AND user_id = ?)" } - rows = await connection.query(q, [ comment, shabadId, user.id]) + rows = await connection.query(q, [ comment, shabadId, user.id, verseId]) const result = await connection.query("SELECT * from favourite_shabads WHERE id = ?", [rows.insertId]) res.status(200).json(result[0]); }catch(err) { @@ -60,6 +60,7 @@ const getFavouriteShabads = async (req, res) => { const addFavouriteShabad = (req, res) => { const shabadId = req.body.shabadId; const comment = req.body.comment; + const verseId = req.body.verseId; const bearerToken = req.headers.authorization; const token = bearerToken.substr(7); const {email} = jwtVerify(token) @@ -67,7 +68,7 @@ const addFavouriteShabad = (req, res) => { pool.runQuery( req, res, - {email, shabadId, comment}, + {email, shabadId, comment, verseId}, addFavouriteShabadCallback ) } diff --git a/src/js/components/Autocomplete.js b/src/js/components/Autocomplete.js index f73a4dd38..49aca5ed4 100644 --- a/src/js/components/Autocomplete.js +++ b/src/js/components/Autocomplete.js @@ -7,6 +7,7 @@ import { setMultipleShabads, setMultiViewPanel } from '@/features/actions'; import Larivaar from '../components/Larivaar'; import { toSearchURL } from '@/util'; import { ShabadButtonWrapper } from "./ShabadButtonWrapper"; +import { SEARCH_TYPES } from "@/constants"; class Autocomplete extends Component { static propTypes = { @@ -77,10 +78,10 @@ class Autocomplete extends Component { // Closing suggestions on mouse down onMouseDown = e => { e.stopPropagation(); - (this.state.showSuggestions && !this.wrapperRef.current.contains(e.target)) && - this.setState({ - showSuggestions: false, - }); + (this.state.showSuggestions && !this.wrapperRef.current.contains(e.target)) && + this.setState({ + showSuggestions: false, + }); } componentDidMount() { @@ -117,7 +118,6 @@ class Autocomplete extends Component { getSuggestions(userInput, searchOptions) .then(suggestions => { - // if any suggestion exists, only then add this as final result item if (isShowFullResults && suggestions.length) { suggestions.push({ @@ -168,6 +168,7 @@ class Autocomplete extends Component { } = this; let suggestionsListComponent; + const isChatBot = searchOptions.type === SEARCH_TYPES.ASK_A_QUESTION; if (showSuggestions && value) { if (filteredSuggestions.length) { @@ -218,14 +219,14 @@ class Autocomplete extends Component { {searchOptions.type === 3 ? suggestion.translation : suggestion.pankti} {searchOptions.type === 3 && (

{suggestion.pankti}

)} - + {
- } + } - } + } ); })} @@ -242,7 +243,7 @@ class Autocomplete extends Component { return ( - {suggestionsListComponent} + {!isChatBot && suggestionsListComponent} ); } diff --git a/src/js/components/FloatingActions/components/FloatingActions.tsx b/src/js/components/FloatingActions/components/FloatingActions.tsx index 954469ed0..2c4b6c6e5 100644 --- a/src/js/components/FloatingActions/components/FloatingActions.tsx +++ b/src/js/components/FloatingActions/components/FloatingActions.tsx @@ -48,7 +48,7 @@ export const FloatingActions = (props: Props) => { {isShowFullScreen &&
+ className="floatingActionsControl">
} {isShowScrollToTop && diff --git a/src/js/components/Header.js b/src/js/components/Header.js index 3cb2c3cde..103fa1254 100644 --- a/src/js/components/Header.js +++ b/src/js/components/Header.js @@ -76,12 +76,12 @@ class Header extends React.PureComponent { onFormSubmit = ({ handleSubmit, ...data }) => - (e) => { - e.preventDefault(); - e.stopPropagation(); - handleSubmit(); - this.handleFormSubmit(data); - }; + (e) => { + e.preventDefault(); + e.stopPropagation(); + handleSubmit(); + this.handleFormSubmit(data); + }; handleFormSubmit = (data) => { this.props.history.push(toSearchURL(data)); @@ -386,18 +386,19 @@ class Header extends React.PureComponent { value={writer} onChange={handleSearchWriterChange} className={[isWriterChanged ? 'selected' : null]} + disabled={type === SEARCH_TYPES.ASK_A_QUESTION} > {writers ?.filter((e) => source === 'G' || source === 'A' ? !SOURCE_WRITER_FILTER[source].includes( - e.writerID - ) + e.writerID + ) : source !== 'all' - ? SOURCE_WRITER_FILTER[source].includes( + ? SOURCE_WRITER_FILTER[source].includes( e.writerID ) - : true + : true ) .map((writer) => (