JA
@JafarMustafayev

Mən mövcud React layihəmdə Home / Feed səhifəsinin UI dizaynını yeniləmək istəyirəm.

Mən sənə 2 şəkil göndərmişəm:

1. Birinci şəkil — istədiyim yeni dizayn nümunəsidir.

2. İkinci şəkil — layihəmdə hazırkı Home səhifəsinin vəziyyətidir.

Məqsəd:

Hazırkı Home səhifəsini birinci şəkildəki dizayna maksimum oxşar formada yenidən qur. UI ümumi olaraq Twitter/X stilinə yaxın, sadə, təmiz və professional görünməlidir.

Əsas fərq:

Birinci şəkildə sağ tərəfdə “Konuşulanlar”, “Sana göre” kimi hissələr var. Mənim layihəmdə isə sağ tərəfdə bunlar olmalıdır:

1. “Takib edə biləcəyin şəxslər” bölməsi

2. “Önümüzdəki 1 həftədə ad günü olan şəxslər” bölməsi

Yəni sağ sidebar mənim layihəmin data strukturuna uyğun olmalıdır.

Texnologiyalar:

- React

- Tailwind CSS

- React Router varsa mövcud routing pozulmasın

- lucide-react iconları istifadə oluna bilər

- Mövcud kod strukturu qorunmalıdır

Ümumi Layout tələbləri:

- Səhifə 3 əsas hissədən ibarət olmalıdır:

1. Sol sidebar / navigation

2. Orta əsas feed content

3. Sağ sidebar widgets

Desktop görünüş:

- Sol navbar sabit genişlikdə olmalıdır.

- Orta hissə feed üçün ayrılmalıdır.

- Sağ tərəfdə widget-lər yerləşməlidir.

- Layout birinci şəkildəki kimi sağdan-soldan container daxilində olmalıdır.

- Kontent çox geniş yayılmamalıdır.

- Orta feed hissəsi border-left və border-right ilə ayrılmış ola bilər.

- Sağ sidebar desktop-da görünməlidir.

- Səhifədə horizontal overflow olmamalıdır.

Mobile görünüş:

- Sağ sidebar mobile-da gizlədilməlidir.

- Sol sidebar mobile-da aşağı hissədə bottom navigation kimi göstərilməlidir.

- Mobile navbar ekranın aşağısında fixed olmalıdır.

- Mobile-da search navbar daxilində olmamalıdır.

- Feed content tam enə uyğun responsive görünməlidir.

- Bottom navbar kontentin üstünə düşməsin deyə əsas content-ə padding-bottom verilməlidir.

Navbar tələbləri:

- Navbar birinci şəkildəki kimi sadə və minimal olmalıdır.

- Search input navbar daxilində olmayacaq.

- Desktop-da sol tərəfdə icon + text formasında navigation item-lar olsun.

- Aktiv olan menu item background və accent color ilə seçilsin.

- Mobile-da yalnız icon-lar və ya qısa label-lar göstərilsin.

- Navbar çox böyük və ağır görünməsin.

Əsas rəng sistemi:

Layihədə əsas accent rəng olaraq bu rəng istifadə olunmalıdır:

rgb(26, 135, 211)

Bu rəng gələcəkdə Settings səhifəsində dəyişdirilə biləcək formada qurulmalıdır. Ona görə rənglər hardcoded şəkildə hər component-də təkrar yazılmamalıdır.

Mümkünsə:

- CSS variable istifadə et: --accent-color: rgb(26, 135, 211)

- və ya Tailwind config / theme sistemi ilə reusable qur

Accent color aşağıdakı yerlərdə istifadə olunmalıdır:

- Aktiv tab underline

- Aktiv navbar item

- Post button

- Follow button

- Save, repost və oxşar action button-lar

- Mention text-lər, məsələn @username

- Hashtag text-lər, məsələn #education

- Aktiv link və seçilmiş elementlər

Theme tələbləri:

Mən həm light mode, həm də dark mode üçün dizayn şəkilləri göndərmişəm. UI hər iki mode-da düzgün işləməlidir.

Light mode:

- Background açıq və təmiz olmalıdır.

- Card-lar ağ və ya çox açıq boz tonlarda olmalıdır.

- Border-lər incə və səliqəli görünməlidir.

Dark mode:

- Background tünd olmalıdır.

- Card və widget-lər dark mode-a uyğun rəngdə olmalıdır.

- Text-lər oxunaqlı olmalıdır.

- Border və hover rəngləri dark mode-a uyğunlaşdırılmalıdır.

Home / Feed orta hissə tələbləri:

- Yuxarıda tab hissəsi olmalıdır.

- Tab-lar birinci şəkildəki kimi sadə və horizontal görünməlidir.

- Məsələn:

- Yenilər

- Trend

- Takip

- Sana özel

- Aktiv tab accent color underline ilə göstərilsin.

