[{"data":1,"prerenderedAt":129},["ShallowReactive",2],{"project-\u002Fpl\u002Fprojects\u002F2024\u002Fpokedex":3,"project-posts-\u002Fpl\u002Fprojects\u002F2024\u002Fpokedex":128},{"id":4,"title":5,"agency":6,"body":7,"compare":6,"cover":69,"date":73,"description":74,"draft":75,"extension":76,"facts":77,"featured":75,"gallery":91,"image":107,"links":108,"meta":111,"navigation":112,"ogImage":113,"path":114,"seo":115,"stack":116,"stem":121,"tags":122,"__hash__":127},"projects_pl\u002Fpl\u002Fprojects\u002F2024\u002Fpokedex\u002Findex.md","Pokedex",null,{"type":8,"value":9,"toc":64},"minimark",[10,14,19],[11,12,13],"p",{},"Interaktywna encyklopedia pokemonów obsługująca ponad 1000 stworzeń – napisana w czystym JavaScript (ES6+, wzorce OOP), bez frameworków, w oparciu o publiczne PokéAPI.",[15,16,18],"h2",{"id":17},"najważniejsze-cechy","Najważniejsze cechy",[20,21,22,30,41,58,61],"ul",{},[23,24,25,26],"li",{},"Przemyślana kolejność ładowania danych z PokéAPI – równoległe zapytania przez ",[27,28,29],"code",{},"Promise.all",[23,31,32,33,36,37,40],{},"Lokalna baza w przeglądarce (",[27,34,35],{},"LocalStorage"," + ",[27,38,39],{},"SessionStorage",") – raz pobrane dane nie idą drugi raz do API",[23,42,43,44,47,48,47,51,47,54,57],{},"Modułowa architektura klas (",[27,45,46],{},"DataManager",", ",[27,49,50],{},"DataBuilder",[27,52,53],{},"StorageManager",[27,55,56],{},"PokemonDialog",") przygotowana pod migrację do Vue 3",[23,59,60],{},"Responsywna, dwukierunkowo synchronizowana paginacja z odwzorowaniem stanu w URL",[23,62,63],{},"Jasny i ciemny motyw (też automatyczny, według ustawień systemu)",{"title":65,"searchDepth":66,"depth":66,"links":67},"",2,[68],{"id":17,"depth":66,"text":18},{"desktop":70,"phone":71,"alt":72},"\u002Fprojects\u002F2024\u002Fpokedex\u002Flist.webp","\u002Fprojects\u002F2024\u002Fpokedex\u002Fphone.webp","Pokedex – lista pokemonów z paginacją","2024-01-28","Interaktywny Pokedex na ponad 1000 pokemonów w czystym JavaScript (OOP), oparty o PokéAPI – z przemyślaną kolejnością ładowania danych i lokalną bazą w przeglądarce.",false,"md",[78,81,84,88],{"value":79,"text":80},"2024","rok realizacji",{"value":82,"text":83},"Solo","projekt własny – od pomysłu po wdrożenie",{"value":85,"suffix":86,"text":87},"1000","+","pokemonów z PokéAPI, ok. 60–70 zapytań zamiast ponad 1000",{"value":89,"text":90},"Vanilla JS","bez Vue, Reacta i innych frameworków – własne klasy w czystym JavaScript",[92,95,99,103],{"src":70,"alt":93,"caption":94},"Lista pokemonów z paginacją","Lista – ponad 1000 pokemonów, numer strony zapisany w adresie (?p=)",{"src":71,"device":96,"alt":97,"caption":98},"phone","Pokedex na telefonie – karta pokemona","Telefon – karta pokemona otwarta nad listą w dwóch kolumnach",{"src":100,"alt":101,"caption":102},"\u002Fprojects\u002F2024\u002Fpokedex\u002Fpokemon-card.webp","Okno szczegółów pokemona","Karta pokemona – nazwa, typy i generacja od razu z pamięci, statystyki dociągane z API",{"src":104,"alt":105,"caption":106},"\u002Fprojects\u002F2024\u002Fpokedex\u002Fsettings.webp","Ustawienia aplikacji","Ustawienia – motyw, import i eksport złapanych pokemonów, czyszczenie danych","\u002Fprojects\u002F2024\u002Fpokedex\u002Fthumbnail.webp",{"live":109,"github":110},"https:\u002F\u002Flukaszdzielo.github.io\u002Fpokedex\u002F","https:\u002F\u002Fgithub.com\u002Flukaszdzielo\u002Fpokedex",{},true,"\u002Fog\u002Fprojects\u002Fpokedex-pl.jpg","\u002Fpl\u002Fprojects\u002F2024\u002Fpokedex",{"title":5,"description":74},[117,118,119,35,120],"JavaScript (ES6+)","OOP","PokéAPI","bez frameworków","pl\u002Fprojects\u002F2024\u002Fpokedex\u002Findex",[123,124,125,126],"javascript","vanilla-js","oop","pokeapi","pjeeJjUNpfKVzpRouAIZBhP-cNF5quPp8HYkNGa4UNU",[],1791924933442]