diff --git a/public/assets/locales/en/translations.json b/public/assets/locales/en/translations.json index 715cc50..8df1f11 100644 --- a/public/assets/locales/en/translations.json +++ b/public/assets/locales/en/translations.json @@ -23,6 +23,11 @@ "Nav_Contact_Us": "Contact Us", "Nav_listing_page": "listing-page", "Nav_Login": "Login", + "View_Button": "BOOK", + "MeetTeam": "Meet the Team", + "Sales_Ass": "sales assistant", + "Mike.Title": "Head Sales Assistant", + "Mike.Word": "Michael has a genuine passion for helping others and for giving back to the community.", "Slogan_1": "YOU ARE NOT BUYING A HOUSE, ", "Slogan_2": "YOU ARE BUYING A LIFESTYLE. ", "Info": "Click for Details", @@ -62,5 +67,11 @@ "Listing3-description": "Custom, Hi-Ranch home located in sought after neighborhood in the Heart of Petawawa. This home features 2+1 bedrooms and 4 bathrooms. Main level features spacious foyer, hardwood staircase, gleaming hardwood floors and open concept living. Large windows provide lots of natural light, vaulted ceilings in living room, a spectacular spacious kitchen with stainless steel appliances and large island. Master bedroom with walk through closet and 3 piece en-suite with custom tile shower and heated tile floor. Lower level features a finished rec room with cozy gas fireplace, bedroom and 3 piece bathroom. Patio door in foyer leads to large private backyard with no rear neighbours, spacious wood deck and hot tub. Double attached garage completes the package. Pack your backs and move right in! No Conveyances of offers until Friday April 9th at 3PM however the seller has the right to view and may accept pre-emptive offers", "Listing4-description": "Nestled in a quiet cul-de-sac in the family-friendly Ski Club/Widdifield neighbourhood, is 62 Riddle Court, a hidden gem that has everything you've been searching for - inside and out! Look up and take in the picturesque views of the escarpment, take a short walk or drive to the Laurentian Ski Hill with the family, or simply savour your very own property by having dinner on the patio, a glass of wine on the deck/balcony, and admire the breathtaking landscape (designed by an award-winning landscape artist) that wraps around your home. Lush perennials, tall grasses, interlocking brick pathways, in-ground sprinkler system and outdoor lighting make this property standout from the rest! Step inside to relish in all of the updated features this home has to offer - gleaming maple hardwood floors & stairs, updated maple kitchen cabinets, ceramic tile with in-floor radiant heat in bathrooms and office, built-in entertainment units, finished laundry room, low-maintenance composite deck off dining area, recessed lighting, updated windows, doors, insulation... the list goes on! Working from home these days? Enter the private & professional home office right off the recreation room through french doors. Enjoy the under-cabinet lighting, as well as the natural light beaming through the window with views of the backyard. Pride of ownership is obvious. Nothing left to do, but move-in! Pre-inspected for your peace of mind.", "Listing-booking-btn": "Book Showing", - "Listing-description-header": "Description" + "Listing-description-header": "Description", + "Regular": "Sales Assistant", + "Agent2.W": "I have a passion for assisting clients with various real estate needs.", + "Agent3.W": "Anita looks forward to servicing you to her fullest potential, building long-lasting relationships and making your real estate experience a smooth and memorable one.", + "Agent4.W": "Since getting licensed in 2010 Alex has consistently been a top producing agent in the GTA.", + "Agent5.W": "Xuan grew up in the GTA, and he explored many different neighborhoods in and surrounding Toronto.", + "Agent6.W": "Walter Henry has always been one to follow his passion. At 13 years old, he started his career as a competitive gymnast." } \ No newline at end of file diff --git a/public/assets/locales/fr/translations.json b/public/assets/locales/fr/translations.json index 9e3e9e2..e6e59ed 100644 --- a/public/assets/locales/fr/translations.json +++ b/public/assets/locales/fr/translations.json @@ -23,6 +23,17 @@ "Nav_Contact_Us": "Nous contacter", "Nav_listing_page": "page de liste", "Nav_Login": "Connexion", + "View_Button": "LIVRE", + "MeetTeam": "Rencontrer l'équipe", + "Sales_Ass": "assistant des ventes", + "Mike.Title": "Assistant commercial en chef", + "Mike.Word": "Michael a une véritable passion pour aider les autres et pour redonner à la communauté.", + "Regular": "Assistant des ventes", + "Agent2.W": "J'ai une passion pour aider les clients avec divers besoins immobiliers.", + "Agent3.W": "Anita a hâte de vous servir à son plein potentiel, de bâtir des relations durables et de faire de votre expérience immobilière une expérience agréable et mémorable.", + "Agent4.W": "Depuis l'obtention de sa licence en 2010, Alex a toujours été l'un des meilleurs agents de production dans la région du Grand Toronto.", + "Agent5.W": "Xuan a grandi dans la région du Grand Toronto et a exploré de nombreux quartiers différents de Toronto et des environs.", + "Agent6.W": "Walter Henry a toujours été du genre à suivre sa passion. À 13 ans, il a commencé sa carrière en tant que gymnaste de compétition.", "Slogan_1": "VOUS N'ACHETEZ PAS UNE MAISON, ", "Slogan_2": "VOUS ACHETEZ UN STYLE DE VIE. ", "Info": "Cliquer pour les détails", diff --git a/src/agent-page/AgentPage.js b/src/agent-page/AgentPage.js index e3fe3c9..6a2d1df 100644 --- a/src/agent-page/AgentPage.js +++ b/src/agent-page/AgentPage.js @@ -7,6 +7,8 @@ import Agent3 from "../images/Agent3.jpg"; import Agent4 from "../images/Agent4.jpg"; import Agent5 from "../images/Agent5.jpg"; import Agent6 from "../images/Agent6.jpg"; +import { withTranslation } from "react-i18next"; + class AgentPage extends Component { state = { agents: [ @@ -16,16 +18,21 @@ class AgentPage extends Component { { title: 'sales assistant', name: 'Anita', src: Agent3, word: 'Anita looks forward to servicing you to her fullest potential, building long-lasting relationships and making your real estate experience a smooth and memorable one.', id: 3 }, { title: 'sales assistant', name: 'Alex', src: Agent4, word: 'Since getting licensed in 2010 Alex has consistently been a top producing agent in the GTA', id: 4 }, { title: 'sales assistant', name: 'Xuan', src: Agent5, word: 'Xuan grew up in the GTA, and he explored many different neighborhoods in and surrounding Toronto.', id: 5 }, - { title: 'sales assistant', name: 'Walter', src: Agent6, word: 'Walter Henry has always been one to follow his passion. At 13 years old, he started his career as a competitive gymnast.Walter will be certain that you feel informed and at ease throughout the entire process.', id: 6 }, + { title: 'sales assistant', name: 'Walter', src: Agent6, word: 'Walter Henry has always been one to follow his passion. At 13 years old, he started his career as a competitive gymnast.', id: 6 }, ] } render() { + const { t } = this.props; + return ( +
-

Meet the Team

+ +

{t("MeetTeam")}

+
@@ -41,4 +48,5 @@ class AgentPage extends Component { } } -export default AgentPage; +/* export default AgentPage; */ +export default withTranslation()(AgentPage); diff --git a/src/agent-page/Agents.js b/src/agent-page/Agents.js index d1f583f..d1e5343 100644 --- a/src/agent-page/Agents.js +++ b/src/agent-page/Agents.js @@ -1,31 +1,149 @@ import React from "react"; /* import {Link} from 'react-router-dom' */ import Card from "react-bootstrap/Card"; -import Button from "react-bootstrap/Button"; +import {Link} from 'react-router-dom' +/* import Button from "react-bootstrap/Button"; */ +import { useTranslation } from 'react-i18next'; +import './agent-page.css'; +import Agent1 from "../images/Agent1.jpg"; +import Agent2 from "../images/Agent2.jpg"; +import Agent3 from "../images/Agent3.jpg"; +import Agent4 from "../images/Agent4.jpg"; +import Agent5 from "../images/Agent5.jpg"; +import Agent6 from "../images/Agent6.jpg"; +import { withTranslation } from "react-i18next"; +import { Container, Row, Col } from 'reactstrap'; + + const Agents = ({ agents }) => { - const agentlist = agents.map((agent) => { + const { t } = useTranslation(); + /* const agentlist = agents.map((agent) => { */ return ( -
+
{} + - + - {agent.title} - {agent.name} + {t("Mike.Title")} + Michael - {agent.word} + {t("Mike.Word")} -
+ + + + {/*
-
+
*/}
+ + + + {t("Regular")} + Jin + + {t("Agent2.W")} + + + + + {/*
+ +
*/} +
+
+ + + + + + {t("Regular")} + Anita + + {t("Agent3.W")} + + + + + {/*
+ +
*/} +
+
+
+ + + + + {t("Regular")} + Alex + + {t("Agent4.W")} + + + + + {/*
+ +
*/} +
+
+ + + + + {t("Regular")} + Xuan + + {t("Agent5.W")} + + + + + {/*
+ +
*/} +
+
+ + + + {t("Regular")} + Walter + + {t("Agent6.W")} + + + + + {/*
+ +
*/} +
+
+
+ +
); - }); - console.log(agentlist); - return ( + /* }); */ + /* console.log(agentlist); */ + /* return (
{agentlist[0]}
@@ -36,6 +154,6 @@ const Agents = ({ agents }) => {
{agentlist[5]}
- ); + ); */ }; export default Agents; diff --git a/src/images/Agent1.jpg b/src/images/Agent1.jpg index 716c1dd..dd91452 100644 Binary files a/src/images/Agent1.jpg and b/src/images/Agent1.jpg differ diff --git a/src/images/Agent3.jpg b/src/images/Agent3.jpg index 205480b..370656b 100644 Binary files a/src/images/Agent3.jpg and b/src/images/Agent3.jpg differ diff --git a/src/images/Agent4.jpg b/src/images/Agent4.jpg index a60aa5f..e1aecdc 100644 Binary files a/src/images/Agent4.jpg and b/src/images/Agent4.jpg differ diff --git a/src/images/Agent5.jpg b/src/images/Agent5.jpg index 4580d5f..b613998 100644 Binary files a/src/images/Agent5.jpg and b/src/images/Agent5.jpg differ diff --git a/src/images/Agent6.jpg b/src/images/Agent6.jpg index 288ae24..b00c798 100644 Binary files a/src/images/Agent6.jpg and b/src/images/Agent6.jpg differ diff --git a/src/login-page/Login.js b/src/login-page/Login.js index 276856a..57ead38 100644 --- a/src/login-page/Login.js +++ b/src/login-page/Login.js @@ -14,14 +14,15 @@ class Login extends Component { }, }; - handleLogin() { + handleLogin = (e) => { + // e.preventDefault(); // if ( !== this.state.Account.email) { // alert("invalid"); // } // if (password !== this.state.Account.password) { // alert("invalid"); // } - } + }; render() { const { t } = this.props;