- Tab hissəsi sticky ola bilər, amma navbar ilə conflict yaratmasın.

Post yaratma hissəsi:

- Feed-in yuxarı hissəsində post paylaşmaq üçün sadə input/card olmalıdır.

- Avatar, text input və paylaş button-u olsun.

- Button accent color ilə verilsin.

- UI birinci şəkildəki kimi minimal olsun.

Post card tələbləri:

- Hər post card-da:

- Avatar

- Ad və username

- Vaxt

- Post mətni

- Lazım olarsa link preview/card

- Comment, repost, like, save action-ları

- Action icon-lar sadə və incə olmalıdır.

- Hover state-lər əlavə edilməlidir.

- Postlar arasında incə border olmalıdır.

- Mention və hashtag-lar accent color ilə göstərilməlidir.

Sağ sidebar tələbləri:

Sağ sidebar desktop-da görünməlidir, mobile-da gizlədilməlidir.

Sağ sidebar-da 2 əsas widget olmalıdır:

1. “Takib edə biləcəyin şəxslər”

Bu widget-də:

- İstifadəçi avatarı

- Ad

- Username

- “Takib et” button-u

- Maksimum 4-5 nəfər göstərilsin

- Əgər data çoxdursa “Hamısını gör” linki əlavə edilə bilər

- Button accent color və ya uyğun secondary style ilə verilsin

2. “Önümüzdəki 1 həftədə ad günü olan şəxslər”

Bu widget-də:

- Yaxın 7 gün ərzində ad günü olan şəxslər göstərilsin

- Avatar

- Ad soyad

- Tarix

- İstəyə görə “bu gün”, “sabah”, “3 gün sonra” kimi qısa label göstərilə bilər

- Əgər yaxın 1 həftədə ad günü yoxdursa, boş state göstər:

“Önümüzdəki 1 həftədə ad günü yoxdur.”

Widget dizayn tələbləri:

- Birinci şəkildəki sağ card-lara oxşar radius, border və spacing istifadə et.

- Widget-lər çox böyük olmasın.

- İçindəki item-lar səliqəli və oxunaqlı olsun.

- Light və dark mode-a uyğun görünsün.

Loading / Skeleton tələbləri:

Hər loading vəziyyətində spinner əvəzinə uyğun skeleton göstərilməlidir.

Skeleton nümunələri:

- Postlar yüklənəndə post card skeleton

- Feed tab və composer yüklənəndə composer skeleton

- Sağ sidebar follow list yüklənəndə user list skeleton

- Birthday list yüklənəndə birthday item skeleton

Skeleton:

- Real component formasına uyğun olmalıdır

- Light və dark mode-da uyğun görünməlidir

- Pulse animation istifadə oluna bilər

Data tələbləri:

Mövcud data strukturunu pozma. Əgər data yoxdursa, nümunə mock data yarat.

Mock data üçün nümunə struktur belə ola bilər:

const suggestedUsers = [

{

id: 1,

name: "Jafar Mustafayev",

username: "jafarmustafayev",

avatar: "",

isFollowing: false

}

];

const upcomingBirthdays = [

{

id: 1,

name: "Leyla Guliyeva",

username: "leyla_g",

avatar: "",

birthday: "2026-06-12"

}

];

Birthday filter logic:

- Bugünkü tarixdən başlayaraq növbəti 7 gün ərzində olan ad günlərini göstər.

- İl fərqini nəzərə alma, yalnız gün və ay əsasında müqayisə et.

- Siyahını tarixə görə yaxın olandan uzağa doğru sırala.

Kod keyfiyyəti tələbləri:

- Kod təmiz, reusable və maintainable olmalıdır.

- Component-ləri çox böyütmə.

- Lazım olsa bu component-ləri ayrıca yarat:

- HomeLayout

- SidebarNav

- MobileBottomNav

- FeedTabs

- PostComposer

- PostCard

- RightSidebar

- SuggestedUsersWidget

- UpcomingBirthdaysWidget

- Skeleton components

- Tailwind class-ları səliqəli yazılsın.

- Responsive breakpoint-lər düzgün istifadə olunsun.

- Dark mode üçün dark: class-lar əlavə edilsin.

- Mövcud layihənin dizaynını pozmadan Home səhifəsini yenilə.

Nəticə olaraq mənə bunları ver:

1. Hansı faylları dəyişməli olduğumu göstər.

2. Yeni yaradılacaq component-lərin adlarını göstər.

3. Hər fayl üçün tam və işlək kod ver.

4. Əgər mock data lazımdırsa, onu ayrıca data faylı kimi yarat.

5. Layout-un desktop və mobile-da necə işlədiyini qısa izah et.

6. Accent color-un gələcəkdə Settings-dən dəyişdirilə bilməsi üçün necə qurulduğunu izah et.

1

Yorum yapmak için giriş yap.