გახსენით job listings პროექტის ბმული: https://stackblitz.com/edit/vitejs-vite-io9aoctc?file=src%2FApp.jsx
კოდი გადმოწერეთ თქვენს კომპიუტერებში და გადახედეთ რა წერია, როგორ მუშაობს.
დავალება ეხება კომპონენტებად დაყოფას და პირობით rendering-ს. გამოიყენეთ ?, &&, || ოპერატორები ან if/else/else if.
- თუ ვაკანსია არის
newტიპის, გამოიტანეთ badge "new". სხვა შემთხვევაში არაფერი. - თუ ვაკანსია არის
featuredტიპის, გამოიტანეთ badge "featured" და მარცხენა კიდეზე დაამატეთ მწვანე highlight. სხვა შემთხვევაში არაფერი. - თუ ვაკანსიას არ აქვს კომპანიის ლოგო (
logo: nulldata.json-ში), გამოიტანეთpublic/images/company-placeholder.svgსურათი. თუმცა ხელით არ უნდა შეცვალოთdata.json. Javascript-ით უნდა შეამოწმოთ არის თუ არა null logo ატრიბუტი. ეს სურათი უნდა იყოს წრიული, როგორც დანარჩენი კომპანიის ლოგოები. - ვაკანსიის ბარათში მესამე სვეტად დაამატეთ tag-ები: ახალ ფაილში შექმენით კომპონენტი
TagList.jsx, რომელსაც prop-ად გადაეცემაtagsსია. ამ სიის მიხედვით უნდა დააგენერიროს tag ელემენტები (ღილაკები ან ლინკები).ListingCard.jsx-მა უნდა დაარენდეროსTagListკომპონენტი და prop-ად გადასცეს tags სია. განლაგების/layout-ისთვის როგორც გინდათ შეცვალეთ HTML სტრუქტურა, თუ დაგჭირდებათ. რაც გინდათ წაშალეთ ან დაამატეთ, მთავარია დიზაინს ემთხვეოდეს. - შექმენით ახალი ფოლდერი src/components. App.jsx-ში ჩაწერილი კოდიდან ამოიღეთ განმეორებადი, საერთო HTML სტრუქტურა და დაამატეთ ახალ კომპონენტში -
ListingCard.jsx.App.jsx-მაdata.json-ის დაmap-ის გამოყენებით უნდა გამოიტანოს ყველა ვაკანსიის ელემენტი.
პირობის ნომრები და შესაბამისი ვიზუალური ნაწილი:
სად ვნახოთ new, featured, tags და ლოგოზე ინფორმაცია? ეს ინფორმაცია მოცემულია data.json-ში.
შენიშვნა tag-ებზე: data.json-ში, ვაკანსიის ობიექტებზე, არ გვაქვს ერთიანი სია tags: [...]. ნაწილ-ნაწილ არის მოცემული რამდენიმე ატრიბუტი, რომლებიც tag-ებად ითვლება: languages, tools, level და role. თქვენი მიზანია ეს 4 სია ერთ სიად გააერთიანოთ Javascript კოდით და ერთიანად გამოიყენოთ.