Frontend · 4-modul
Frontend dasturlash
- 4.1 · DOM bilan ishlashVideo · 18 daqiqa · tugagan
- 4.2 · HodisalarVideo · 22 daqiqa · tugagan
- 4.3 · Fetch va APIVideo · 26 daqiqa · 12 daqiqa qoldiDavom ettirish
- 4.4 · Amaliy loyiha4.3 tugagach ochiladi
PDP UI/UX qo‘llanma · v0.7
Rasmiy brendCRM (Nextcloud) ilovalari — Dashboard, Fayllar, Photos, Faollik, Talk, Mail, Deck, Tasks, Gantt, Calendar, Tables, Forms, Polls, Contacts, Notes, Collectives, Announcements, Bookmarks — va o‘quv ilovalari uchun tayyor ekran bloklari: reyting, jurnal, kurs yo‘li. Bloklar «Sayt» to‘plamidagi komponentlar va «Yadro» tokenlaridan yig‘ilgan.
Dashboard
Dashboard — ish joyining bosh ekrani. Birinchi blok — Nextcloud’ning Dashboard sahifasi PDP ko‘rinishida (faqat DS namunasi, yuklab olinadigan CSS yo‘q); keyingisi — ilovalar plitkalari: ilovalar mavzu bo‘yicha guruhlangan, har guruhda sarlavha, ilovalar soni va bir qatorli izoh. Plitka — havola: ikonka, nom va qisqa tavsif; hamma plitka bir xil o‘lchamda. Komponent mavjud tokenlardan yig‘ilgan — kulrang yuza, oq ikonka plitkasi va Phosphor ikonkalar; yangi rang yo‘q. Oltita brendda va ikki rejimda ishlaydi.
Hujjatlar, taxtalar va jadval
Suhbat, pochta va jamoa
Plitka — oddiy havola: Tab bilan o‘tiladi, Enter ochadi. Kursor yoki fokusda plitka foni yarim pog‘ona to‘qlashadi, Light’da yengil soya chiqadi, ikonka fill egizagiga almashadi. Konteyner 880 px dan tor bo‘lsa — ikki ustun, 520 px dan tor — ixcham plitkalar, 300 px dan tor — bitta ustun, plitka qator ko‘rinishida.
| Qism | Sinf / token | Qiymat |
|---|---|---|
| Guruh sarlavhasi | .eco-dash__head | PDP Display 500 24/32, −4 %; ostidan 16 px oraliq. Guruhlar orasi 48 px |
| Son | __n | Guruhdagi ilovalar soni: 12/24 pill, --eco-bg-secondary, --eco-text-tertiary; ekran o‘quvchiga «7 ta ilova» |
| Ajratgich va izoh | __rule · __cap | 1 px --eco-border-tertiary sarlavhadan izohgacha; izoh 14/20 --eco-text-tertiary, o‘ngda. 520 px dan tor — chiziq yo‘q, izoh sarlavha ostida |
| Panjara | .eco-dash__grid | 4 ustun, oraliq 16; @container dash ≤ 880 — 2 ustun, ≤ 300 — 1 ustun |
| Plitka | .eco-dash__app | --eco-bg-secondary, radius 20, ichki oraliq 24; chiziq yo‘q. Butun plitka — bitta havola |
| Ikonka plitkasi | __ic · --ic-tile | 48 px, radius 12, --eco-bg-primary_alt (Light — oq, Dark — ko‘tarilgan); Phosphor Regular 24 px --eco-fg-primary |
| Nom va tavsif | __name · __sub | PDP Display 500 20/28, −4 %; tavsif Inter 14/20 --eco-text-tertiary |
| Hover | :hover | Fon — --eco-bg-secondary va _hover o‘rtasi, --eco-shadow-sm, ikonka — fill egizagi, nuqtalar — --eco-fg-brand-primary; --eco-duration-fast |
| Fokus va bosish | :focus-visible · :active | 2 px --eco-focus-ring, 2 px tashqarida; bosilganda — --eco-bg-secondary_hover, soyasiz |
translate="no"; tavsif tarjima qilinadi.--eco-duration-fast); siljish va kirish animatsiyasi yo‘q, prefers-reduced-motion da o‘tishsiz.<div class="eco-dash">
<div class="eco-dash__group" role="group" aria-labelledby="g1">
<div class="eco-dash__head">
<h4 class="eco-dash__title" id="g1">Ish joyi</h4>
<span class="eco-dash__n">7<span class="sr-only"> ta ilova</span></span>
<span class="eco-dash__rule" aria-hidden="true"></span>
<p class="eco-dash__cap">Hujjatlar, taxtalar va jadval</p>
</div>
<ul class="eco-dash__grid" role="list">
<li><a class="eco-dash__app" href="/files/">
<span class="eco-dash__ic">
<svg class="dh-off" aria-hidden="true"><use href="#i-folder"/></svg><svg class="dh-on" aria-hidden="true"><use href="#i-folder-fill"/></svg>
</span>
<span class="eco-dash__name">Fayllar</span><span class="eco-dash__sub">Hujjatlar, papkalar va ulashish</span>
</a></li>
<li><a class="eco-dash__app" href="/calendar/">…<span class="eco-dash__name" translate="no">Calendar</span>…</a></li> …
</ul>
</div>
</div>Fayllar
Fayllar — jamoa va o‘quv materiallari ombori: chapda bo‘limlar (barcha fayllar, so‘nggi, sevimlilar, ulashishlar, teglar, o‘chirilganlar) va disk hajmi, o‘rtada joriy papka, o‘ngda fayl tafsilotlari va ulashish. Bu — PDP bulutidagi Nextcloud Files ilovasining reskini: markup Nextcloud sinflari bilan, uslub — PDP tokenlari. Blok doim EcoSystem brendida.
Photos
Photos — maktab hayotining fotoarxivi: oylar bo‘yicha xronologiya, albomlar (tadbir, to‘garak, bitiruv), sevimlilar va videolar, tanlash rejimi (albomga qo‘shish, sevimli, o‘chirish) va ko‘ruvchi oyna. Bu — PDP bulutidagi Nextcloud Photos ilovasining reskini: markup Photos va @nextcloud/vue sinflari bilan, uslub — PDP tokenlari. Namunada surat o‘rnida DS 3D renderlari. Blok doim EcoSystem brendida.
Faollik
Faollik — kim, qachon va nimani o‘zgartirganining lentasi: fayl, ulashish, kalendar, Deck doskasi, izoh, vazifa va xavfsizlik voqealari kun bo‘yicha guruhlanadi. Bu — PDP bulutidagi Nextcloud Activity ilovasining reskini: HTML o‘zgarmaydi, uslub — Nextcloud sinflariga yozilgan CSS. Faqat EcoSystem brendida, Light va Dark.
Talk
Talk — PDP bulutidagi Nextcloud Talk ilovasining reskini: chapda suhbatlar ro‘yxati, o‘rtada yozishma, o‘ngda ishtirokchilar va ulashilgan fayllar. Namuna Talk DOM’i sinflarini takrorlaydi; ko‘rinish — PDP tokenlari. Funksiyalar — Talk’niki: qidiruv va filtrlar, sevimlilar, reaksiya, javob, qadalgan xabar, fayl, qo‘ng‘iroq.
Mail — Nextcloud pochta mijozi: bir nechta hisob va qutilar, «Muhim» va «Boshqalar» bo‘limli ustuvor kiruvchilar, o‘qilmagan, belgilangan va ilovali xatlar, suhbat (thread) ko‘rinishi va yangi xat oynasi (qabul qiluvchi chiplari, nusxa, ilova). Bu — PDP bulutidagi Nextcloud Mail ilovasining reskini: markup Mail va @nextcloud/vue sinflari bilan, uslub — PDP tokenlari. Blok doim EcoSystem brendida.
Deck
Deck — PDP bulutidagi Nextcloud Deck ilovasining reskini: chapda doskalar, o‘ngda ro‘yxatlar (stack) va kartalar. Karta — bitta vazifa: teglar, muddat, ijrochilar, checklist, fayl va izohlar; bosilsa — tafsilotlar oynasi. Namuna Deck DOM’i sinflarini takrorlaydi; ko‘rinish — PDP tokenlari.
Tasks
Tasks — PDP bulutidagi Nextcloud Tasks ilovasining reskini: chapda aqlli to‘plamlar va ro‘yxatlar (CalDAV kalendarlari), o‘rtada vazifalar, o‘ngda tanlangan vazifa tafsilotlari. Vazifada muhimlik, muddat, bajarilgan foiz, teglar, izoh va ichma-ich kichik vazifalar bor. Namuna Tasks DOM’i sinflarini takrorlaydi; ko‘rinish — PDP tokenlari.
Gantt
Gantt — loyiha rejasi kunlar, haftalar yoki oylar bo‘yicha: har karta — boshlanish va tugash sanasi orasidagi chiziq, bajarilgani — chiziq ichidagi to‘liq rang, bog‘liq kartalar — strelka bilan, bugun — brend chizig‘i. Bu — Nextcloud Deck’ning «Gantt view» ko‘rinishi (Hub 26, frappe-gantt asosida) reskini: markup Deck va frappe-gantt sinflari bilan, uslub — PDP tokenlari. Blok doim EcoSystem brendida.
Kalendar
Kalendar — darslar, yig‘ilishlar, imtihonlar va tadbirlar jadvali: chapda sana tanlagich, «Yangi tadbir» va kalendarlar ro‘yxati (har biri o‘z rangida), o‘ngda oy, hafta, kun yoki ro‘yxat ko‘rinishi. Bu — PDP bulutidagi Nextcloud Calendar ilovasining reskini: markup Nextcloud va FullCalendar sinflari bilan, uslub — PDP tokenlari. Blok doim EcoSystem brendida.
Tables
Tables — Nextcloud’dagi ma’lumotlar jadvali: o‘quvchilar ro‘yxati, ochiq darslar, inventar. Ustunlar turli turda (matn, raqam, tanlov, sana, progress, yulduz, foydalanuvchi), saralash, filtr va qidiruv, saqlangan ko‘rinishlar, qator qo‘shish oynasi va katakni joyida tahrirlash. Bu — PDP bulutidagi Nextcloud Tables ilovasining reskini: markup Tables va @nextcloud/vue sinflari bilan, uslub — PDP tokenlari. Blok doim EcoSystem brendida.
Forms
Forms — ariza, so‘rovnoma va ro‘yxatdan o‘tish formalari: chapda formalar, o‘rtada muharrir (savol turlari, majburiy savol, variantlar), «Ko‘rib chiqish» — to‘ldiruvchi ko‘radigan forma, «Natijalar» — xulosa va har bir javob. Bu — PDP bulutidagi Nextcloud Forms ilovasining reskini: markup Forms va @nextcloud/vue sinflari bilan, uslub — PDP tokenlari. Blok doim EcoSystem brendida.
Polls
Polls — majlis sanasini kelishish yoki variant tanlash uchun ovoz berish: ustunlar — sanalar yoki variantlar, qatorlar — ishtirokchilar, katak — «ha», «balki» yoki «yo‘q». Eng ko‘p «ha» olgan variant ajralib turadi, muallif uni tasdiqlaydi. Bu — PDP bulutidagi Nextcloud Polls ilovasining reskini: markup Polls sinflari bilan, uslub — PDP tokenlari. Blok doim EcoSystem brendida.
Contacts
Contacts — maktab va akademiyaning manzillar kitobi: chapda guruhlar (o‘qituvchilar, ota-onalar, hamkorlar) va jamoalar, o‘rtada qidiruvli ro‘yxat, o‘ngda kontakt kartasi — telefon, email, manzil, tug‘ilgan kun, guruhlar va tezkor amallar (Talk, email, qo‘ng‘iroq). Bu — PDP bulutidagi Nextcloud Contacts ilovasining reskini: markup Contacts va @nextcloud/vue sinflari bilan, uslub — PDP tokenlari. Blok doim EcoSystem brendida.
Notes
Notes — tezkor qaydlar: majlis bayonnomasi, dars rejasi, nazorat ro‘yxati. Chapda kategoriyalar, o‘rtada qaydlar (sevimlilar tepada), o‘ngda Markdown muharriri va ko‘rinish rejimi (sarlavha, ro‘yxat, belgilanadigan band). Bu — PDP bulutidagi Nextcloud Notes ilovasining reskini: markup Notes va @nextcloud/vue sinflari bilan, uslub — PDP tokenlari. Blok doim EcoSystem brendida.
Collectives
Collectives — jamoaning umumiy wiki’si: pedagogik kengash qarorlari, metodik qo‘llanmalar, ichki tartiblar. Chapda kollektivlar va sahifalar daraxti (ichma-ich sahifalar, filtr, yangi sahifa), o‘ngda sahifa: sarlavha, oxirgi o‘zgarish, Text muharriri va uning asboblar paneli. Bu — PDP bulutidagi Nextcloud Collectives ilovasining reskini: markup Collectives, Text va @nextcloud/vue sinflari bilan, uslub — PDP tokenlari. Blok doim EcoSystem brendida.
Announcements
Announcement Center — butun maktabga yoki tanlangan guruhlarga e’lon: ochiq eshiklar kuni, nazorat ishlari jadvali, ta’til. Ma’muriyat e’lon yozadi va kimga ko‘rinishini tanlaydi (o‘qituvchilar, ota-onalar, sinflar), kerak bo‘lsa vaqtini rejalashtiradi; hamma e’lonni o‘qiydi va izoh qoldiradi. Bu — PDP bulutidagi Nextcloud Announcement Center ilovasining reskini: markup Announcement Center, Comments va @nextcloud/vue sinflari bilan, uslub — PDP tokenlari. Blok doim EcoSystem brendida.
Bookmarks
Bookmarks — o‘qituvchining havolalar to‘plami: dars uchun platformalar, metodik saytlar, onlayn testlar. Chapda bo‘limlar va teglar, o‘ngda papkalar va havolalar ro‘yxati (ro‘yxat yoki katak), qidiruv, saralash, yangi havola; havolani bosing — yon panelda tafsilotlar, teglar va eslatma. Bu — PDP bulutidagi Nextcloud Bookmarks ilovasining reskini: markup Bookmarks va @nextcloud/vue sinflari bilan, uslub — PDP tokenlari. Blok doim EcoSystem brendida.
O‘quv komponentlari
Kurs yo‘li, dars jadvali, topshiriq, baholar jurnali, davomat va reyting — PDP o‘quv mahsulotlarining ekranlarini bir-biriga o‘xshatadigan qismlar. Ular yangi komponent emas: karta, beyj, progress va jadval tokenlaridan yig‘iladi. Tuzilish hamma brendda bir xil, namuna matnlari brendga qarab almashadi.
Namunalar — EcoSystem brendida: loyihalararo tadbir (PDP Hackathon), jamoa va ishtirokchi, mentor, 100 ballik baho.
Namunalar — School brendida: sinf va o‘quvchi, o‘qituvchi, 5 ballik baho, coin.
Namunalar — University brendida: kurs va talaba, o‘qituvchi, 100 ballik baho va GPA.
Namunalar — Online brendida: oqim va o‘quvchi, mentor, 100 ballik baho.
Namunalar — Junior brendida: bolalar guruhi, ustoz, 3 yulduzli baho.
Frontend · 4-modul
Frontend · 4-modul
.eco-progress 8 px, yonida foiz raqami; role="progressbar" va qiymat atributlari bilan.Yarmi o‘tdi40 daqiqa qoldi
tabular-nums), <time> elementida..eco-segment jadval sarlavhasi yonida; tanlangan ko‘rinish aria-pressed="true"..eco-progress, ostida «Yarmi o‘tdi» va qolgan vaqt — «40 daqiqa qoldi». Qolgan vaqtni foydalanuvchi hisoblamaydi.Frontend dasturlash · 4-modul
Frontend dasturlash · 4-modul
Asosiy harakat bitta: «Topshirish». Muddat yaqinlashgani beyjda aytiladi, sanoq esa kartaning o‘zida — foydalanuvchi hisoblamaydi.
PDP Hackathon · 4-jamoa
Muddat — bugun, 18:00
aria-hidden), sonni matn aytadi..eco-progress-circle--xxs, topshirganlar ulushi; foiz halqa ichida, role="progressbar".Kuzgi mavsum · 100 ballik
| Ishtirokchi | 14.09 | 16.09 | 18.09 | O‘rtacha | Holat |
|---|---|---|---|---|---|
Anvar RahimovST1234546 | 92 | 88 | 95 | 91,7 | Yaxshi |
Dilnoza KarimovaST1234547 | 74 | 81 | 78 | 77,7 | O‘rta |
Sardor Yo‘ldoshevST1234548 | 58 | — | 64 | 61,0 | Diqqat |
Nilufar ToshevaST1234549 | 96 | 94 | 98 | 96,0 | Yaxshi |
--eco-radius-md), doira emas: ikki xonali raqam sig‘adi. Rang shkalasi semantik tokenlardan: success, neytral, warning, error..eco-pagination--minimal. Tor ekranda jadval karta ichida yon tomonga suriladi.aria-label («17-sentabr: kelmadi»).PDP School’ning o‘quv komponentlari shu tuzilishda, lekin School ranglari va shriftida: School · O‘quv komponentlari.
O‘quv komponentlari
Namunalar — Academy brendida: guruh va talaba, mentor, 100 ballik baho.
Ilova karkaslari
Ilova karkasi — har ekranda o‘zgarmaydigan qism: yon panel (navigatsiya), sarlavha qatori (yo‘l, qidiruv, amallar) va ish maydoni. Variant bitta: mahsulot uchun bir marta tanlanadi va hamma ekranda bir xil turadi. G‘oya — shadcn/ui Blocks (Sidebar, Dashboard), oyna sinflari — Moslashuvchan maket, mobil navigatsiya — Ilova navigatsiyasi.
Bu bo‘lim hozircha faqat EcoSystem uchun yozilgan. Ko‘rish uchun yuqoridagi brend almashtirgichda EcoSystem’ni tanlang — boshqa loyihalarga tasdiqdan keyin qo‘shiladi.
Bildirishnomalar markazi
CRM’da xabar ko‘p: yangi ariza, to‘lov, uy vazifasi, jadval o‘zgarishi. Hammasi toast bo‘lib chiqsa, ishni bo‘ladi; hech qayerda qolmasa, yo‘qoladi. Bildirishnomalar markazi — shapkadagi qo‘ng‘iroqcha ostidagi panel: xabarlar kun bo‘yicha guruhlangan, o‘qilmagani belgilangan, har birida bitta harakat. Qaysi xabar qaysi turda chiqishi — pastdagi jadvalda. Toast va alert — Holatlar, Panellar va qatlamlar; Nextcloud bosh ekrani — Dashboard. G‘oya — IBM Carbon (Notifications) va Atlassian (Flags).
Bu bo‘lim hozircha faqat EcoSystem uchun yozilgan. Ko‘rish uchun yuqoridagi brend almashtirgichda EcoSystem’ni tanlang — boshqa loyihalarga tasdiqdan keyin qo‘shiladi.
Yangi funksiya turi
CRM’ga yangi imkoniyat qo‘shildi — xodim uni topishi kerak, lekin ishini to‘xtatmasdan. Tur ekranni xiralashtiradi, bitta joyni yoritadi va ikki qatorda nima uchun kerakligini aytadi; 3–4 qadam, har qadamda chiqib ketish mumkin. Bitta maslahat va boshlash ro‘yxati — Sayt Onboarding va ruxsatlar. G‘oya — Atlassian (Spotlight).
Bu bo‘lim hozircha faqat EcoSystem uchun yozilgan. Ko‘rish uchun yuqoridagi brend almashtirgichda EcoSystem’ni tanlang — boshqa loyihalarga tasdiqdan keyin qo‘shiladi.