684 comments found.
Hello,
I uploaded my website to production, so when I’ve tried refresh my website, 404 Not found page appeared.
The problem is Combining server- and client-side routing what is the best solution from (Hash History,Catch-all ,Hybrid or Isomorphic) ?
Thank you ,
Hi,
The only one we have experienced with is rewriting urls from server to client and let React handle it. For this to work, you will need a basic url rewrite to direct all urls to index.html page, then javascript will handle the rest.
If your application is a hybrid one, you might need a bit more complicated rewriting and separate your routes which should direct to an actual server side page.
Have a good one.
Thanks ,In my case The url after refresh redirect to index.html then redirect to /error custom page .Did I miss something ?
To be honest, I am not certain about the problem. If it was the server 404 page you see, then cause would be the server and rewriting but since it shows custom error it might be about the build, server or the code.
1. You may use a basic server to test if the build is fine. After creating the build, please run below commad to install “serve package” and run the build. You may check it at the docs: https://create-react-app.dev/docs/deployment/
npm install -g serve
serve -s build
It should start a basic http server and run the build folder. If navigating and refreshing works without a problem then build is fine.
_
2. In another case, your server might be fine but your code have a problem. You may test this case by building and deploying the unmodified version of Gogo-React project to your server.
If original version works without a problem we may assume your server works fine.3. If both of above test works, which will prove that build and server is fine and the problem is with your project. This seems quite unlikely but there are always some odd cases.
Please let us know when you made the tests.
Thanks ,Solved
Hola! Hasta ahora su trabajo me encanta y me resulta fácil de usar
.
Quiero saber si a futuro van agregar estilos para carritos de compras y calendario?
Agradezco su atención.
Hi,
Unfortunately we don’t provide support in Spanish but I just translated your comment and glad you are happy with the item.
I must say that it’s not in our current agenda to provide calendar and shopping cart. We are currently working on Angular version.
All the best.
Hi how can i get value of <Input /> as state thanks
Hi,
The question looks like a generic one if I understand it correctly.
You may check React docs here: https://tr.reactjs.org/docs/forms.html
You may also want to check Formik if you plan to use it: https://jaredpalmer.com/formik/docs/overview#the-gist
All the best.
hello can i replace redux saga with redux thunk? how can I do it? Thank you
Hi,
We don’t have any experience with Thunk and unfortunately can not provide a decent guidance.
As a side note, support is only available for Theme Forest purchases. If you have bought the item, please used purchased account.
All the best.
Hi, of course you bought it but at https://elements.envato.com, I need help 
As I said we really don’t have any experience with Thunk.
Also, Elements items does not come with support.
All the best.
hey ColoredStrategies
I added “placeholder” for a “Field” but it shows only onfocus. How do i make it show at all times?
nvm I figured it out
Hi there, We’ve just bought your theme, which looks great, but we have a question..
how can we modify menu (Sidebar) behavior so that when we click on a main menu item, that page is loaded, and at the same time the submenu is opened (following the “to” parameter) and stays open? Current behaviour is that a click on a Sidebar main menu item opens the submenu but does not navigate anywhere. Removing ” e.preventDefault();” on the openSubMenu function allows the navigation to function, but this time the submenu is not displayed after navigation.
Many Thanks!
Hi,
There is not any built in solution for it but you may make it work with below approach. Please keep in mind that menu is quite complex so this might have some side effects. Have not experienced anything though.
Adding “tosub” key to main menu item. (src/constants/menu.js)
const data = [{
id: "dashboards",
icon: "iconsminds-shop-4",
label: "menu.dashboards",
to: "/app/dashboards",
tosub:"/app/dashboards/analytics",
...
Checking tosub in “openSubMenu” function and loading the page just under e.preventDefault(). (src/containers/navs/Sidebar.js)
...
else {
e.preventDefault();
if(menuItem.tosub) {
this.props.history.push(menuItem.tosub);
}
....
It seems to be working. Let us know if you have any problem with it.
Have a good one.
Hi, Thanks for your quick response. Unfortunately that didn’t work really. The history push does send me to the right place; however the submenu (of the page I’ve come to) is hidden. I need to re-click on the menu to open the submenu again… I need the submenu of that page to be automatically opened when I browse to that page. Hope that makes sense?
Thanks!
Hello again,
Seems like I’ve managed to achieve my goal with the following change:
getIsHasSubItem = () => {
// changed selectedParentMenu to viewingParentMenu in the following two lines
const { viewingParentMenu } = this.state;
const menuItem = this.state.menuItems.find(x => x.id === viewingParentMenu);
...
}
I probably broke some other stuff but let’s see!
It looks nice I guess.
I had a visible sub menu while creating the earlier solution and now I was working to prevent toggling with adding an extra variable to the state and it was not going very well.
Anyway, if it is working for you then it is okay. I don’t know why you feel the need for this but I don’t think it is a good ux to send a user to another page with a toggleable menu click. Might be working on something at current page and wanted to only check for sub menu items.
Hi,
How are you guys? I have a question and hope you can help me.
I combined the wizzard with the imagelistview in one step. I am not using the ListPageHeading but want to use the <Pagination component.
Unfortunately it is not appearing. The currentPage and totalPage are set.
Do you have any idea why it is not working? If you want i can paste my come somewhere?
Hi,
We are doing well and hope you are good too.
It would be quite easier with the code. You may send it to support@crealeaf.com.
Already found what i did wrong. I imported Pagination from reactstrap instead of from the container/pages/Pagination
Nice 
Hello, the public log mentions newer version than the one that can be downloaded here. Can you please update? Or is there a systematic way of getting updates?
Thanks
Why this is not working for dropdown modifiers?
preventOverflow: {
enabled: true,
boundariesElement: 'window',
}
It wont allow scrolling: https://i.imgur.com/n0KkJqc.png
Hi,
I have checked Reactstrap docs and found below solution. https://reactstrap.github.io/components/dropdowns/
modifiers={{
setMaxHeight: {
enabled: true,
fn: (data) => {
return {
...data,
styles: {
...data.styles,
overflow: 'auto',
maxHeight: 300,
},
};
},
},
}}
As for the updates, unfortunately there is not any systematic way. You will need to download the item again and get updated version.
Have a good one.
Hey there ,Where can I find webpack config file and babel config file ?
Hi,
You need to eject it to be able to see config files since it is built with CRA.
As a side note, support is available for Theme Forest purchases only so please consider buying the template or use a purchased account.
Have a good one.
Ok Thanks,I will use the purchased account.
Hi, Do you have a JWT auth version for Gogo ReactJS?
Hi,
Unfortunately, only available auth is provided via Firebase currently.
Hi Can you make the sidebar secondary collapse when clicking the primary menu item twice? That would be more intuitive. Thanks
Hi,
Menu already contains quite some algorithm. Eg, mutating with screen size change, providing parent and sub relation, responing 3 state menu button and etc.
I don’t think we can work on it more and provide a solution for you since it would have effects on other algorithms working for menu.
Regards.
Hello , After Install Gogo template I see 3 folders (Gogo-React,Gogo-React-Start-Gogo-React-Start-With-Auth) what is the different ? I open Gogo-React folder run npm install I see many errors (Ubuntu 18.04.3 LTS) then after npm run Error: ENOENT: no such file or directory, scandir ’../Gogo-React/node_modules/node-sass/vendor’
I updated npm using npm install npm@latest -g then delete node_modules folder run npm install and it worked.
Hi, We are facing issue in “Form Wizard”. “active” is class automatically adding to the nav-link. Because of that, the Top navigation UI is collapsed. Tried “exact” in Nav-link at TopNavigation. It’s not working. Please help us resolve this.
Hi,
I have not understand the problem very well, would you elaborate it a little more?
Is it available in demo? If not how may we replicate the issue.
Please let us know. Cheers.
We downloaded the theme and just started it through yarn after install. Went to “Form Wizard” and the Top navigation UI is crumbled. There is an bar over name of the page and that happens because active class is automatically added with “nav-link”. Following is the link for screenshot “https://drive.google.com/open?id=1QTqiX4bOv5D87pctWmrWtTMBaQIRC1Pz”
Hi,
You are right about it, I have installed a fresh copy and I guess NavLink got an update. We did not have this problem earlier.
You may fix it easily by locating “src/components/wizard/TopNavigation.js” file and setting “activeClassName” for NavLink so it will not be default value “active”. Below is the part of the implementation where NavLink added:
<NavLink to="#" className="nav-link" activeClassName="wizard-active" onClick={()=> this.itemClick(stepItem, push)}>
<span>{stepItem.name}</span>
<small>{stepItem.desc}</small>
</NavLink>
Hi,
We have noticed that the problem is not limited with the wizard. It also affects tabs and it is originated from react-router-dom update. It converts # links to current page links now.
A better solution would be using NavLink from Reactstrap instead of react-router-dom. Below is how to do it for wizard.
import { NavLink as NavLinkReactstrap } from "reactstrap";
<NavLinkReactstrap className="nav-link" onClick={() => this.itemClick(stepItem, push)}>
<span>{stepItem.name}</span>
<small>{stepItem.desc}</small>
</NavLinkReactstrap>
You will also need to add below lines at “src/assets/css/sass/_gogo.style.scss” file.
.nav-tabs .nav-link {
cursor: pointer;
}
Thank you. Its working.
does gogo template support hook ?
Yes, React version used in Gogo has hooks. We have also implemented hooks instead of old lifecycle methods. There are couple of external plugins that still does not use hooks though.
hi how can i change it to rtl ?
Hi,
In template preview, you may change it on the top nav language with rhe choice En Rtl.
is rtl theme included if buy template
?
Yes, it is included.
Hi Guys,
Kindly assist with the issue with notification manager, when a user attempts to log in, and there is an error it pops an error but because the error is stored in a props “this.props.error” in “componentDidUpdate” function this causes the user keeps getting the pop multiple times while typing and there is a change in state.
kindly assist to fix this.
Regards,
Hi,
Are you using the latest version since if I remember correctly we have fixed it with the latest one(Version 4.2.2 ). Please check the version at our preview here for the error you are having: https://gogo-react.coloredstrategies.com/user/login
If you are using the latest version and don’t think it’s an implementation issue please share the code so we may take look into it.
Cheers.
import React, { Component } from “react”; import { Row, Card, CardTitle, Label, FormGroup, Button } from “reactstrap”; import { NavLink } from “react-router-dom”; import { connect } from “react-redux”;
import { NotificationManager } from ”../../components/common/react-notifications”; import { Formik, Form, Field } from “formik”;
import { loginUser } from ”../../redux/actions”; import { Colxx } from ”../../components/common/CustomBootstrap”; import IntlMessages from ”../../helpers/IntlMessages”;
class Login extends Component { constructor(props) { super(props); this.state = { email: ””, password: ”” }; } const mapStateToProps = ({ authUser }) => { const { user, loading, error } = authUser; return { user, loading, error }; };
$('#st-2').addClass('d-none');
}
onUserLogin = () => {
let values = { };
}
values.email = this.state.email;
values.password = this.state.password;
if (!this.props.loading) {
if (values.email !== "" && values.password !== "") {
this.props.loginUser(values, this.props.history);
}
}
changeHandler = event => {
event.preventDefault();
this.setState({ [event.target.name]: (event.target.value !== '') ? event.target.value : event.target.innerHTML });
};
validateEmail = () => {
let error;
let value = this.state.email;
}
if (!value) {
error = "Please enter your email address";
} else if (!/^[A-Z0-9._%]@[A-Z0-9.]+\.[A-Z]{2,4}$/i.test(value)) {
error = "Invalid email address";
}
return error;
validatePassword = () => {
let error;
let value = this.state.password;
}
if (!value) {
error = "Please enter your passworrd";
} else if (value.length < 4) {
error = "Value must be longer than 4 characters";
}
return error;
componenetDidMount() {
$('#st-2').addClass('d-none');
}
componentDidUpdate() {
let notiCount = $('.notification').length;
}
if (this.props.error && notiCount === 0) {
NotificationManager.warning(
this.props.error,
"Login Error",
7000,
null,
null,
''
);
}
render() {
const { password, email } = this.state;
const initialValues = { email, password };
}
return (
<Row className="h-100">
<Colxx xxs="12" md="10" className="mx-auto my-auto">
<Card className="auth-card">
PLEASE LOGIN BELOW
Please use your credentials to login.
If you are not a member, please{" "}
<NavLink to={`/user/register`} className="text-white" style={{textDecoration: 'underline'}}>
join us now
</NavLink>
.
<NavLink to={`/`} className="text-white">
</NavLink>
<CardTitle className="mb-4">
<IntlMessages id="user.login-title" />
</CardTitle>
);
<Formik
initialValues={initialValues}
onSubmit={this.onUserLogin}>
{({ errors, touched }) => (
<Form className="av-tooltip tooltip-label-bottom">
<FormGroup className="form-group has-float-label">
<Label>
<IntlMessages id="user.email" />
</Label>
<Field
className="form-control"
name="email"
value={this.state.email}
onChange={this.changeHandler}
validate={this.validateEmail}
/>
{errors.email && touched.email && (
{errors.email}
)}
</FormGroup>
<FormGroup className="form-group has-float-label">
<Label>
<IntlMessages id="user.password" />
</Label>
<Field
className="form-control"
type="password"
name="password"
value={this.state.password}
onChange={this.changeHandler}
validate={this.validatePassword}
/>
{errors.password && touched.password && (
{errors.password}
)}
</FormGroup>
<NavLink to={`/user/forgot-password`}>
<IntlMessages id="user.forgot-password-question" />
</NavLink>
<Button
color="primary"
className={`btn-shadow btn-multiple-state btn-sm ${this.props.loading ? "show-spinner" : ""}`}
size="lg"
>
<IntlMessages id="user.login-button" />
</Button>
</Row>
</Form>
)}
</Formik>
</Card>
</Colxx>
export default connect( mapStateToProps, { loginUser } )(Login);
Hi,
It looks like you are updating the state on every input change and that is causing componentDidUpdate firing and that is showing the notification.
And it seems you are updating the state on every change to get values for validation. You really don’t need to this since Formik provides those values under the hood if setup correctly.
validateEmail = (value) => {
let error;
if (!value) {
error = "Please enter your email address";
} else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(value)) {
error = "Invalid email address";
}
return error;
}
validatePassword = (value) => {
let error;
if (!value) {
error = "Please enter your password";
} else if (value.length < 4) {
error = "Value must be longer than 3 characters";
}
return error;
}
Please check and use the code at login.js provided with the latest version of template. Only difference I have noticed that you have provided empty strings for email and password.
Regards
Many thanks, this is fixed.
Is there a way to upload file(s) with redux actions
It does not sound logical to use redux to upload files since Dropzone already works async. You may go ahead and connect it with redux of course if you think it is necessary for your needs.
hi inside i cant find any html files because i does not understand react js
Hi,
Html version is sold separately which you may find here: https://themeforest.net/item/dore-jquery-bootstrap-4-admin-dashboard/22604108
Regards.
I would like to use the crome redux-devtools-extension. Where can i add this in the config? I am running Gogo 4.2.1
Hi,
Nobody in our team have any experience with it so unfortunately we can not provide a decent guidence about it.
Hi!
Is it possible to hide big parent menu and only have a menu like submenu with smaller icons and few level deep links menu? Something similar in other admin dashboards.
Ty!
Hi,
Unfortunately it is not available for Gogo.
You may have parent menus without sub items though. https://gogo-react.coloredstrategies.com/app/blank-page
Cheers.