Skip to content

Commit f4e01b3

Browse files
authored
Merge branch 'Dev' into nyandika/testing
2 parents 53876fa + 3dd0484 commit f4e01b3

34 files changed

+182
-87
lines changed

.github/PULL_REQUEST_TEMPLATE

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[Have you read the contributing guidelines ?](https://github.com/SpaceyaTech/SYT-Web-Redesign/blob/Dev/docs/CONTRIBUTING.md)
2+
3+
# What is the purpose of your *pull request*?
4+
5+
- [ ] Bug fix
6+
- [ ] New feature
7+
8+
# Proposed changes
9+
10+
11+
# Warning
12+
13+
Please read these points carefully and answer honestly with an `X`
14+
into all the boxes. Example : [X]
15+
16+
Before submitting a *pull request* make sure you have:
17+
18+
- [ ] Read the guidelines for contributing.
19+
- [ ] Wrote some tests.
20+
- [ ] Respected the linting guidelines.

src/APP/components/Button.jsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@ import { FiArrowRightCircle } from "react-icons/fi";
44

55
function Button({ link, title }) {
66
return (
7-
<Link to={link} className="border rounded-full bg-white p-1 w-fit">
7+
<Link
8+
to={link}
9+
role="button"
10+
aria-label={title}
11+
className="border rounded-full bg-white p-1 w-fit"
12+
>
813
<div className="flex-center bg-green-light rounded-full px-3 py-1.5 gap-2">
914
<span className="capitalize text-green-header text-sm font-semibold">
1015
{title}

src/APP/components/Caroussel.jsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,18 @@ function Caroussel({ CarousselData }) {
7171
))}
7272
</div>
7373
<div className="flex justify-center gap-4">
74-
<button type="button" onClick={() => scroll(-400)}>
74+
<button
75+
type="button"
76+
aria-label="back button"
77+
onClick={() => scroll(-400)}
78+
>
7579
<PiArrowCircleLeft className="text-green-header size-16" />
7680
</button>
77-
<button type="button" onClick={() => scroll(400)}>
81+
<button
82+
type="button"
83+
aria-label="forward button"
84+
onClick={() => scroll(400)}
85+
>
7886
<PiArrowCircleRight className="text-green-header size-16" />
7987
</button>
8088
</div>

src/APP/components/FAQ.jsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ function FAQ() {
2222
>
2323
<h2 className="mb-4 font-semibold" id={`flush-heading${index + 1}`}>
2424
<button
25+
aria-label={question.question}
2526
className={`group relative flex w-full items-center rounded-none border-0 py-4 px-5 text-left text-base transition ${
2627
activeQuestion === index
2728
? ""

src/APP/components/Footer.jsx

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,33 +16,39 @@ import logo from "../../assets/images/sytLogo.png";
1616
const socialLinks = [
1717
{
1818
href: "https://www.facebook.com/spaceyatech",
19-
icon: <FaFacebook size="1.6em" />,
19+
icon: <FaFacebook aria-label="Facebook page link" size="1.6em" />,
2020
alt: "facebook",
21+
label: "Facebook page link",
2122
},
2223
{
2324
href: "https://www.instagram.com/spaceyatech/",
24-
icon: <FaInstagram size="1.5em" />,
25+
icon: <FaInstagram aria-label="Instagram page link" size="1.5em" />,
2526
alt: "instagram",
27+
label: "Instagram page link",
2628
},
2729
{
2830
href: "https://x.com/SpaceYaTech",
29-
icon: <FaXTwitter size="1.5em" />,
31+
icon: <FaXTwitter aria-label="Twitter handle" size="1.5em" />,
3032
alt: "twitter",
33+
label: "Twitter handle",
3134
},
3235
{
3336
href: "https://linkedin.com/company/spaceyatech",
34-
icon: <FaLinkedin size="1.5em" />,
37+
icon: <FaLinkedin aria-label="LinkedIn page link" size="1.5em" />,
3538
alt: "linkedIn",
39+
label: "LinkedIn page link",
3640
},
3741
{
3842
href: "https://www.youtube.com/@spaceyatech",
39-
icon: <FaYoutube size="1.5em" />,
43+
icon: <FaYoutube aria-label="YouTube channel link" size="1.5em" />,
4044
alt: "youtube",
45+
label: "YouTube channel link",
4146
},
4247
{
4348
href: "https://open.spotify.com/show/4nUYzhacDAw1v9ClqPY89n",
44-
icon: <FaSpotify size="1.5em" />,
49+
icon: <FaSpotify aria-label="Spotify profile link" size="1.5em" />,
4550
alt: "spotify",
51+
label: "Spotify profile link",
4652
},
4753
];
4854

@@ -99,6 +105,7 @@ function Footer() {
99105
href={link.href}
100106
target="_blank"
101107
rel="noopener noreferrer"
108+
aria-label={link.label}
102109
className="w-7 h-7 text-white"
103110
>
104111
{link.icon}

src/APP/components/Header.jsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, { useState } from "react";
22
import { LazyLoadImage } from "react-lazy-load-image-component";
33
import { Link, useLocation } from "react-router-dom";
4-
import { AiOutlineClose } from "react-icons/ai";
4+
import { AiOutlineClose } from "react-icons/ai";
55
import { HiOutlineMenuAlt4 } from "react-icons/hi";
66

77
import logo from "../../assets/images/sytLogo.png";
@@ -66,6 +66,7 @@ function Header() {
6666
{showNavlinks ? (
6767
<button
6868
type="button"
69+
aria-label="Close menu"
6970
className="md:hidden"
7071
onClick={() => setShowNavlinks(false)}
7172
>
@@ -75,10 +76,14 @@ function Header() {
7576
) : (
7677
<button
7778
type="button"
79+
aria-label="Open menu"
7880
className="md:hidden"
7981
onClick={() => setShowNavlinks(true)}
8082
>
81-
<HiOutlineMenuAlt4 className="h-6 w-6 text-white" aria-hidden="true" />{" "}
83+
<HiOutlineMenuAlt4
84+
className="h-6 w-6 text-white"
85+
aria-hidden="true"
86+
/>{" "}
8287
{/* Menu Icon */}
8388
</button>
8489
)}

src/APP/components/LandingWrapper.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ function LandingWrapper({ children, title }) {
66
<section className="flex flex-col gap-4 md:gap-8 my-10 md:my-20">
77
<div className="mx-auto w-full flex flex-row items-center gap-2 md:gap-4">
88
<div className="w-full h-0.5 rounded-sm bg-gray-300" />
9-
<h4 className="min-w-fit text-primary text-sm leading-loose px-4 bg-gradient-to-r from-[#D7F4EB] to-white py-2 rounded-full font-semibold border-2 border-gray-300 uppercase">
9+
<h2 className="min-w-fit text-primary text-sm leading-loose px-4 bg-gradient-to-r from-[#D7F4EB] to-white py-2 rounded-full font-semibold border-2 border-gray-300 uppercase">
1010
{title}
11-
</h4>
11+
</h2>
1212
<div className="w-full h-0.5 bg-gray-300" />
1313
</div>
1414
{children}

src/APP/pages/aboutUs/sections/LeadershipSection.jsx

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import emailjs from "@emailjs/browser";
22
import { Dialog, Transition } from "@headlessui/react";
33
import React, { Fragment, useState, useRef } from "react";
44
import { LazyLoadImage } from "react-lazy-load-image-component";
5-
import { AiOutlineClose } from "react-icons/ai"; // Import react-icons
5+
import { AiOutlineClose } from "react-icons/ai"; // Import react-icons
66

77
import { PartnerWithUs } from "../../../../assets/images/aboutPage";
88
import { Caroussel } from "../../../components";
@@ -76,16 +76,16 @@ function LeadershipSection() {
7676
<section className="pt-16 sm:pt-0 pb-10 mx-auto w-full max-w-screen-2xl sm:mt-24 px-4 md:px-0">
7777
<div className="mx-auto w-full flex flex-row items-center gap-2 md:gap-4 my-6">
7878
<div className="w-full h-0.5 rounded-sm bg-gray-300" />
79-
<h4 className="min-w-fit text-primary text-sm leading-loose px-4 bg-gradient-to-r from-[#D7F4EB] to-white py-2 rounded-full font-semibold border-2 border-gray-300 uppercase">
79+
<h2 className="min-w-fit text-primary text-sm leading-loose px-4 bg-gradient-to-r from-[#D7F4EB] to-white py-2 rounded-full font-semibold border-2 border-gray-300 uppercase">
8080
Our leadership
81-
</h4>
81+
</h2>
8282
<div className="w-full h-0.5 bg-gray-300" />
8383
</div>
8484

85-
<h2 className="md:text-3xl text-2xl font-semibold title-font text-green-dark text-center">
85+
<h3 className="md:text-3xl text-2xl font-semibold title-font text-green-dark text-center">
8686
A community is only as good
8787
<br /> as the leadership
88-
</h2>
88+
</h3>
8989

9090
<Caroussel CarousselData={LeadershipData} />
9191
<div className="border bg-white p-2 w-full rounded-2xl md:rounded-[20px] lg:col-span-2 mt-12">
@@ -99,13 +99,13 @@ function LeadershipSection() {
9999
/>
100100
</div>
101101
<div className="space-y-4 md:w-1/2 px-6 flex flex-col justify-center md:my-0 my-6">
102-
<h3 className="w-fit text-green-dark text-sm leading-loose px-4 bg-gradient-to-r from-[#D7F4EB] to-white py-2 rounded-full font-semibold border-2 border-gray-300 uppercase">
102+
<h2 className="w-fit text-green-dark text-sm leading-loose px-4 bg-gradient-to-r from-[#D7F4EB] to-white py-2 rounded-full font-semibold border-2 border-gray-300 uppercase">
103103
Partner with us
104-
</h3>
105-
<h4 className="md:text-3xl text-2xl font-semibold text-green-dark leading-8 md:leading-10">
104+
</h2>
105+
<h3 className="md:text-3xl text-2xl font-semibold text-green-dark leading-8 md:leading-10">
106106
We collaborate with similar organizations to develop Africa’s
107107
skilled workforce
108-
</h4>
108+
</h3>
109109
<p className="leading-6 text-base md:mr-5">
110110
Our main focus is on building tech capacity. We collaborate with
111111
individuals, organizations, and public institutions to mentor and
@@ -117,6 +117,7 @@ function LeadershipSection() {
117117

118118
<button
119119
type="button"
120+
aria-label="Partner with us"
120121
onClick={openModal}
121122
className="text-white bg-gradient-to-b to-primary from-green-dark border-0 py-3 px-4 md:px-8 focus:outline-none rounded-lg text-sm md:text-base w-fit text-center"
122123
>
@@ -154,7 +155,11 @@ function LeadershipSection() {
154155
leaveTo="opacity-0 scale-95"
155156
>
156157
<Dialog.Panel className="w-full max-w-2xl transform overflow-hidden rounded-md bg-white p-4 md:p-6 text-left align-middle shadow-xl transition-all flex flex-col items-end gap-4">
157-
<button type="button" onClick={closeModal}>
158+
<button
159+
type="button"
160+
aria-label="Close modal"
161+
onClick={closeModal}
162+
>
158163
<AiOutlineClose className="w-4 h-4" />
159164
</button>
160165
<form
@@ -217,6 +222,7 @@ function LeadershipSection() {
217222

218223
<button
219224
type="submit"
225+
aria-label="Submit message"
220226
className="w-fit inline-flex justify-center rounded-lg border border-transparent bg-primary px-8 py-2 text-base font-medium text-white focus:outline-none focus-visible:ring-2 focus-visible:ring-green-500 focus-visible:ring-offset-2"
221227
>
222228
{loading ? "Submitting..." : "Submit"}

src/APP/pages/aboutUs/sections/MissionVisionSection.jsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ function MissionVisionSection() {
66
<div className="max-w-screen-xl mx-auto mt-24 px-4 md:px-0">
77
<div className="mx-auto w-full flex flex-row items-center gap-2 md:gap-4 my-8">
88
<div className="w-full h-0.5 rounded-sm bg-gray-300" />
9-
<h4 className="min-w-fit text-primary text-sm leading-loose px-4 bg-gradient-to-r from-[#D7F4EB] to-white py-2 rounded-full font-semibold border-2 border-gray-300 uppercase">
9+
<h2 className="min-w-fit text-primary text-sm leading-loose px-4 bg-gradient-to-r from-[#D7F4EB] to-white py-2 rounded-full font-semibold border-2 border-gray-300 uppercase">
1010
A bit more about us
11-
</h4>
11+
</h2>
1212
<div className="w-full h-0.5 bg-gray-300" />
1313
</div>
1414
<div className="border bg-white p-2 w-full rounded-2xl md:rounded-[20px] lg:col-span-2">
@@ -44,9 +44,9 @@ function MissionVisionSection() {
4444
<div className="border bg-white p-2 w-full rounded-2xl md:rounded-[20px] lg:col-span-2">
4545
<div className="bg-green-light rounded-lg md:rounded-xl size-full flex items-center justify-between flex-row p-3 sm:p-6 md:py-20 md:gap-5">
4646
<div className="flex-center md:flex-start flex-col p-3 sm:p-8 gap-3">
47-
<h4 className="text-green-header capitalize text-base md:text-xl font-semibold text-center md:text-start">
47+
<h3 className="text-green-header capitalize text-base md:text-xl font-semibold text-center md:text-start">
4848
Our Mission
49-
</h4>
49+
</h3>
5050

5151
<p className="text-sm md:text-base font-normal text-center md:text-start">
5252
To help 10,000 young Africans to transition to tech in the next
@@ -59,9 +59,9 @@ function MissionVisionSection() {
5959
<div className="border bg-white p-2 w-full rounded-2xl md:rounded-[20px] lg:col-span-2">
6060
<div className="bg-green-light rounded-lg md:rounded-xl size-full flex items-center justify-between flex-row p-3 sm:p-6 md:py-20 md:gap-5">
6161
<div className="flex-center md:flex-start flex-col p-3 sm:p-8 gap-3">
62-
<h4 className="text-green-header capitalize text-base md:text-xl font-semibold text-center md:text-start">
62+
<h3 className="text-green-header capitalize text-base md:text-xl font-semibold text-center md:text-start">
6363
Our Vision
64-
</h4>
64+
</h3>
6565

6666
<p className="text-sm md:text-base font-normal text-center md:text-start">
6767
To be the best tech community, focused on innovation and

src/APP/pages/blog2/sections/BlogHeader.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ function BlogHeader({
3333
</p>
3434

3535
<div className="flex items-center gap-2 mt-5 md:my-3">
36-
<LazyLoadImage
36+
<LazyLoadImage
3737
src={logo}
3838
alt={author}
3939
className="w-10 h-10 object-cover rounded-full flex items-center justify-center"
@@ -48,7 +48,7 @@ function BlogHeader({
4848
</div>
4949

5050
<div className="flex flex-col gap-4 py-5">
51-
<LazyLoadImage
51+
<LazyLoadImage
5252
src={image}
5353
alt={title}
5454
className="object-contain overflow-hidden w-full lg:rounded-xl px-4 md:px-0"

src/APP/pages/blog2/sections/NextRead.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ function NextRead() {
2727

2828
return (
2929
<div className="mx-auto max-w-[924px] flex flex-col gap-6 items-center px-0 md:px-3 w-full mt-10">
30-
<h4 className="text-xl md:text-2xl font-semibold leading-normal">
30+
<h2 className="text-xl md:text-2xl font-semibold leading-normal">
3131
You might like these
32-
</h4>
32+
</h2>
3333

3434
<div className="flex items-center md:justify-between gap-1 md:gap-5 w-full">
3535
{/* left */}

src/APP/pages/blog2/sections/RelatedBlogCard.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ function RelatedBlogCard({ blog }) {
1313
className="flex flex-row items-center gap-2 w-64"
1414
to={`/blogs2/${blog.title_slug}`}
1515
>
16-
<LazyLoadImage
16+
<LazyLoadImage
1717
src={`https://apis.spaceyatech.com${blog.image}`}
1818
alt={blog.title}
1919
className="object-cover h-20 w-20"

src/APP/pages/blog2/sections/RelatedBlogs.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@ function RelatedBlogs({ blogId, categoryId }) {
3333

3434
{isSuccess && filteredRelatedBlogs.length > 0 && (
3535
<div className="flex flex-col gap-4">
36-
<h3 className="text-[#29CC6A] text-lg font-bold leading-normal">
36+
<h2 className="text-[#29CC6A] text-lg font-bold leading-normal">
3737
{filteredRelatedBlogs.length > 1
3838
? "Related Articles"
3939
: "Related Article"}
40-
</h3>
40+
</h2>
4141
<div className="flex flex-col gap-4">
4242
{Array.isArray(filteredRelatedBlogs) &&
4343
filteredRelatedBlogs.length > 0 ? (

src/APP/pages/blog2/sections/ShareBlog.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import {
1616
function ShareBlog({ url, title }) {
1717
return (
1818
<div className="flex flex-row items-center gap-4">
19-
<h3 className="text-primary uppercase font-normal">share it</h3>
19+
<p className="text-primary uppercase font-normal">share it</p>
2020

2121
<WhatsappShareButton
2222
url={url}

src/APP/pages/blogs/sections/Banner.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ function Banner() {
1010
return (
1111
<div className="relative bg-blog-image bg-cover bg-center bg-no-repeat h-60 w-full">
1212
<div className="absolute inset-0 flex flex-col gap-4 md:gap-8 items-center justify-center w-[80%] mx-auto md:w-[716px]">
13-
<h2 className="text-3xl font-normal text-white">Blogs</h2>
13+
<h1 className="text-3xl font-normal text-white">Blogs</h1>
1414

1515
<form className="flex items-center border-2 border-white px-4 py-2 md:py-3 rounded-full w-full gap-1">
1616
<input
@@ -25,7 +25,7 @@ function Banner() {
2525
className="w-1/10 p-2"
2626
onClick={(e) => e.preventDefault()}
2727
>
28-
<LazyLoadImage src={search} alt="search" className="w-6 h-6" />
28+
<LazyLoadImage src={search} alt="search" className="w-6 h-6" />
2929
</button>
3030
</form>
3131
</div>

src/APP/pages/blogs/sections/FeaturedBlogs.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ function FeaturedBlogCard({ blog, currentIndex, handleToggle }) {
4545
backgroundImage: `linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)), url("${blog.image}")`,
4646
}}
4747
>
48-
<h4 className="text-primary text-base md:text-2xl font-bold">Featured</h4>
48+
<h2 className="text-primary text-base md:text-2xl font-bold">Featured</h2>
4949
<div className="flex space-x-8 text-white w-full flex-row">
5050
<div className="flex-1 flex flex-col gap-3">
5151
<Link

src/APP/pages/community/sections/gallerySection/GallerySection.jsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ function GallerySection() {
88
<div className="pb-10 sm:pb-24 text-center">
99
<div className="mx-auto w-full flex flex-row items-center gap-2 md:gap-4 my-8">
1010
<div className="w-full h-0.5 rounded-sm bg-gray-300" />
11-
<h3 className="min-w-fit text-primary text-sm leading-loose px-4 bg-gradient-to-r from-[#D7F4EB] to-white py-2 rounded-full font-semibold border-2 border-gray-300 uppercase">
11+
<h2 className="min-w-fit text-primary text-sm leading-loose px-4 bg-gradient-to-r from-[#D7F4EB] to-white py-2 rounded-full font-semibold border-2 border-gray-300 uppercase">
1212
Our Gallery
13-
</h3>
13+
</h2>
1414
<div className="w-full h-0.5 bg-gray-300" />
1515
</div>
16-
<h2 className="md:text-3xl text-2xl font-semibold title-font text-green-dark text-center">
16+
<h3 className="md:text-3xl text-2xl font-semibold title-font text-green-dark text-center">
1717
A memory bank of our special
1818
<br /> moments
19-
</h2>
19+
</h3>
2020
<div className="overflow-x-auto flex gap-8 mt-10">
2121
{photosData.slice(0, 6).map((photo) => (
2222
<LazyLoadImage

0 commit comments

Comments
 (0)