Skip to content

Commit 0c3ed10

Browse files
Add new portfolio projects and update translations for Persian; enhance Portfolio component with localized text
1 parent 97dd00a commit 0c3ed10

7 files changed

Lines changed: 53 additions & 20 deletions

File tree

public/IMGE/SIPAD.png

417 KB
Loading

public/images/DATAGRED.png

463 KB
Loading

public/images/SIPAD.png

256 KB
Loading

public/images/is.png

-1.23 MB
Loading

public/locales/fa/translation.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,11 @@
183183
"customClass": "-ml-2"
184184
}
185185
]
186+
}, "portfolio": {
187+
"title": "نمونه کارها",
188+
"description": "پروژه‌ها ممکن است از نظر شما کامل نباشند، اما من هر روز آن‌ها را کامل‌تر می‌کنم",
189+
"viewAll": "مشاهده تمام پروژه‌ها",
190+
"viewSource": "این پروژه نیاز به مجوز دارد"
186191
},
187192
"services": {
188193
"title": "خدمات حرفه‌ای",

src/Components/portfolio/Portfolio.json

Lines changed: 41 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,38 @@
66
"image": "./images/is.png",
77
"link": "https://darkcode-it.github.io/whoami/",
88
"repo": "https://github.com/Darkcode-it/whoami",
9-
"tags": ["React", "Tailwind", "Vit"],
9+
"tags": [
10+
"React",
11+
"Tailwind",
12+
"Vit"
13+
],
1014
"description": ""
1115
},
16+
{
17+
"id": "sipad",
18+
"title": "SIPAD",
19+
"image": "./images/SIPAD.png",
20+
"link": "https://sipad.vercel.app/",
21+
"repo": ".",
22+
"tags": [
23+
"Web App",
24+
"Vercel"
25+
],
26+
"description": "SIPAD project hosted on Vercel platform"
27+
},
28+
{
29+
"id": "datagred",
30+
"title": "DATAGRED",
31+
"image": "./images/DATAGRED.png",
32+
"link": "https://datagrid-nine.vercel.app/",
33+
"repo": "https://github.com/Darkcode-it/datagrid",
34+
"tags": [
35+
"Web App",
36+
"Vercel",
37+
"Data Grid"
38+
],
39+
"description": "DATAGRED project - A data grid application hosted on Vercel"
40+
},
1241
{
1342
"id": "net4all",
1443
"title": "net4all",
@@ -17,15 +46,18 @@
1746
"repo": "https://github.com/Darkcode-it/net4all",
1847
"tags": [],
1948
"description": "A type of DDOS that changes the port and IP with each operation. With this tool you can eliminate bad Telegram channels."
20-
2149
},
2250
{
2351
"id": "movie-app",
2452
"title": "Movie App",
2553
"image": "./images/fourth.png",
2654
"link": "https://darkcode-it.github.io/Movie/",
2755
"repo": "https://github.com/Darkcode-it/Movie",
28-
"tags": ["React", "Tailwind", "Vit"],
56+
"tags": [
57+
"React",
58+
"Tailwind",
59+
"Vit"
60+
],
2961
"description": ""
3062
},
3163
{
@@ -37,15 +69,7 @@
3769
"tags": [],
3870
"description": ""
3971
},
40-
{
41-
"id": "khano-app",
42-
"title": "Khano App",
43-
"image": "./images/khanoo.png",
44-
"link": "https://darkcode-it.github.io/Khano-app/",
45-
"repo": "https://github.com/Darkcode-it/Khano-app",
46-
"tags": ["React", "Tailwind", "Vit"],
47-
"description": ""
48-
},
72+
4973
{
5074
"id": "my-project",
5175
"title": "My Project",
@@ -61,7 +85,11 @@
6185
"image": "./images/todo.png",
6286
"link": "https://preview--persia-todo-task.lovable.app/",
6387
"repo": "https://github.com/Darkcode-it/persia-todo-task",
64-
"tags": ["React", "Tailwind", "Vit"],
88+
"tags": [
89+
"React",
90+
"Tailwind",
91+
"Vit"
92+
],
6593
"description": ""
6694
}
6795
]

src/Components/portfolio/Portfolio.jsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { CiWarning } from "react-icons/ci";
55
import { useTranslation } from 'react-i18next';
66

77
const Portfolio = () => {
8-
const { i18n } = useTranslation();
8+
const { t, i18n } = useTranslation();
99

1010
const addImageFallback = (event) => {
1111
event.currentTarget.src = 'https://via.placeholder.com/400x200?text=Image+Not+Found';
@@ -22,12 +22,11 @@ const Portfolio = () => {
2222

2323
<div className="max-w-6xl mx-auto">
2424
{/* بخش هدر */}
25-
<div className="mb-12 text-center">
26-
<h3 className="text-4xl md:text-5xl font-bold bg-gradient-to-r from-gray-900 via-blue-800 to-purple-800 bg-clip-text text-transparent mb-3">
27-
Portfolio
25+
<div className="mb-12 text-center"> <h3 className="text-4xl md:text-5xl font-bold bg-gradient-to-r from-gray-900 via-blue-800 to-purple-800 bg-clip-text text-transparent mb-3">
26+
{t('portfolio.title')}
2827
</h3>
2928
<p className="max-w-2xl mx-auto text-gray-600 mt-4">
30-
The projects may not be perfect from your point of view, but I make them more perfect every day
29+
{t('portfolio.description')}
3130
</p>
3231
<div className="w-20 h-1 bg-gradient-to-r from-blue-500 to-purple-600 mx-auto rounded-full mt-4"></div>
3332
</div>
@@ -51,7 +50,7 @@ const Portfolio = () => {
5150
className="inline-block bg-gradient-to-r from-blue-600 to-purple-600 hover:from-blue-700 hover:to-purple-700 text-white
5251
px-8 py-3 rounded-lg transition-all duration-300 hover:shadow-lg hover:-translate-y-1"
5352
>
54-
View all projects
53+
{t('portfolio.viewAll')}
5554
</a>
5655
</div>
5756
</div>
@@ -61,6 +60,7 @@ const Portfolio = () => {
6160

6261
// کامپوننت کارت پروژه
6362
const ProjectCard = ({ project, onError, index }) => {
63+
const { t } = useTranslation();
6464
return (
6565
<div
6666
className="group relative h-[400px]"
@@ -108,7 +108,7 @@ const ProjectCard = ({ project, onError, index }) => {
108108
target="_blank"
109109
rel="noopener noreferrer"
110110
>
111-
View Source
111+
{t('portfolio.viewSource')}
112112
<CiWarning className="w-5 h-5 mr-1" />
113113
</a>
114114
</div>

0 commit comments

Comments
 (0)