Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
5b61d1a
feat: add speakers section's wrapper with its title
dofxo Jan 27, 2025
48e8a13
feat: add speakers data
dofxo Jan 27, 2025
d081ff4
feat: add sample company-logo and profile-picture for the speaker sec…
dofxo Jan 27, 2025
225bff4
feat: add speaker component
dofxo Jan 27, 2025
325f039
modify: render speakers using speakers data
dofxo Jan 27, 2025
c5fc4a7
feat: add rtl direction to main layout
dofxo Jan 31, 2025
5de85db
refactor: change data directory name to configs
dofxo Jan 31, 2025
a436e5f
refactor: change pictures format
dofxo Jan 31, 2025
3c70b67
refactor: change image styles in speakers section
dofxo Jan 31, 2025
51dd626
refactor: use tailwind colors instead of hard coded color
dofxo Jan 31, 2025
3f0ccc1
feat: add borderstyles to speakers company logo
dofxo Jan 31, 2025
6061da8
refactor: change company logo width
dofxo Jan 31, 2025
104dfa7
refactor: add a wrapper for company logo for better aligment
dofxo Jan 31, 2025
16d7972
remove: remove dark prefrence theme
dofxo Jan 31, 2025
e61bbfd
feat: add custom spacing to tailwind config
dofxo Jan 31, 2025
4f3045b
refactor: replace hard coded styles with tailwind custom classes
dofxo Jan 31, 2025
c87c556
refactor: change folder structure
dofxo Jan 31, 2025
cb79544
refactor: rename speakers file type to d.ts
dofxo Feb 1, 2025
d158381
feat: add Dana font to project and remove the default nextjs font
dofxo Feb 2, 2025
2ce8df1
refactor: change sample speaker role text
dofxo Feb 2, 2025
bd08423
refactor: change speakers gap
dofxo Feb 2, 2025
f6b577b
feat: add muted-foreground color to tailwind colors
dofxo Feb 2, 2025
01ffc6f
refactor: replace hard coded color with tailwind variable
dofxo Feb 2, 2025
def50d0
feat: add speakers data
dofxo Feb 8, 2025
cfc7fd5
feat: add speakers company website links
dofxo Feb 8, 2025
fce8c92
refactor: change speaker picture
dofxo Feb 8, 2025
c2c27b5
refactor: change import path for Speakers section
dofxo Feb 9, 2025
a6bebd3
refactor: change the way of using font to nextjs localFont
dofxo Feb 9, 2025
c4503f7
refactor: rename speaker interface name
dofxo Feb 9, 2025
905f14e
refactor: rename speakerInfoType to ISpeakerInfo
AmirHosseinKarimi Feb 9, 2025
ac683ca
Merge remote-tracking branch 'origin/speakers' into speakers
dofxo Feb 9, 2025
578f5b3
refactor: change import type for ISpeaker in configs
dofxo Feb 9, 2025
4c21377
docs: update README.md [skip ci]
allcontributors[bot] Feb 10, 2025
8e9885e
docs: create .all-contributorsrc [skip ci]
allcontributors[bot] Feb 10, 2025
5063ec3
Merge pull request #13 from frontChapter/all-contributors/add-fulcain
AmirHosseinKarimi Feb 10, 2025
10e5fbd
Merge branch 'dev' into feat/improve-ci-cd-setup
AmirHosseinKarimi Feb 10, 2025
9def368
Merge pull request #10 from frontChapter/feat/improve-ci-cd-setup
AmirHosseinKarimi Feb 10, 2025
aa7fafd
Merge branch 'dev' into speakers
dofxo Feb 10, 2025
e968a28
refactor: change color variable
dofxo Feb 10, 2025
47e3251
update: update package-lock
dofxo Feb 10, 2025
39415a7
Merge branch 'dev' into speakers
dofxo Feb 11, 2025
2900c60
fix: fix tailwind config issue
dofxo Feb 11, 2025
347de5b
refactor: add dark color scheme support for texts
dofxo Feb 11, 2025
93190e1
fix: correct dark border color for tailwind class
dofxo Feb 11, 2025
ed08f2a
refactor: change text-card-foreground to text-muted-foreground
dofxo Feb 11, 2025
0b02896
feat: Add Sponsors section
Bravemobin Feb 11, 2025
71f6e51
feat: Add sponsors section to the website
Bravemobin Feb 11, 2025
b16dd44
Merge pull request #17 from frontChapter/sponsers
AmirHosseinKarimi Feb 12, 2025
acddbaa
docs: update README.md
allcontributors[bot] Feb 12, 2025
6412e1f
docs: update .all-contributorsrc
allcontributors[bot] Feb 12, 2025
06eba7a
Merge pull request #20 from frontChapter/all-contributors/add-Bravemobin
AmirHosseinKarimi Feb 12, 2025
d3e2499
Merge branch 'dev' into speakers
dofxo Feb 12, 2025
f039d2f
Merge branch 'dev' into speakers
AmirHosseinKarimi Feb 14, 2025
42508f2
fix: rename Sponsers to Sponsors
AmirHosseinKarimi Feb 14, 2025
9db267c
fix: rename Sponsers to Sponsors
AmirHosseinKarimi Feb 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
This repository contains FrontChapter`s website source code.

## Contributors
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->

[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors-)

<!-- ALL-CONTRIBUTORS-BADGE:END -->

## Contributors ✨

Thanks goes to these wonderful people
([emoji key](https://allcontributors.org/docs/en/emoji-key)):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
Expand All @@ -19,3 +28,7 @@ This repository contains FrontChapter`s website source code.
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the
[all-contributors](https://github.com/all-contributors/all-contributors)
specification. Contributions of any kind welcome!
Binary file added public/images/speakers/company-logo/bazaro.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/speakers/company-logo/mofid.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/speakers/company-logo/quera.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/speakers/company-logo/rasmio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/speakers/company-logo/tapsell.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/speakers/company-logo/tiny-libs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { Section } from "@/components/ui/section";
import sponsersData from "@/configs/sponsersData";
import { SponsorsData } from "@/configs/sponsorsData";
import Image from "next/image";

export default function Sponsers() {
export default function Sponsors() {
return (
<Section>
<div className="mx-auto flex max-w-container flex-col items-center gap-14 text-center">
Expand All @@ -12,18 +12,13 @@ export default function Sponsers() {
</h2>
</div>
<div className="flex flex-wrap items-center justify-center gap-8">
{sponsersData.map((sponser, index) => (
{SponsorsData.map(({ image, title }, index) => (
<div className="flex items-center gap-2" key={index}>
<div className="border-2 border-gray-800 p-1">
<Image
src={sponser.image}
width={21}
height={21}
alt={sponser.title}
/>
<Image src={image} width={21} height={21} alt={title} />
</div>

<span className="font-bold">{sponser.title}</span>
<span className="font-bold">{title}</span>
</div>
))}
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export type SponsersDataType = {
export type SponsorsDataType = {
title: string;
image: string;
};
64 changes: 64 additions & 0 deletions src/app/components/speakers/Speaker.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
import type { ISpeakerInfo } from "./Speakers.d";
import Image from "next/image";

const Speaker = ({ speakerInfo }: { speakerInfo: ISpeakerInfo }) => {
const { name, role, company, imageUrl } = speakerInfo;
return (
<div className="speaker-card flex w-[138px] flex-col gap-[12px]">
{/* speaker picture */}
<div className="relative flex items-center justify-center rounded-[8px] p-[5px]">
{/* Gradient */}
<div
className="absolute inset-0 z-0 rounded-md"
style={{
background:
"radial-gradient(82.48% 67.73% at 8.62% 87.5%, #ECD8C6 0%, #A77344 49.5%, #222223 100%)",
}}
/>
{/* Black Background */}
<div className="absolute inset-[1px] z-0 rounded-md bg-background dark:bg-background-dark" />

<Image
src={imageUrl ?? null}
width={100}
height={100}
alt={name}
className="rounded-inherit z-[1] w-[128px]"
/>
</div>
{/* info section*/}
<div className="info-wrapper flex flex-col items-center font-[400]">
{/* speaker name*/}
<span className="text-[20px]">{name}</span>
{/* speaker role (stack)*/}
<span className="w-max text-[16px] text-muted-foreground dark:text-muted-foreground-dark">
{role}
</span>
{/* speaker company details */}
<div className="mt-[12px] flex items-center gap-[16px]">
<span className="text-[16px] text-muted-foreground dark:text-muted-foreground-dark">
در
</span>
<a
href={company.websiteLink}
target="_blank"
className="flex items-center gap-[4px]"
>
<div className="flex h-[28px] w-[28px] items-center justify-center rounded-[2px] border border-[1px] border-border p-[2px] dark:border-border-dark">
<Image
width={100}
height={100}
src={company.logo ?? null}
alt={company.name}
className="w-[20px]"
/>
</div>
<span className="text-[14px] font-[500]">{company.name}</span>
</a>
</div>
</div>
</div>
);
};

export default Speaker;
10 changes: 10 additions & 0 deletions src/app/components/speakers/Speakers.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
export interface ISpeakerInfo {
imageUrl: string;
role: string;
name: string;
company: {
logo: string;
name: string;
websiteLink: string;
};
}
20 changes: 20 additions & 0 deletions src/app/components/speakers/Speakers.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import Speaker from "./Speaker";
import { speakersData } from "@/configs/speakers";

const Speakers = () => {
return (
<section
id="speakers"
className="flex flex-col items-center gap-12 px-[32px] py-20"
>
<h3 className="text-center text-[48px] font-[800]">سخنرانان همایش</h3>
<div className="speakers-wrapper flex max-w-[1080px] flex-wrap justify-center gap-x-[30px] gap-y-[20px]">
{speakersData.map((info, idx) => (
<Speaker key={idx} speakerInfo={info} />
))}
</div>
</section>
);
};

export default Speakers;
6 changes: 4 additions & 2 deletions src/app/page.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
import Sponsers from "./components/Sponsers/Sponsers";
import Sponsors from "./components/Sponsors/Sponsors";
import FAQ from "@/app/components/FAQ/FAQ";
import TweetSection from "@/app/components/TweetSection/TweetSection";
import Speakers from "@/app/components/speakers/Speakers";

export default function Home() {
return (
<>
<Speakers />
<TweetSection />
<FAQ />
<Sponsers />
<Sponsors />
</>
);
}
65 changes: 65 additions & 0 deletions src/configs/speakers.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import type { ISpeakerInfo as ISpeakerPerson } from "@/app/components/speakers/Speakers.d";

export const speakersData: ISpeakerPerson[] = [
{
name: "عرفان عباسی",
role: "مدیر فنی",
imageUrl: "/images/speakers/profile-picture/erfan-abbasi.jpeg",
company: {
name: " کارگزاری مفید",
logo: "/images/speakers/company-logo/mofid.png",
websiteLink: "https://www.emofid.com/",
},
},
{
name: "مجتبی افراز",
role: "مهندس نرم‌افزار",
imageUrl: "/images/speakers/profile-picture/mojtaba-afraz.jpeg",
company: {
name: "تپسل",
logo: "/images/speakers/company-logo/tapsell.png",
websiteLink: "https://tapsell.com/",
},
},
{
name: "امیرحسین دارابی",
role: "منتور و مدرس",
imageUrl: "/images/speakers/profile-picture/amirhossein-darabi.jpeg",
company: {
name: "کوئرا",
logo: "/images/speakers/company-logo/quera.png",
websiteLink: "https://quera.org/",
},
},
{
name: "محمد باقر عبیات",
role: "بنیانگذار",
imageUrl: "/images/speakers/profile-picture/mohammad-baqer-abiat.jpeg",
company: {
name: "TinyLibs",
logo: "/images/speakers/company-logo/tiny-libs.png",
websiteLink: "https://tinylibs.github.io/",
},
},
{
name: "مسعود بیگی",
role: "CTO",
imageUrl: "/images/speakers/profile-picture/masoud-beygi.jpeg",
company: {
name: "رسمیو",
logo: "/images/speakers/company-logo/rasmio.png",
websiteLink: "https://rasmio.com/",
},
},

{
name: "سجاد منشی",
role: "مهندس نرم‌افزار",
imageUrl: "/images/speakers/profile-picture/sajjad-maneshi.jpeg",
company: {
name: "Bazaro",
logo: "/images/speakers/company-logo/bazaro.png",
websiteLink: "https://www.bazaro.se/",
},
},
];
6 changes: 3 additions & 3 deletions src/configs/sponsersData.ts → src/configs/sponsorsData.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { SponsersDataType } from "@/app/components/Sponsers/sponsers";
import { SponsorsDataType } from "@/app/components/Sponsors/sponsors";

export const sponsersData: SponsersDataType[] = [
export const SponsorsData: SponsorsDataType[] = [
{
title: "دیجی کالا",
image: "/images/company-logos/digikala.png",
Expand All @@ -19,4 +19,4 @@ export const sponsersData: SponsersDataType[] = [
},
];

export default sponsersData;
export default SponsorsData;