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) => (