diff --git a/public/images/buildings/coal-mine.jpeg b/public/images/buildings/coal-mine.jpeg new file mode 100644 index 0000000..46d0b06 Binary files /dev/null and b/public/images/buildings/coal-mine.jpeg differ diff --git a/public/images/buildings/coal-power-plant.jpeg b/public/images/buildings/coal-power-plant.jpeg new file mode 100644 index 0000000..86cf537 Binary files /dev/null and b/public/images/buildings/coal-power-plant.jpeg differ diff --git a/public/images/buildings/gold-mine.jpeg b/public/images/buildings/gold-mine.jpeg new file mode 100644 index 0000000..a61bafa Binary files /dev/null and b/public/images/buildings/gold-mine.jpeg differ diff --git a/public/images/buildings/iron-mine.jpeg b/public/images/buildings/iron-mine.jpeg new file mode 100644 index 0000000..d7905f2 Binary files /dev/null and b/public/images/buildings/iron-mine.jpeg differ diff --git a/public/images/buildings/nuclear-power-plant.jpeg b/public/images/buildings/nuclear-power-plant.jpeg new file mode 100644 index 0000000..93f2198 Binary files /dev/null and b/public/images/buildings/nuclear-power-plant.jpeg differ diff --git a/public/images/buildings/research-facility.jpeg b/public/images/buildings/research-facility.jpeg new file mode 100644 index 0000000..640abda Binary files /dev/null and b/public/images/buildings/research-facility.jpeg differ diff --git a/public/images/buildings/research-lab.jpeg b/public/images/buildings/research-lab.jpeg new file mode 100644 index 0000000..9dba1c1 Binary files /dev/null and b/public/images/buildings/research-lab.jpeg differ diff --git a/src/components/BuildingCard.astro b/src/components/BuildingCard.astro index e7fdbcb..7ac108e 100644 --- a/src/components/BuildingCard.astro +++ b/src/components/BuildingCard.astro @@ -13,8 +13,8 @@ const lang = await getLocales(await getHighestWeightedLanguage(Astro.request.hea ---
-
-
+ +
{Astro.props.name}
{Astro.props.description}
{getName(lang, "general", "nav-build")} @@ -39,6 +39,23 @@ const lang = await getLocales(await getHighestWeightedLanguage(Astro.request.hea height: auto; } +.building-card-image { + width: 150px; + height: 150px; + margin: 4px; + border-radius: 8px; + object-fit: cover; +} + +.building-card-main-field { + background-color: #ccc; + width: 100%; + margin: 4px; + border-radius: 8px; + padding-left: 8px; + padding-right: 100px; +} + .building-card-name { font-size: 48px; } diff --git a/src/pages/game/buildings.astro b/src/pages/game/buildings.astro index a554060..e100936 100644 --- a/src/pages/game/buildings.astro +++ b/src/pages/game/buildings.astro @@ -23,6 +23,15 @@ const lang = await getLocales(locale); const modalSet: { [key: string]: { resources: Array, research: Array, buildings: Array, energy: number } } = {}; +for(const building of buildingsList) { + modalSet[building.id] = { + resources: building.requirements.resources, + research: building.requirements.research, + buildings: building.requirements.buildings, + energy: building.energy + }; +} + const buildingsByCategory = buildingsList.reduce((acc: { [key: string]: DBBuilding[] }, building) => { if(!acc[building.category]) acc[building.category] = []; acc[building.category].push(building); @@ -53,7 +62,7 @@ const buildingsByCategory = buildingsList.reduce((acc: { [key: string]: DBBuildi id={building.id} name={getObj(lang, "buildings", building.id).name} description={getObj(lang, "buildings", building.id).description ?? ""} - image="/favicon.svg" /> + image={`/images/buildings/${building.id}.jpeg`} /> ))}
)} @@ -186,16 +195,20 @@ const buildingsByCategory = buildingsList.reduce((acc: { [key: string]: DBBuildi if(!modalDiv) return; modalDiv.style.display = 'block'; - modalResources.innerHTML = modalSet[el.parentElement.parentElement.dataset.id].resources.map(resource => { - return `${lang['resources'][`Label_${resource.name}`]}: ${resource.amount}`; + const reqResources = modalSet[el.parentElement.parentElement.dataset.id]?.resources ?? []; + const reqBuildings = modalSet[el.parentElement.parentElement.dataset.id]?.buildings ?? []; + const reqResearch = modalSet[el.parentElement.parentElement.dataset.id]?.research ?? []; + + modalResources.innerHTML = reqResources.length === 0 ? "None" : reqResources.map(resource => { + return `${lang['resources'].find(r => r.id === resource.name).name}: ${resource.amount}`; }).join("
"); - modalBuildings.innerHTML = modalSet[el.parentElement.parentElement.dataset.id].buildings.map(building => { - return `${lang['buildings'][`Label_${building.id}`].name}: ${building.level}`; + modalBuildings.innerHTML = reqBuildings.length === 0 ? "None" : reqBuildings.map(building => { + return `${lang['buildings'].find(b => b.id === building.id).name}: ${building.level}`; }).join("
"); - modalResearch.innerHTML = modalSet[el.parentElement.parentElement.dataset.id].research.map(research => { - return `${lang['research'][`Label_${research.id}`].name}: ${research.level}`; + modalResearch.innerHTML = reqResearch.length === 0 ? "None" : reqResearch.map(research => { + return `${lang['research'].find(r => r.id === research.id).name}: ${research.level}`; }).join("
"); // background