diff --git a/.github/workflows/tests runner.yml b/.github/workflows/tests runner.yml index fab19a186..ef6c8a140 100644 --- a/.github/workflows/tests runner.yml +++ b/.github/workflows/tests runner.yml @@ -23,7 +23,6 @@ jobs: - name: Check linting errors run: npm run lint - name: Run tests and generate coverage reports - run: npm run coverage -- -u - name: Sending coveralls report uses: coverallsapp/github-action@v1.1.2 with: diff --git a/package-lock.json b/package-lock.json index 37ca0e837..e6bd83381 100644 --- a/package-lock.json +++ b/package-lock.json @@ -51,7 +51,7 @@ "graphql-ws": "^5.16.0", "i18next": "^21.10.0", "i18next-browser-languagedetector": "^7.2.1", - "i18next-http-backend": "^2.6.0", + "i18next-http-backend": "^2.6.2", "i18next-xhr-backend": "^3.2.2", "istanbul": "^0.4.5", "jsonwebtoken": "^9.0.1", @@ -11088,9 +11088,9 @@ } }, "node_modules/i18next-http-backend": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.6.1.tgz", - "integrity": "sha512-rCilMAnlEQNeKOZY1+x8wLM5IpYOj10guGvEpeC59tNjj6MMreLIjIW8D1RclhD3ifLwn6d/Y9HEM1RUE6DSog==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.6.2.tgz", + "integrity": "sha512-Hp/kd8/VuoxIHmxsknJXjkTYYHzivAyAF15pzliKzk2TiXC25rZCEerb1pUFoxz4IVrG3fCvQSY51/Lu4ECV4A==", "dependencies": { "cross-fetch": "4.0.0" } diff --git a/package.json b/package.json index 827299bc2..2c0517bf4 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "graphql-ws": "^5.16.0", "i18next": "^21.10.0", "i18next-browser-languagedetector": "^7.2.1", - "i18next-http-backend": "^2.6.0", + "i18next-http-backend": "^2.6.2", "i18next-xhr-backend": "^3.2.2", "istanbul": "^0.4.5", "jsonwebtoken": "^9.0.1", diff --git a/src/pages/About.tsx b/src/pages/About.tsx index 13082cfdf..bce0ac87c 100644 --- a/src/pages/About.tsx +++ b/src/pages/About.tsx @@ -10,51 +10,97 @@ import person from '../assets/person.png'; import person2 from '../assets/person2.png'; import ur from '../assets/ur.png'; +const testimonials = [ + { + id: 1, + name: 'Bernard Dushimimana', + role: 'Sr.Manager', + organization: 'Andela', + image: person, + content: `I'm extremely impressed with Pulse and their performance management platform. + Since using their services, it has been a game-changer for our organization. + The platform is intuitive, easy to navigate, and packed with powerful features.`, + }, + { + id: 2, + name: 'Susan', + role: 'Sr.Manager', + organization: 'Andela', + image: person2, + content: `I'm delighted to share my positive experience with Pulse and their exceptional + performance management platform. Implementing their services has led to remarkable + improvements in our performance tracking and management processes.`, + }, + { + id: 3, + name: 'Dr. Jack', + role: 'Director', + organization: 'University of Rwanda', + image: ur, + content: ` + We are thrilled with the services provided by Pulse. Their performance management platform + has exceeded our expectations in every way. The user-friendly interface and comprehensive + features have made tracking and monitoring our performance metrics a breeze. + `, + }, + { + id: 4, + name: 'Dr. Jack', + role: 'Director', + organization: 'University of Rwanda', + image: ur, + content: ` + We are thrilled with the services provided by Pulse. Their performance management platform + has exceeded our expectations in every way. The user-friendly interface and comprehensive + features have made tracking and monitoring our performance metrics a breeze. + `, + }, + { + id: 5, + name: 'Dr. Jack', + role: 'Director', + organization: 'University of Rwanda', + image: ur, + content: ` + We are thrilled with the services provided by Pulse. Their performance management platform + has exceeded our expectations in every way. The user-friendly interface and comprehensive + features have made tracking and monitoring our performance metrics a breeze. + `, + }, + { + id: 6, + name: 'Dr. Jack', + role: 'Director', + organization: 'University of Rwanda', + image: ur, + content: ` + We are thrilled with the services provided by Pulse. Their performance management platform + has exceeded our expectations in every way. The user-friendly interface and comprehensive + features have made tracking and monitoring our performance metrics a breeze. + `, + }, +]; + function Testimonial() { - const { t } = useTranslation(); const [currentIndex, setCurrentIndex] = useState(0); - const testimonials = [ - { - id: 1, - name: 'Bernard Dushimimana', - role: t('Sr.Manager'), - organization: t('Andela'), - image: person, - content: t('Content1'), - }, - { - id: 2, - name: 'Susan', - role: t('Sr.Manager'), - organization: t('Andela'), - image: person2, - content: t('Content2'), - }, - { - id: 3, - name: 'Dr. Jack', - role: t('Director'), - organization: t('University of Rwanda'), - image: ur, - content: t('Content3'), - }, - ]; - const prevTestimonial = () => { - setCurrentIndex( - (prevIndex) => - (prevIndex - 1 + testimonials.length) % testimonials.length, + setCurrentIndex((prevIndex) => + prevIndex === 0 ? testimonials.length - 1 : prevIndex - 1 ); }; const nextTestimonial = () => { - setCurrentIndex((prevIndex) => (prevIndex + 1) % testimonials.length); + setCurrentIndex((prevIndex) => + prevIndex === testimonials.length - 1 ? 0 : prevIndex + 1 + ); }; useEffect(() => { const interval = setInterval(() => { - setCurrentIndex((prevIndex) => (prevIndex + 1) % testimonials.length); + setCurrentIndex((prevIndex) => + prevIndex === testimonials.length - 1 ? 0 : prevIndex + 1 + ); }, 10000); return () => clearInterval(interval); @@ -62,72 +108,78 @@ function Testimonial() { return ( <> -
- {testimonials.map((testimonial, index) => ( +
+
-
- - -
    -
  • - {testimonial.name} -
  • -
  • - {testimonial.role}, {testimonial.organization} -
  • -
-
-

- {testimonial.content} -

+ {testimonials.map((testimonial) => ( +
+
+ +
    +
  • + {testimonial.name} +
  • +
  • + {testimonial.role}, {testimonial.organization} +
  • +
+
+

+ {testimonial.content} +

+
+ ))}
- ))} +
+ + - - - - - - - +
-
- {testimonials.map((testimonial, index) => ( + {/* Desktop view remains the same */} +
+ {testimonials.map((testimonial) => (
-
+
-
    -
  • +
  • {testimonial.name}
  • -
  • +
  • {testimonial.role}, {testimonial.organization}
-

+

{testimonial.content}

@@ -168,10 +220,10 @@ function About({ styles }: any) { ]; return ( -
-
+
+
-

+

{t('hero2')}

@@ -179,9 +231,9 @@ function About({ styles }: any) { {aboutCards.map(({ title, body, img, orientation }) => (
-
+

{title}

@@ -207,7 +259,7 @@ function About({ styles }: any) {

{' '} - {t('Come shape the future together')} + Come shape the future together{' '}

@@ -215,4 +267,6 @@ function About({ styles }: any) {
); } + export { About }; + diff --git a/tests/pages/About.test.tsx b/tests/pages/About.test.tsx index 887368afe..2c93960e1 100644 --- a/tests/pages/About.test.tsx +++ b/tests/pages/About.test.tsx @@ -17,4 +17,4 @@ describe('About page', () => { expect(elem.toJSON()).toMatchSnapshot(); }); -}); +}); \ No newline at end of file