# Pull request yuborish

FIAS loyihasiga qo‘shgan hissangizni asosiy repositoryga taklif qilish uchun GitHub orqali Pull Request (PR) yuborishingiz kerak bo‘ladi. Quyidagi tartib FIAS’ga PR yuborishda aniq va yagona yondashuvni ta’minlaydi.

### 1. Fork va Klon

Agar sizda hali fork bo‘lmasa, avvalo FIAS repository’ni o‘z profilingizga **fork qiling**:

* GitHub sahifasiga o‘ting: <https://github.com/fiasuz/fias-ui>
* "Fork" tugmasini bosing.
* O‘zingizga fork qilingan repository’ni klon qiling:

```bash
git clone https://github.com/YOUR-USERNAME/fias-ui.git
cd fias-ui
```

Keyin asosiy repository’ni remote sifatida ulang:

```bash
git remote add upstream https://github.com/fiasuz/fias-ui.git
```

### 2. Mos branchdan yangi branch oching

Har doim quyidagi branchlardan biri asosida ishlang:

* `templ-next` → agar Next.js asosida ishlayotgan bo‘lsangiz
* `templ-react` → agar React.js asosida ishlayotgan bo‘lsangiz

Masalan:

```bash
git checkout -b feat/sidebar origin/templ-next
```

Yoki:

```bash
git checkout -b fix/login-bug origin/templ-react
```

🎯 Tavsiya: Branch nomida qilinayotgan o‘zgarish mazmuni aniq ko‘rinsin (masalan: feat/header-search yoki `fix/modal-close`).

### 3. O‘zgarishlaringizni bajaring

Loyihada kerakli funksiyalarni qo‘shing yoki mavjud kodni tahrirlang.

Iltimos, quyidagilarga amal qiling:

* TypeScript ishlating
* ESLint & Prettier bilan kodni tozalang:

```bash
npm run lint
npm run prettier
```

* Husky avtomatik tarzda lint va build tekshiruvlarini commit va push vaqtida ishga tushiradi

### 4. Commit yarating

Commitlar Conventional Commits formatida yozilishi kerak:

Misollar:

* feat: kontakt sahifasiga email yuborish funksiyasi qo‘shildi
* fix: mobil menyu yopilmay qolish muammosi tuzatildi
* chore: .env.example faylga yangi o‘zgaruvchi qo‘shildi

Commit yozing:

```bash
git add .
git commit -m "feat: dark mode tugmasi qo‘shildi"
```

Push qiling:

```bash
git push origin feat/dark-mode-toggle
```

### 5. Pull Request oching

Endi GitHub sahifangizga o‘ting va "Compare & pull request" tugmasini bosing.

Pull Request ochishda:

* To‘g‘ri bazaviy branch (templ-next yoki templ-react) tanlanganiga ishonch hosil qiling
* PR nomi qisqa va aniq bo‘lsin
* Description (tavsif) bo‘limida quyidagilarni yozing:
  * O‘zgarishlar nimalardan iborat
  * Nega bu o‘zgarish kerak edi
  * Qo‘shimcha eslatmalar (agar kerak bo‘lsa)

✍️ PR shablonidan foydalaning, agar mavjud bo‘lsa.

Masalan:

PR nomi: feat: blog sahifasiga infinite scroll qo‘shildi

Description:

* Blog sahifasida scroll bilan yangi postlar avtomatik yuklanadi
* Tanstack query ishlatildi
* Faqat desktop versiyada ishlaydi, mobile uchun keyingi versiyada optimallashtiriladi

### 6. Code Review’ni kuting

PR ochilgandan so‘ng FIAS jamoasi tomonidan ko‘rib chiqiladi. Sizdan:

* Fikrlar (review) bo‘yicha o‘zgartirishlar kiritish
* Qayta push qilish

so‘ralishi mumkin.

Agar siz barcha ko‘rsatmalarga rioya qilgan bo‘lsangiz, PR tezroq qabul qilinadi.

✅ PR birlashtirilgach, sizning hissangiz FIAS loyihasining rasmiy qismiga aylanadi!
