change json format & add diablo4
All checks were successful
Deploy Sokko G / deploy (push) Successful in 7s

This commit is contained in:
Shinuwa 2026-07-22 21:21:02 +02:00
parent e65c74ea0a
commit 34523e78b1
33 changed files with 5849 additions and 3431 deletions

View file

@ -1,16 +1,23 @@
import { assetPath } from "../utils.js";
const PHYSICAL_COLUMNS = ["cut", "blunt", "ammo"];
const ELEMENTAL_COLUMNS = ["fire", "water", "thunder", "ice", "dragon"];
const COLUMNS = ["name", ...PHYSICAL_COLUMNS, ...ELEMENTAL_COLUMNS];
function hitzoneValue(row, column) {
if (column === "name") return row.name;
return row.physical?.[column] ?? row.elemental?.[column];
}
export function DamageTable({ rows, t }) {
if (!rows.length) return null;
const columns = Object.keys(rows[0]);
return (
<div className="damage-table-wrap legacy-scrollbar">
<table className="damage-table">
<thead>
<tr>
{columns.map((column) => (
{COLUMNS.map((column) => (
<th key={column}>
{column === "name" ? "" : <img src={assetPath(column)} alt={t(column, { capitalize: true })} title={t(column, { capitalize: true })} />}
</th>
@ -20,10 +27,10 @@ export function DamageTable({ rows, t }) {
<tbody>
{rows.map((row, rowIndex) => (
<tr key={`${row.name}-${rowIndex}`}>
{columns.map((column) => column === "name" ? (
<td key={column} title={t(row[column], { capitalize: true })}>{t(row[column], { capitalize: true })}</td>
{COLUMNS.map((column) => column === "name" ? (
<td key={column} title={t(row.name, { capitalize: true })}>{t(row.name, { capitalize: true })}</td>
) : (
<td key={column}><img src={assetPath(`${row[column]}-stars`)} alt={`${row[column]} étoiles`} /></td>
<td key={column}><img src={assetPath(`${hitzoneValue(row, column)}-stars`)} alt={`${hitzoneValue(row, column)} étoiles`} /></td>
))}
</tr>
))}