mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-15 08:25:21 +01:00
"Autogenerate" data files with data fallbacks and moved keys folder into jar resources (#927)
* Autogenerate keys and data files * Update gacha html files Accidentally pushed with old html files * Keys no longer copied. No more manually retrieving listing files. Recursive directory creation Removed unused code from old GC as well. * Moved somethings and better errors * Fixed resources from loading twice * Data files fallback
This commit is contained in:
@@ -1,55 +0,0 @@
|
||||
[
|
||||
{
|
||||
"gachaType": 200,
|
||||
"scheduleId": 893,
|
||||
"bannerType": "STANDARD",
|
||||
"prefabPath": "GachaShowPanel_A022",
|
||||
"previewPrefabPath": "UI_Tab_GachaShowPanel_A022",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A022_TITLE",
|
||||
"costItemId": 224,
|
||||
"costItemAmount": 1,
|
||||
"costItemAmount10": 10,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 1000,
|
||||
"fallbackItems4Pool1": [1006, 1014, 1015, 1020, 1021, 1023, 1024, 1025, 1027, 1031, 1032, 1034, 1036, 1039, 1043, 1044, 1045, 1048, 1053, 1055, 1056, 1064],
|
||||
"weights4": [[1,510], [8,510], [10,10000]],
|
||||
"weights5": [[1,75], [73,150], [90,10000]]
|
||||
},
|
||||
{
|
||||
"gachaType": 301,
|
||||
"scheduleId": 903,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A079",
|
||||
"previewPrefabPath": "UI_Tab_GachaShowPanel_A079",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A048_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 9998,
|
||||
"rateUpItems4": [1053, 1020, 1045],
|
||||
"rateUpItems5": [1002],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [[1,80], [73,80], [90,10000]]
|
||||
},
|
||||
{
|
||||
"gachaType": 302,
|
||||
"scheduleId": 913,
|
||||
"bannerType": "WEAPON",
|
||||
"prefabPath": "GachaShowPanel_A080",
|
||||
"previewPrefabPath": "UI_Tab_GachaShowPanel_A080",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A021_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 9997,
|
||||
"eventChance": 75,
|
||||
"softPity": 80,
|
||||
"hardPity": 80,
|
||||
"rateUpItems4": [11401, 12402, 13407, 14401, 15401],
|
||||
"rateUpItems5": [11509, 12504],
|
||||
"fallbackItems5Pool1": [],
|
||||
"weights4": [[1,600], [7,600], [8, 6600], [10,12600]],
|
||||
"weights5": [[1,100], [62,100], [73, 7800], [80,10000]]
|
||||
}
|
||||
]
|
||||
199808
data/Drop.json
199808
data/Drop.json
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"t": "{{SYSTEM_TIME}}",
|
||||
"list": [
|
||||
{
|
||||
"ann_id": 1,
|
||||
"title": "<strong>Welcome to Grasscutter!</strong>",
|
||||
"subtitle": "Welcome!",
|
||||
"banner": "{{DISPATCH_PUBLIC}}/hk4e/announcement/assets/banner/1.jpg",
|
||||
"content": "<p>Hi there!</p><p>First of all, welcome to Grasscutter. If you have any issues, please let us know so that Lawnmower can help you!</p><br><p><strong>〓Discord〓</strong></p><a href=\"https://discord.gg/T5vZU6UyeG\">https://discord.gg/T5vZU6UyeG</a><br><br><p><strong>〓GitHub〓</strong><a href=\"https://github.com/Grasscutters/Grasscutter\">https://github.com/Grasscutters/Grasscutter</a>",
|
||||
"lang": "en-US"
|
||||
},
|
||||
{
|
||||
"ann_id": 2,
|
||||
"title": "<strong>How to use announcements</strong>",
|
||||
"subtitle": "How to use announcements",
|
||||
"banner": "{{DISPATCH_PUBLIC}}/hk4e/announcement/assets/banner/2.jpg",
|
||||
"content": "<p>Announcement content uses HTML. The specific content of the announcement is stored in the program directory <code>GameAnnouncement.json</code>, while <code>GameAnnouncementList.json</code> stores the announcement list data.</p><h2><code>GameAnnouncement</code></h2><table><tr><th>Parameter</th><th>Description</th></tr><tr><td>ann_id</td><td>Unique ID</td></tr><tr><td>title</td><td>Title shown at the top of the content</td></tr><tr><td>subtitle</td><td>Short title shown on the left</td></tr><tr><td>banner</td><td>Image to display between content and title</td></tr><tr><td>content</td><td>Content body in HTML</td></tr><tr><td>lang</td><td>Language code for this entry</td></tr></table><h2><code>GameAnnouncementList</code></h2><p>If you want to add an announcement, please add the list data in the announcement type corresponding to <code>GameAnnouncementList</code>, and finally add the announcement content in <code>GameAnnouncement</code>.</p>",
|
||||
"lang": "en-US"
|
||||
}
|
||||
],
|
||||
"total": 2
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
{
|
||||
"t": "{{SYSTEM_TIME}}",
|
||||
"list": [
|
||||
{
|
||||
"list": [
|
||||
{
|
||||
"ann_id": 1,
|
||||
"title": "<strong>Welcome to Grasscutter!</strong>",
|
||||
"subtitle": "Welcome!",
|
||||
"banner": "{{DISPATCH_PUBLIC}}/hk4e/announcement/assets/banner/1.jpg",
|
||||
"tag_icon": "{{DISPATCH_PUBLIC}}/hk4e/announcement/assets/tag_icon.png",
|
||||
"type": 2,
|
||||
"type_label": "System",
|
||||
"lang": "en-US",
|
||||
"start_time": "2020-09-25 04:05:30",
|
||||
"end_time": "2030-10-30 11:00:00",
|
||||
"content": "",
|
||||
"has_content": true
|
||||
},
|
||||
{
|
||||
"ann_id": 2,
|
||||
"title": "<strong>How to use announcements</strong>",
|
||||
"subtitle": "How to use announcements",
|
||||
"banner": "{{DISPATCH_PUBLIC}}/hk4e/announcement/assets/banner/2.jpg",
|
||||
"tag_icon": "{{DISPATCH_PUBLIC}}/hk4e/announcement/assets/tag_icon.png",
|
||||
"type": 2,
|
||||
"type_label": "System",
|
||||
"lang": "en-US",
|
||||
"start_time": "2020-09-25 04:05:30",
|
||||
"end_time": "2030-10-30 11:00:00",
|
||||
"content": "",
|
||||
"has_content": true
|
||||
}
|
||||
],
|
||||
"type_id": 2,
|
||||
"type_label": "System"
|
||||
},
|
||||
{
|
||||
"list": [
|
||||
{}
|
||||
],
|
||||
"type_id": 3,
|
||||
"type_label": "Events"
|
||||
}
|
||||
],
|
||||
"total": 2,
|
||||
"type_list": [
|
||||
{
|
||||
"id": 2,
|
||||
"name": "游戏系统公告",
|
||||
"mi18n_name": "System"
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"name": "活动公告",
|
||||
"mi18n_name": "Activity"
|
||||
}
|
||||
],
|
||||
"timezone": -5,
|
||||
"alert": false,
|
||||
"alert_id": 0
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
[
|
||||
{
|
||||
"shopId": 1004,
|
||||
"items": [
|
||||
{
|
||||
"goodsId": 1004202,
|
||||
"goodsItem": {
|
||||
"Id": 202,
|
||||
"Count": 1000000
|
||||
},
|
||||
"scoin": 1,
|
||||
"buyLimit": 500,
|
||||
"beginTime": 1575129600,
|
||||
"endTime": 2051193600,
|
||||
"minLevel": 1,
|
||||
"maxLevel": 99,
|
||||
"costItemList": [
|
||||
{
|
||||
"Id": 223,
|
||||
"Count": 100
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"goodsId": 10048006,
|
||||
"goodsItem": {
|
||||
"Id": 108006,
|
||||
"Count": 20
|
||||
},
|
||||
"scoin": 100,
|
||||
"hcoin": 100,
|
||||
"mcoin": 100,
|
||||
"buyLimit": 50000,
|
||||
"beginTime": 1575129600,
|
||||
"endTime": 2051193600,
|
||||
"minLevel": 1,
|
||||
"maxLevel": 99
|
||||
},
|
||||
{
|
||||
"goodsId": 10048033,
|
||||
"goodsItem": {
|
||||
"Id": 108033,
|
||||
"Count": 20
|
||||
},
|
||||
"scoin": 1,
|
||||
"buyLimit": 50000,
|
||||
"beginTime": 1575129600,
|
||||
"endTime": 2051193600,
|
||||
"minLevel": 1,
|
||||
"maxLevel": 99
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -1,153 +0,0 @@
|
||||
[
|
||||
{
|
||||
"itemId": 115019,
|
||||
"containsItem": [
|
||||
{
|
||||
"Id": 104002,
|
||||
"Count": 40
|
||||
},
|
||||
{
|
||||
"Id": 202,
|
||||
"Count": 30000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"itemId": 115020,
|
||||
"containsItem": [
|
||||
{
|
||||
"Id": 104013,
|
||||
"Count": 25
|
||||
},
|
||||
{
|
||||
"Id": 202,
|
||||
"Count": 30000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"itemId": 115021,
|
||||
"containsItem": [
|
||||
{
|
||||
"Id": 115013,
|
||||
"Count": 5
|
||||
},
|
||||
{
|
||||
"Id": 104003,
|
||||
"Count": 40
|
||||
},
|
||||
{
|
||||
"Id": 202,
|
||||
"Count": 120000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"itemId": 115022,
|
||||
"containsItem": [
|
||||
{
|
||||
"Id": 115017,
|
||||
"Count": 25
|
||||
},
|
||||
{
|
||||
"Id": 202,
|
||||
"Count": 150000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"itemId": 115023,
|
||||
"containsItem": [
|
||||
{
|
||||
"Id": 115025,
|
||||
"Count": 10
|
||||
},
|
||||
{
|
||||
"Id": 202,
|
||||
"Count": 60000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"itemId": 115029,
|
||||
"containsItem": [
|
||||
{
|
||||
"Id": 104013,
|
||||
"Count": 100
|
||||
},
|
||||
{
|
||||
"Id": 202,
|
||||
"Count": 100000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"itemId": 115030,
|
||||
"containsItem": [
|
||||
{
|
||||
"Id": 104003,
|
||||
"Count": 12
|
||||
},
|
||||
{
|
||||
"Id": 202,
|
||||
"Count": 10000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"itemId": 115034,
|
||||
"containsItem": [
|
||||
{
|
||||
"Id": 115013,
|
||||
"Count": 6
|
||||
},
|
||||
{
|
||||
"Id": 202,
|
||||
"Count": 60000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"itemId": 115032,
|
||||
"containsItem": [
|
||||
{
|
||||
"Id": 115024,
|
||||
"Count": 12
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"itemId": 115010,
|
||||
"containsItem": [
|
||||
{
|
||||
"Id": 104002,
|
||||
"Count": 80
|
||||
},
|
||||
{
|
||||
"Id": 104012,
|
||||
"Count": 40
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"itemId": 115011,
|
||||
"containsItem": [
|
||||
{
|
||||
"Id": 104003,
|
||||
"Count": 50
|
||||
},
|
||||
{
|
||||
"Id": 104013,
|
||||
"Count": 25
|
||||
},
|
||||
{
|
||||
"Id": 107009,
|
||||
"Count": 1
|
||||
},
|
||||
{
|
||||
"Id": 202,
|
||||
"Count": 50000
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -1,55 +0,0 @@
|
||||
[
|
||||
{
|
||||
"itemId": 115017,
|
||||
"optionItem": [
|
||||
104302,
|
||||
104305,
|
||||
104308,
|
||||
104311,
|
||||
104314,
|
||||
104317,
|
||||
104321,
|
||||
104324,
|
||||
104327
|
||||
]
|
||||
},
|
||||
{
|
||||
"itemId": 115024,
|
||||
"optionItem": [
|
||||
114001,
|
||||
114005,
|
||||
114009,
|
||||
114013,
|
||||
114017,
|
||||
114021,
|
||||
114025,
|
||||
114029,
|
||||
114033
|
||||
]
|
||||
},
|
||||
{
|
||||
"itemId": 115013,
|
||||
"optionItem": [
|
||||
104112,
|
||||
104122,
|
||||
104142,
|
||||
104152,
|
||||
104162,
|
||||
104172
|
||||
]
|
||||
},
|
||||
{
|
||||
"itemId": 115025,
|
||||
"optionItem": [
|
||||
114002,
|
||||
114006,
|
||||
114010,
|
||||
114014,
|
||||
114018,
|
||||
114022,
|
||||
114026,
|
||||
114030,
|
||||
114034
|
||||
]
|
||||
}
|
||||
]
|
||||
File diff suppressed because one or more lines are too long
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"scheduleId" : 45,
|
||||
"scheduleStartTime" : "2022-05-01T00:00:00+08:00",
|
||||
"nextScheduleChangeTime" : "2022-05-30T00:00:00+08:00"
|
||||
}
|
||||
@@ -1,121 +0,0 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400&display=swap">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css">
|
||||
<style>
|
||||
body {
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
p {
|
||||
font-weight:300;
|
||||
}
|
||||
a,a:hover {
|
||||
text-decoration:none !important;
|
||||
color:#626976;
|
||||
}
|
||||
.content {
|
||||
padding:3rem 0;
|
||||
}
|
||||
.container {
|
||||
color:#626976;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size:20px;
|
||||
}
|
||||
h3 {
|
||||
font-size:16px;
|
||||
}
|
||||
</style>
|
||||
<title>Banner Details</title>
|
||||
<script type="text/javascript" src="/gacha/mappings"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="content">
|
||||
<div class="container">
|
||||
<h2 class="mb-5">{{TITLE}}</h2>
|
||||
|
||||
<h3 class="">{{AVAILABLE_FIVE_STARS}}</h3>
|
||||
<hr />
|
||||
<ul id="5-star-list">
|
||||
</ul>
|
||||
|
||||
<h3 class="">{{AVAILABLE_FOUR_STARS}}</h3>
|
||||
<hr />
|
||||
<ul id="4-star-list">
|
||||
</ul>
|
||||
|
||||
<h3 class="">{{AVAILABLE_THREE_STARS}}</h3>
|
||||
<hr />
|
||||
<ul id="3-star-list">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
<div class="copyright">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<span>
|
||||
Template by BecodReyes. All rights reserved.
|
||||
</span>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<ul style="float:right">
|
||||
<li class="list-inline-item">
|
||||
<a href="https://github.com/Grasscutters/Grasscutter">Github</a>
|
||||
</li>
|
||||
<li class="list-inline-item">·</li>
|
||||
<li class="list-inline-item">
|
||||
<a href="https://github.com/Grasscutters/Grasscutter/blob/stable/LICENSE">License</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
var fiveStarItems = {{FIVE_STARS}};
|
||||
var fourStarItems = {{FOUR_STARS}};
|
||||
var threeStarItems = {{THREE_STARS}};
|
||||
var lang = "{{LANGUAGE}}".toLowerCase();
|
||||
|
||||
function getNameForId(itemId) {
|
||||
if (mappings[lang] != null && mappings[lang][itemId] != null) {
|
||||
return mappings[lang][itemId][0];
|
||||
}
|
||||
else if (mappings["en-us"] != null && mappings["en-us"][itemId] != null) {
|
||||
return mappings["en-us"][itemId][0];
|
||||
}
|
||||
|
||||
return itemId.toString();
|
||||
}
|
||||
|
||||
fiveStarList = document.getElementById("5-star-list");
|
||||
fourStarList = document.getElementById("4-star-list");
|
||||
threeStarList = document.getElementById("3-star-list");
|
||||
|
||||
fiveStarItems.forEach(element => {
|
||||
var entry = document.createElement("li");
|
||||
entry.innerHTML = getNameForId(element);
|
||||
fiveStarList.appendChild(entry);
|
||||
});
|
||||
fourStarItems.forEach(element => {
|
||||
var entry = document.createElement("li");
|
||||
entry.innerHTML = getNameForId(element);
|
||||
fourStarList.appendChild(entry);
|
||||
});
|
||||
threeStarItems.forEach(element => {
|
||||
var entry = document.createElement("li");
|
||||
entry.innerHTML = getNameForId(element);
|
||||
threeStarList.appendChild(entry);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,175 +0,0 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400&display=swap">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css">
|
||||
<style>
|
||||
body {
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
p {
|
||||
font-weight:300;
|
||||
}
|
||||
a,a:hover {
|
||||
text-decoration:none !important;
|
||||
color:#626976;
|
||||
}
|
||||
.content {
|
||||
padding:3rem 0;
|
||||
}
|
||||
.container {
|
||||
color:#626976;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size:20px;
|
||||
}
|
||||
.custom-table {
|
||||
min-width:900px;
|
||||
}
|
||||
.custom-table thead tr,.custom-table thead th {
|
||||
padding-bottom:30px;
|
||||
color:#000;
|
||||
}
|
||||
.custom-table tbody th,.custom-table tbody td {
|
||||
color:#777;
|
||||
font-weight:400;
|
||||
padding-bottom:20px;
|
||||
padding-top:20px;
|
||||
font-weight:300;
|
||||
border:none;
|
||||
}
|
||||
.yellow {
|
||||
color: rgb(255, 162, 0);
|
||||
}
|
||||
.blue {
|
||||
color: rgb(75, 107, 251);
|
||||
}
|
||||
.purple {
|
||||
color: rgb(242, 40, 242);
|
||||
}
|
||||
</style>
|
||||
<title>Gacha Records</title>
|
||||
<!-- This file could be generated automatically using `java -jar grasscutter.jar -gachamap` -->
|
||||
<!-- You can also modify the file manually to customize it -->
|
||||
<!-- Otherwise you may onle see number IDs in the gacha record -->
|
||||
<script type="text/javascript" src="/gacha/mappings"></script>
|
||||
<script>
|
||||
records = {{REPLACE_RECORDS}};
|
||||
maxPage = {{REPLACE_MAXPAGE}};
|
||||
|
||||
mappings['default'] = mappings['en-us']; // make en-us as default/fallback option
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="content">
|
||||
<div class="container">
|
||||
<h2 class="mb-5">Gacha Records</h2>
|
||||
<table id="container" class="table table-striped custom-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Date</th>
|
||||
<th scope="col">Item</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="navbar">
|
||||
<a href="" id="prev"><<<</a>
|
||||
<span id="curpage">1</span>
|
||||
<a href="" id="next">>>></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
<div class="copyright">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<span>
|
||||
Template by BecodReyes. All rights reserved.
|
||||
</span>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<ul style="float:right">
|
||||
<li class="list-inline-item">
|
||||
<a href="https://github.com/Grasscutters/Grasscutter">Github</a>
|
||||
</li>
|
||||
<li class="list-inline-item">·</li>
|
||||
<li class="list-inline-item">
|
||||
<a href="https://github.com/Grasscutters/Grasscutter/blob/stable/LICENSE">License</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
var lang = "{{LANGUAGE}}".toLowerCase();
|
||||
|
||||
function itemMapper(itemID) {
|
||||
if (mappings[lang] != null && mappings[lang][itemID] != null) {
|
||||
var entry = mappings[lang][itemID];
|
||||
if (entry){
|
||||
return "<span class='" + entry[1] + "'>" + entry[0] + "</span>";
|
||||
}
|
||||
} else {
|
||||
if (mappings['default'][itemID] != null) {
|
||||
var entry = mappings['default'][itemID];
|
||||
if (entry){
|
||||
return "<span class='" + entry[1] + "'>" + entry[0] + "</span>";
|
||||
}
|
||||
}
|
||||
}
|
||||
return "<span class='blue'>" + itemID + "</span>";
|
||||
}
|
||||
|
||||
(function (){
|
||||
var container = document.getElementById("container");
|
||||
records.forEach(element => {
|
||||
var e = document.createElement("tr");
|
||||
|
||||
e.innerHTML= "<td>" + (new Date(element.time).toLocaleString(lang)) + "</td><td>" + itemMapper(element.item) + "</td>";
|
||||
container.appendChild(e);
|
||||
});
|
||||
|
||||
// setup pagenation buttons
|
||||
var page = parseInt(new window.URLSearchParams(window.location.search).get("p"));
|
||||
if (!page) {
|
||||
page = 0;
|
||||
}
|
||||
document.getElementById("curpage").innerText = page + 1;
|
||||
var href = new URL(window.location);
|
||||
href.searchParams.set("p", page - 1);
|
||||
document.getElementById("prev").href = href.toString();
|
||||
href.searchParams.set("p", page + 1);
|
||||
document.getElementById("next").href = href.toString();
|
||||
if (page <= 0) {
|
||||
document.getElementById("prev").style.display = "none";
|
||||
}
|
||||
if (page >= maxPage - 1) {
|
||||
document.getElementById("next").style.display = "none";
|
||||
}
|
||||
|
||||
// setup gacha type info
|
||||
var gachaType = new window.URLSearchParams(window.location.search).get("gachaType");
|
||||
if (mappings[lang] != null && mappings[lang][gachaType] != null) {
|
||||
var gachaString = mappings[lang][gachaType];
|
||||
} else {
|
||||
var gachaString = mappings['default'][gachaType];
|
||||
if (gachaString == null) {
|
||||
gachaString = gachaType;
|
||||
}
|
||||
}
|
||||
document.getElementById("gacha-type").innerText = gachaString;
|
||||
})();
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user