JavaScript
- DOM Manipulation
- Event Handling
- Array Methods (forEach, filter, map, ...)
- Async/Await
- Promise
- Fetch API
- Storage Management (cookie, localStorage, ...)
شرکت Mockstar به تازگی با توجه به آمارهایی که از بازیکنان جمعآوری کرده، متوجه شده است که در طی چند ماه گذشته، تعداد بازیکنان ایرانی روبهرشد بوده و بهشدت زیاد شده است؛ بنابراین تصمیم گرفته است تا از زبان فارسی در محصولات خود پشتیبانی کند. حال از پمبه خواسته شده است تا این کار را برای سایت معرفی بازیها انجام دهد.
این نکته را در نظر بگیرید که زمانی که کاربر دوباره وارد صفحه میشود،
باید زبان سایت و بازیای که آخرین بار مشاهده کرده، بارگذاری شود.
مدیر پمبه از او خواسته است که در کد خود فقط از localStorage برای ذخیرهسازی اطلاعات کاربران استفاده کند.
توضیحات سوال
تصویر خروجی نمونه

میتوانید برای بررسی دقیقتر نتیجۀ نهایی، این فیلم را مشاهده کنید.
پروژه اولیه
پروژه اولیه را از این لینک دانلود کنید.
ساختار فایلها
initial-project-05.zip
├── data
│ └── games.json
├── fonts
│ ├── shabnam.woff
│ └── shabnam-bold.woff
├── icons
│ └── languages.svg
├── images
│ ├── dota2.jpg
│ ├── god-of-war.jpg
│ ├── horizon.jpg
│ └── rdr2.jpg
├── languages
│ ├── en.json
│ └── fa.json
├── dynamic.js
├── index.html
└── static.css
راهاندازی پروژه
- ابتدا پروژۀ اولیه را دانلود و از حالت فشرده خارج کنید.
- سپس فایل
index.htmlرا در مرورگر خود باز کنید.
خواستههای مسئله
- استفاده از اطلاعات فایل
data/games.jsonبرای تغییر نام و عکس بازیها - استفاده از اطلاعات فایل
data/games.jsonبرای تغییر رنگ دکمۀ موجود درnav - استفاده از اطلاعات فایلهای موجود در پوشۀ
languagesبرای تغییر زبان سایت - افزودن صفات
langوdirبه المانhtml، متناسب با زبان سایت - مشخصکردن شمارۀ بازی فعلی با استفاده از کلاس
active
نکات
- شما تنها مجاز به تغییر در فایل
dynamic.jsهستید. تغییرات در باقی فایلها نادیده گرفته میشود. - توجه کنید که داوری خودکار بر مبنای ساختار فایل
index.htmlانجام میشود. - برای ثبت پاسخ، پروژه را با ساختار زیر ارسال کنید.
[your-zip-file-name].zip
└── dynamic.js
ارسال پاسخ برای این سؤال