Merge pull request #35 from ArcticHawk1/translations-fix

moved the translations button and validating the login form
This commit is contained in:
Samuel Oyediran 2021-04-07 20:33:46 -04:00 committed by GitHub
commit b747deb3b1
4 changed files with 68 additions and 67 deletions

View file

@ -1,9 +1,7 @@
import React, { useEffect } from "react";
import React from "react";
import Footer from "./shared-components/footer-component/Footer";
import Navbar from "./shared-components/navbar-component/Navbar";
import { BrowserRouter, Route, Switch } from "react-router-dom";
import i18next from "i18next";
import Cookies from "js-cookie";
import HomePage from "./homePage/Homepage";
import ListingsPage from "./listings-page/ListingsPage";
import AgentPage from "./agent-page/AgentPage";
@ -15,62 +13,9 @@ import Login from "./login-page/Login";
import Account from "./login-page/account/Account";
import ContactUs from "./shared-components/contact-us/contact-us";
const langauges = [
{
code: "fr",
name: "Français",
country_code: "fr",
},
{
code: "en",
name: "English",
country_code: "gb",
},
];
function App() {
const currentLanguageCode = Cookies.get("i18next") || "en";
const currentLanguage = langauges.find(
(lang) => lang.code === currentLanguageCode
);
useEffect(() => {
document.body.dir = currentLanguage.dir || "ltr";
}, [currentLanguage]);
return (
<div className="App">
{/* create the translations button */}
<div className="container">
<div className="d-flex justify-content-end">
{/* <!-- Example single danger button --> */}
<div class="btn-group">
<button
type="button"
class="btn btn-link dropdown-toggle"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>
<i class="fas fa-globe"></i>
</button>
<div class="dropdown-menu">
{langauges.map(({ code, name, country_code }) => (
<button
class="dropdown-item"
key={code}
onClick={() => i18next.changeLanguage(code)}
disabled={code === currentLanguageCode}
>
<span
className={`flag-icon flag-icon-${country_code} mx-2`}
></span>
{name}
</button>
))}
</div>
</div>
</div>
</div>
<BrowserRouter>
<Navbar></Navbar>
<Switch>

View file

@ -14,14 +14,20 @@ class Login extends Component {
},
};
handleLogin = (e) => {
console.log(e);
};
handleLogin() {
// if ( !== this.state.Account.email) {
// alert("invalid");
// }
// if (password !== this.state.Account.password) {
// alert("invalid");
// }
}
render() {
const { t } = this.props;
return (
<div className="login-page">
<form action="" className="signin-Form" onClick={this.handleLogin}>
<form action="" className="signin-Form" onSubmit={this.handleLogin}>
<img className="app-logo" src={Logo} alt="app-logo" />
<h1 className="form-title">{t("Login_header")} </h1>
<p>{t("Login_message")}</p>
@ -61,11 +67,10 @@ class Login extends Component {
</label>
</div>
<div className="login-btn">
<Link to="/account">
<Link to="/account"></Link>
<button type="submit" class="btn btn-lg btn-primary">
{t("Login_submit_button")}
</button>
</Link>
</div>
</div>
</form>

View file

@ -11,6 +11,7 @@ class Account extends Component {
lastName: "Green",
email: "kevon.green@kcribs.com",
password: "Kcribs123",
phoneNumber: "613-234-8796",
},
};
render() {
@ -93,7 +94,7 @@ class Account extends Component {
type="text"
class="form-control"
id="account-phoneNumber"
placeholder={this.state.Account.email}
placeholder={this.state.Account.phoneNumber}
required
disabled={true}
/>

View file

@ -1,11 +1,33 @@
import React from "react";
import React, { useEffect } from "react";
import { Link, withRouter } from "react-router-dom";
import "./Navbar.css";
import logo from "./logo2.png";
import Cookies from "js-cookie";
/* eslint-disable jsx-a11y/anchor-is-valid */
import { useTranslation } from "react-i18next";
import i18next from "i18next";
const langauges = [
{
code: "fr",
name: "Français",
country_code: "fr",
},
{
code: "en",
name: "English",
country_code: "gb",
},
];
const Navbar = () => {
const currentLanguageCode = Cookies.get("i18next") || "en";
const currentLanguage = langauges.find(
(lang) => lang.code === currentLanguageCode
);
const { t } = useTranslation();
useEffect(() => {
document.body.dir = currentLanguage.dir || "ltr";
}, [currentLanguage]);
return (
/* Nav Bar */
<div className="Navbar">
@ -27,6 +49,34 @@ const Navbar = () => {
</button>
<div className="collapse navbar-collapse" id="navbarTogglerDemo02">
<ul className="navbar-nav ml-auto">
<li className="nav-item">
<div class="btn-group">
<button
type="button"
class="btn btn-link dropdown-toggle"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>
<i class="fas fa-globe"></i>
</button>
<div class="dropdown-menu">
{langauges.map(({ code, name, country_code }) => (
<button
class="dropdown-item"
key={code}
onClick={() => i18next.changeLanguage(code)}
disabled={code === currentLanguageCode}
>
<span
className={`flag-icon flag-icon-${country_code} mx-2`}
></span>
{name}
</button>
))}
</div>
</div>
</li>
<li className="nav-item">
<Link className="nav-link" exact to="/">
{t("Nav_Home")}