fix lexicon card.admin

This commit is contained in:
2026-01-28 18:02:55 +09:00
parent d79c71d5e2
commit 8b9ca0d470
3 changed files with 64 additions and 26 deletions

View File

@@ -6,18 +6,16 @@
"main": {
"type": "record",
"key": "literal:self",
"description": "Card game configuration (admin only)",
"description": "Card game configuration and master data (admin only)",
"record": {
"type": "object",
"required": ["card", "rate", "createdAt", "updatedAt"],
"required": ["gacha", "card", "createdAt", "updatedAt"],
"properties": {
"card": {
"gacha": {
"type": "object",
"required": ["pickup"],
"required": ["pickup", "rate"],
"properties": {
"pickup": { "type": "integer", "description": "Pickup card ID" }
}
},
"pickup": { "type": "integer", "description": "Pickup card ID" },
"rate": {
"type": "object",
"required": ["pickup", "rare"],
@@ -25,6 +23,39 @@
"pickup": { "type": "integer", "description": "1/n for pickup rate (100 = 1%)" },
"rare": { "type": "integer", "description": "1/n for rare:1 rate (10 = 10%), rare:2 = 1/(n*10), rare:3 = 1/(n*100)" }
}
}
}
},
"card": {
"type": "array",
"description": "Card master data",
"items": {
"type": "object",
"required": ["id", "character", "name", "text", "cp", "effect"],
"properties": {
"id": { "type": "integer", "description": "Card ID" },
"character": { "type": "integer", "description": "Associated character ID" },
"name": {
"type": "object",
"required": ["ja", "en"],
"properties": {
"ja": { "type": "string" },
"en": { "type": "string" }
}
},
"text": {
"type": "object",
"required": ["ja", "en"],
"properties": {
"ja": { "type": "string" },
"en": { "type": "string" }
}
},
"cp": { "type": "string", "description": "CP type (status, time, damage)" },
"effect": { "type": "string", "description": "Effect type (status, fly, mode, damage)" },
"key": { "type": "string", "description": "Key binding (R1, L1, Y, X, etc.)" }
}
}
},
"createdAt": { "type": "string", "format": "datetime" },
"updatedAt": { "type": "string", "format": "datetime" }

View File

@@ -18,8 +18,10 @@
{ "id": 13, "character": 0, "name": { "ja": "創造", "en": "create" }, "text": { "ja": "アイは、自身の周囲に真空を作り出し、物理と属性の範囲ダメージを与える。的に与える属性ダメージは、このカードのcpを基準にアップする。", "en": "This card's CP is referenced for elemental damage" }, "cp": "damage", "effect": "damage", "key": "X" },
{ "id": 100, "character": 1, "name": { "ja": "世界", "en": "world" }, "text": { "ja": "このカードのcpはキャラクターの基礎ステータスに参照される", "en": "This card's CP is referenced for the character's base status" }, "cp": "status", "effect": "status", "key": null },
{ "id": 200, "character": 2, "name": { "ja": "d", "en": "d" }, "text": { "ja": "このカードのcpはキャラクターの基礎ステータスに参照される", "en": "This card's CP is referenced for the character's base status" }, "cp": "status", "effect": "status", "key": null },
{ "id": 201, "character": 2, "name": { "ja": "ドラゴン", "en": "dragon" }, "text": { "ja": "", "en": "" }, "cp": "skill", "effect": "skill", "key": null },
{ "id": 300, "character": 3, "name": { "ja": "r", "en": "r" }, "text": { "ja": "このカードのcpはキャラクターの基礎ステータスに参照される", "en": "This card's CP is referenced for the character's base status" }, "cp": "status", "effect": "status", "key": null },
{ "id": 400, "character": 4, "name": { "ja": "c", "en": "c" }, "text": { "ja": "このカードのcpはキャラクターの基礎ステータスに参照される", "en": "This card's CP is referenced for the character's base status" }, "cp": "status", "effect": "status", "key": null }
{ "id": 301, "character": 3, "name": { "ja": "ロボット", "en": "robot" }, "text": { "ja": "", "en": "" }, "cp": "skill", "effect": "skill", "key": null },
{ "id": 400, "character": 4, "name": { "ja": "c", "en": "c" }, "text": { "ja": "", "en": "This card's CP is referenced for the character's base status" }, "cp": "status", "effect": "status", "key": null }
],
"createdAt": "2026-01-25T09:02:20.000Z",
"updatedAt": "2026-01-25T09:02:20.000Z"

View File

@@ -554,24 +554,33 @@
max-width: 250px;
}
/* RSE card grid (smaller cards below character) */
/* RSE card grid (cards below character) */
.rse-card-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
gap: 16px;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
width: 100%;
max-width: 500px;
padding: 16px;
max-width: 600px;
padding: 20px;
background: rgba(128, 128, 128, 0.08);
border-radius: 12px;
}
.rse-card-grid .card-item {
max-width: 140px;
.rse-card-grid .card-wrapper {
max-width: 180px;
}
.rse-card-grid .card-wrapper {
max-width: 140px;
.rse-card-grid .card-info-name {
font-size: 11px;
}
.rse-card-grid .card-info-text {
font-size: 10px;
}
.rse-card-grid .card-key-btn {
font-size: 9px;
padding: 2px 8px;
}
/* Card info (below card) */
@@ -607,11 +616,7 @@
.card-info-text {
font-size: 11px;
color: var(--text-secondary, #666);
line-height: 1.4;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
line-height: 1.5;
}
.card-key-btn {