mirror of
https://gitlab.com/lolmam/Phigros-Android-History.git
synced 2026-02-04 16:21:11 +00:00
Compare commits
3 Commits
0ed002c1a1
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
a1d7e714de
|
|||
|
423b74c613
|
|||
|
3144a68112
|
15
Changelog.md
15
Changelog.md
@@ -18,6 +18,21 @@ This table and any use of it (including in the website versions) remains under t
|
||||
<th width="70%">Changelog
|
||||
</th></tr>
|
||||
<tr>
|
||||
<th>3.18.1 (138)
|
||||
</th>
|
||||
<td>2025-12-17
|
||||
</td>
|
||||
<td>
|
||||
<ul><li>Added 2 new songs to <a href="https://phigros.fandom.com/wiki/Songs#Single_Collection" title="Songs">Single Collection</a>
|
||||
<ul><li><a href="https://phigros.fandom.com/wiki/Locomotive" title="Locomotive">Locomotive</a></li>
|
||||
<li><a href="https://phigros.fandom.com/wiki/%E6%9C%80%E9%AB%98%E5%82%91%E4%BD%9C" title="最高傑作">最高傑作</a></li></ul></li>
|
||||
<li>Made modifications to the AT chart of <a href="https://phigros.fandom.com/wiki/Hydra" title="Hydra">Hydra</a> and IN chart of <a href="https://phigros.fandom.com/wiki/BANGING_STRIKE" title="BANGING STRIKE">BANGING STRIKE</a></li>
|
||||
<li>Fixed video playback issues</li>
|
||||
<li>Disabled VSync to resolve frame rate halves on some devices</li>
|
||||
<li>Fixed oversized note display on some devices</li>
|
||||
<li>Other bug fixes and improvements</li></ul>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<th>3.18.0 (137)
|
||||
</th>
|
||||
<td>2025-11-19
|
||||
|
||||
@@ -21,8 +21,8 @@ For license and attribution info check [NOTICE.md](NOTICE.md)
|
||||
|
||||
## Archive Progress
|
||||
|
||||
**Total versions released:** 129
|
||||
**Versions found:** 120
|
||||
**Total versions released:** 130
|
||||
**Versions found:** 121
|
||||
**Versions missing:** 9
|
||||
*(If you have any of them, feel free to contact me so I can add them to this archive.)*
|
||||
|
||||
@@ -40,7 +40,7 @@ For instructions on how to install check [How to Install](Install.md).
|
||||
The full changelog for each version is available in the [Changelog](Changelog.md).
|
||||
|
||||
## Notes
|
||||
1. **Version 3.18.0 (137)** is the latest version **"19/Nov/2025"**.
|
||||
1. **Version 3.18.1 (138)** is the latest version **"17/Dec/2025"**.
|
||||
2. The game updates around every **Wednesday at (09:00 AM UTC)**.
|
||||
3. **"G"** is for Google Play versions, **"T"** is for TapTap versions, and **NA** for versions that **don't** work (APK is available but missing OBB or it doesn't install or launch).
|
||||
4. Google Play versions **(G)** and TapTap versions **(T)** are **not compatible** with each other due to differences in their digital signatures.
|
||||
|
||||
@@ -662,5 +662,10 @@ Full Changelog is [Here](Changelog.md)
|
||||
<td>3.18.0</td>
|
||||
<td>Google Play</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>138</td>
|
||||
<td>3.18.1</td>
|
||||
<td>Google Play</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
<div id="missing-versions" class="home-dropdown-content">
|
||||
<code>1.2.1, 1.2.2, 1.2.3, 1.2.5, 1.5.3, 1.5.5, 2.4.1, 2.4.2, 2.5.0</code>
|
||||
</div>
|
||||
<p>Latest version: <strong><a href="versions/versions_3.x#v3-18-0" class="active">3.18.0 (137)</a></strong> - 19/Nov/2025<br>Updates are usually released every Wednesday at 09:00 AM UTC.</p>
|
||||
<p>Latest version: <strong><a href="versions/versions_3.x#v3-18-1" class="active">3.18.1 (138)</a></strong> - 17/Dec/2025<br>Updates are usually released every Wednesday at 09:00 AM UTC.</p>
|
||||
</section>
|
||||
|
||||
<div class="cta-buttons">
|
||||
|
||||
@@ -517,4 +517,96 @@ a.back-to-top:hover {
|
||||
|
||||
.highlight {
|
||||
animation: pulse 1.5s ease-out;
|
||||
}
|
||||
}
|
||||
|
||||
.license-popup {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
background: rgba(0, 0, 0, 0.75);
|
||||
backdrop-filter: blur(10px);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
z-index: 9999;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.license-popup-content {
|
||||
background: #1a1a1a;
|
||||
border: 1px solid #333;
|
||||
border-radius: 12px;
|
||||
padding: 25px 30px;
|
||||
width: 100%;
|
||||
max-width: 520px;
|
||||
max-height: 85vh;
|
||||
overflow: hidden;
|
||||
color: #ddd;
|
||||
box-shadow: 0 0 20px rgba(0,0,0,0.5);
|
||||
animation: popupFade 0.22s ease-out;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
animation: pulse 1.5s ease-out;
|
||||
}
|
||||
|
||||
.license-popup-content h2 {
|
||||
margin-bottom: 15px;
|
||||
font-size: 1.7rem;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.license-text {
|
||||
background: #111;
|
||||
border: 1px solid #333;
|
||||
border-radius: 8px;
|
||||
padding: 12px 15px;
|
||||
max-height: 300px;
|
||||
overflow-y: auto;
|
||||
margin-bottom: 22px;
|
||||
font-size: 0.92rem;
|
||||
line-height: 1.45;
|
||||
color: #ccc;
|
||||
|
||||
-ms-overflow-style: none;
|
||||
scrollbar-width: none;
|
||||
}
|
||||
|
||||
.license-text::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.license-text p {
|
||||
margin-bottom: 12px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.license-buttons {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 14px;
|
||||
}
|
||||
|
||||
@keyframes popupFade {
|
||||
from { opacity: 0; transform: scale(0.94); }
|
||||
to { opacity: 1; transform: scale(1); }
|
||||
}
|
||||
|
||||
@keyframes pulse {
|
||||
0% { box-shadow: 0 0 0 0 rgba(0, 150, 255, 0.7); }
|
||||
70% { box-shadow: 0 0 0 15px rgba(0, 150, 255, 0); }
|
||||
100% { box-shadow: 0 0 0 0 rgba(0, 150, 255, 0); }
|
||||
}
|
||||
|
||||
.body-locked {
|
||||
overflow: hidden !important;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.body-locked #license-popup {
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
@@ -2313,9 +2313,94 @@
|
||||
<img src="https://mirrors.creativecommons.org/presskit/icons/nc.svg" alt="NC" style="max-width: 1em; max-height:1em; margin-left: .2em;">
|
||||
<img src="https://mirrors.creativecommons.org/presskit/icons/sa.svg" alt="SA" style="max-width: 1em; max-height:1em; margin-left: .2em;">
|
||||
</footer>
|
||||
<div id="license-popup" class="license-popup hidden">
|
||||
<div class="license-popup-content highlight">
|
||||
<h2>DISCLAIMER</h2>
|
||||
|
||||
<div class="license-text">
|
||||
<p><strong>"Phigros"</strong> is a game developed and owned by Pigeon Games. This archive is a fan made project and is not affiliated with, endorsed by, or officially connected to Pigeon Games or the Phigros development team.</p>
|
||||
|
||||
<p>By choosing to download, install, or use any of the provided files, you accept full responsibility for any outcomes. Although care has been taken to ensure the files are clean and safe, we are not responsible for any problems, errors, or damage that might occur as a result of using them.</p>
|
||||
|
||||
<p>ALL APK files and other materials available here are provided for personal use only, such as backup, educational reference, or preservation. These files are offered as is, with no guarantees about how well they work or whether they will function properly on every device or system.</p>
|
||||
|
||||
<p>For license and attribution info check <a href="../../notice/">NOTICE</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="license-buttons">
|
||||
<button id="agree" class="btn">Agree</button>
|
||||
<button id="close-popup" class="btn alt">Disagree</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
|
||||
const popup = document.getElementById("license-popup");
|
||||
const agree = document.getElementById("agree");
|
||||
const closeBtn = document.getElementById("close-popup");
|
||||
|
||||
function setCookie(name, value, days) {
|
||||
const expires = new Date(Date.now() + days * 864e5).toUTCString();
|
||||
document.cookie = `${name}=${value}; expires=${expires}; path=/; SameSite=Lax`;
|
||||
}
|
||||
|
||||
function getCookie(name) {
|
||||
return document.cookie
|
||||
.split("; ")
|
||||
.find(c => c.startsWith(name + "="))
|
||||
?.split("=")[1];
|
||||
}
|
||||
|
||||
let pendingURL = null;
|
||||
|
||||
const buttons = document.querySelectorAll(".btn, .btn.alt");
|
||||
|
||||
buttons.forEach(el => {
|
||||
el.addEventListener("click", e => {
|
||||
if (el.classList.contains("btn-unavailable")) return;
|
||||
|
||||
if (getCookie("licenseAccepted")) {
|
||||
return;
|
||||
}
|
||||
|
||||
e.preventDefault();
|
||||
pendingURL = el.href;
|
||||
|
||||
popup.classList.remove("hidden");
|
||||
document.body.classList.add("body-locked");
|
||||
});
|
||||
});
|
||||
|
||||
agree.addEventListener("click", () => {
|
||||
setCookie("licenseAccepted", "true", 365);
|
||||
|
||||
popup.classList.add("hidden");
|
||||
document.body.classList.remove("body-locked");
|
||||
|
||||
if (pendingURL) {
|
||||
const a = document.createElement("a");
|
||||
a.href = pendingURL;
|
||||
a.download = "";
|
||||
document.body.appendChild(a);
|
||||
a.click();
|
||||
a.remove();
|
||||
pendingURL = null;
|
||||
}
|
||||
});
|
||||
|
||||
closeBtn.addEventListener("click", () => {
|
||||
popup.classList.add("hidden");
|
||||
document.body.classList.remove("body-locked");
|
||||
pendingURL = null;
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<script>
|
||||
function toggleSubmenu(e) {
|
||||
e.preventDefault();
|
||||
|
||||
@@ -1191,9 +1191,94 @@
|
||||
<img src="https://mirrors.creativecommons.org/presskit/icons/nc.svg" alt="NC" style="max-width: 1em; max-height:1em; margin-left: .2em;">
|
||||
<img src="https://mirrors.creativecommons.org/presskit/icons/sa.svg" alt="SA" style="max-width: 1em; max-height:1em; margin-left: .2em;">
|
||||
</footer>
|
||||
<div id="license-popup" class="license-popup hidden">
|
||||
<div class="license-popup-content highlight">
|
||||
<h2>DISCLAIMER</h2>
|
||||
|
||||
<div class="license-text">
|
||||
<p><strong>"Phigros"</strong> is a game developed and owned by Pigeon Games. This archive is a fan made project and is not affiliated with, endorsed by, or officially connected to Pigeon Games or the Phigros development team.</p>
|
||||
|
||||
<p>By choosing to download, install, or use any of the provided files, you accept full responsibility for any outcomes. Although care has been taken to ensure the files are clean and safe, we are not responsible for any problems, errors, or damage that might occur as a result of using them.</p>
|
||||
|
||||
<p>ALL APK files and other materials available here are provided for personal use only, such as backup, educational reference, or preservation. These files are offered as is, with no guarantees about how well they work or whether they will function properly on every device or system.</p>
|
||||
|
||||
<p>For license and attribution info check <a href="../../notice/">NOTICE</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="license-buttons">
|
||||
<button id="agree" class="btn">Agree</button>
|
||||
<button id="close-popup" class="btn alt">Disagree</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
|
||||
const popup = document.getElementById("license-popup");
|
||||
const agree = document.getElementById("agree");
|
||||
const closeBtn = document.getElementById("close-popup");
|
||||
|
||||
function setCookie(name, value, days) {
|
||||
const expires = new Date(Date.now() + days * 864e5).toUTCString();
|
||||
document.cookie = `${name}=${value}; expires=${expires}; path=/; SameSite=Lax`;
|
||||
}
|
||||
|
||||
function getCookie(name) {
|
||||
return document.cookie
|
||||
.split("; ")
|
||||
.find(c => c.startsWith(name + "="))
|
||||
?.split("=")[1];
|
||||
}
|
||||
|
||||
let pendingURL = null;
|
||||
|
||||
const buttons = document.querySelectorAll(".btn, .btn.alt");
|
||||
|
||||
buttons.forEach(el => {
|
||||
el.addEventListener("click", e => {
|
||||
if (el.classList.contains("btn-unavailable")) return;
|
||||
|
||||
if (getCookie("licenseAccepted")) {
|
||||
return;
|
||||
}
|
||||
|
||||
e.preventDefault();
|
||||
pendingURL = el.href;
|
||||
|
||||
popup.classList.remove("hidden");
|
||||
document.body.classList.add("body-locked");
|
||||
});
|
||||
});
|
||||
|
||||
agree.addEventListener("click", () => {
|
||||
setCookie("licenseAccepted", "true", 365);
|
||||
|
||||
popup.classList.add("hidden");
|
||||
document.body.classList.remove("body-locked");
|
||||
|
||||
if (pendingURL) {
|
||||
const a = document.createElement("a");
|
||||
a.href = pendingURL;
|
||||
a.download = "";
|
||||
document.body.appendChild(a);
|
||||
a.click();
|
||||
a.remove();
|
||||
pendingURL = null;
|
||||
}
|
||||
});
|
||||
|
||||
closeBtn.addEventListener("click", () => {
|
||||
popup.classList.add("hidden");
|
||||
document.body.classList.remove("body-locked");
|
||||
pendingURL = null;
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<script>
|
||||
function toggleSubmenu(e) {
|
||||
e.preventDefault();
|
||||
|
||||
@@ -38,9 +38,63 @@
|
||||
<div class="version-list">
|
||||
<!-- Version Cards-->
|
||||
|
||||
<!-- 3.18.1 -->
|
||||
<div class="version-card" id="v3-18-1">
|
||||
<h2>Phigros 3.18.1 (138) <span class="tag_G">Google - Latest Version</span></h2>
|
||||
<p class="version-date">Released: 2025-12-17</p>
|
||||
<p class="changelog"></p>
|
||||
|
||||
<ul class="changelog-list">
|
||||
<li>Added 2 new songs to <a href="https://phigros.fandom.com/wiki/Songs#Single_Collection" title="Songs">Single Collection</a>
|
||||
<ul><li><a href="https://phigros.fandom.com/wiki/Locomotive" title="Locomotive">Locomotive</a></li>
|
||||
<li><a href="https://phigros.fandom.com/wiki/%E6%9C%80%E9%AB%98%E5%82%91%E4%BD%9C" title="最高傑作">最高傑作</a></li></ul></li>
|
||||
<li>Made modifications to the AT chart of <a href="https://phigros.fandom.com/wiki/Hydra" title="Hydra">Hydra</a> and IN chart of <a href="https://phigros.fandom.com/wiki/BANGING_STRIKE" title="BANGING STRIKE">BANGING STRIKE</a></li>
|
||||
<li>Fixed video playback issues</li>
|
||||
<li>Disabled VSync to resolve frame rate halves on some devices</li>
|
||||
<li>Fixed oversized note display on some devices</li>
|
||||
<li>Other bug fixes and improvements</li>
|
||||
</ul>
|
||||
|
||||
<!-- Toggle Button -->
|
||||
<button class="dropdown-toggle" onclick="toggleDropdown(this)">
|
||||
<span class="arrow">▶ </span> Show File Info
|
||||
</button>
|
||||
|
||||
<!-- Hidden Content -->
|
||||
<div class="dropdown-content">
|
||||
<p><strong>File Name:</strong> Phigros_3.18.1_G.apk</p>
|
||||
<p><strong>Version:</strong> 3.18.1</p>
|
||||
<p><strong>Version Code:</strong> 138</p>
|
||||
<p><strong>Package Name:</strong> com.PigeonGames.Phigros</p>
|
||||
<p><strong>SHA2-256 =</strong> 03ED04BA516EB0D7D0FE36C026C4457B6C5A5A26F5E4F311ADB4F0FD1084F2A9</p>
|
||||
<p><strong><br>Signature Details:</strong></p>
|
||||
<p><strong><br>Signer #1 certificate DN:</strong> CN=Android, OU=Android, O=Google Inc., L=Mountain View, ST=California, C=US</p>
|
||||
<p><strong>Signer #1 certificate SHA-256 digest:</strong> </p>
|
||||
<p>20cdcbda8907dc1893fea53b3fd2844eeff9527ddad7967c1365a07975d757c1</p>
|
||||
<p><strong>Signer #1 certificate SHA-1 digest:</strong></p>
|
||||
<p>dc74b84ce12f1521cd0b06e255a3f82b3d82f076</p>
|
||||
<p><strong>Signer #1 certificate MD5 digest:</strong></p>
|
||||
<p>daa72c1d4751df7d651ba953591da6c1</p>
|
||||
<p><strong>Signer #1 key algorithm:</strong> RSA</p>
|
||||
<p><strong>Signer #1 key size (bits):</strong> 4096</p>
|
||||
<p><strong>Signer #1 public key SHA-256 digest:</strong> </p>
|
||||
<p>9013cd8b2824fb7e33eaeec95aa16f8bbeaf5fa576e6442f3f2c5d0c23f895e8</p>
|
||||
<p><strong>Signer #1 public key SHA-1 digest:</strong></p>
|
||||
<p>0231bee3bb02dcce4c0092867d9ef6d813b5b5a6</p>
|
||||
<p><strong>Signer #1 public key MD5 digest:</strong> </p>
|
||||
<p>2f4aba1db1113dd5413f9cac83ddd1f9</p>
|
||||
</div>
|
||||
<h2></h2>
|
||||
<div class="buttons">
|
||||
<a href="https://files.phigros.lolmam.top/download?file=Phigros_3.18.1_G.apk&version=3.18.1&vcode=138" class="btn">Download APK</a>
|
||||
<a href="https://files.phigros.lolmam.top/download?file=main.138.com.PigeonGames.Phigros.obb&version=3.18.1&vcode=138" class="btn alt">Download OBB</a>
|
||||
<a href="https://files.phigros.lolmam.top/download?file=patch.138.com.PigeonGames.Phigros.obb&version=3.18.1&vcode=138" class="btn alt">Download Patch OBB</a>
|
||||
</div>
|
||||
</div>
|
||||
<h2></h2>
|
||||
<!-- 3.18.0 -->
|
||||
<div class="version-card" id="v3-18-0">
|
||||
<h2>Phigros 3.18.0 (137) <span class="tag_G">Google - Latest Version</span></h2>
|
||||
<h2>Phigros 3.18.0 (137) <span class="tag_G">Google</span></h2>
|
||||
<p class="version-date">Released: 2025-11-19</p>
|
||||
<p class="changelog"></p>
|
||||
|
||||
@@ -2862,9 +2916,94 @@
|
||||
<img src="https://mirrors.creativecommons.org/presskit/icons/nc.svg" alt="NC" style="max-width: 1em; max-height:1em; margin-left: .2em;">
|
||||
<img src="https://mirrors.creativecommons.org/presskit/icons/sa.svg" alt="SA" style="max-width: 1em; max-height:1em; margin-left: .2em;">
|
||||
</footer>
|
||||
<div id="license-popup" class="license-popup hidden">
|
||||
<div class="license-popup-content highlight">
|
||||
<h2>DISCLAIMER</h2>
|
||||
|
||||
<div class="license-text">
|
||||
<p><strong>"Phigros"</strong> is a game developed and owned by Pigeon Games. This archive is a fan made project and is not affiliated with, endorsed by, or officially connected to Pigeon Games or the Phigros development team.</p>
|
||||
|
||||
<p>By choosing to download, install, or use any of the provided files, you accept full responsibility for any outcomes. Although care has been taken to ensure the files are clean and safe, we are not responsible for any problems, errors, or damage that might occur as a result of using them.</p>
|
||||
|
||||
<p>ALL APK files and other materials available here are provided for personal use only, such as backup, educational reference, or preservation. These files are offered as is, with no guarantees about how well they work or whether they will function properly on every device or system.</p>
|
||||
|
||||
<p>For license and attribution info check <a href="../../notice/">NOTICE</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="license-buttons">
|
||||
<button id="agree" class="btn">Agree</button>
|
||||
<button id="close-popup" class="btn alt">Disagree</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
|
||||
const popup = document.getElementById("license-popup");
|
||||
const agree = document.getElementById("agree");
|
||||
const closeBtn = document.getElementById("close-popup");
|
||||
|
||||
function setCookie(name, value, days) {
|
||||
const expires = new Date(Date.now() + days * 864e5).toUTCString();
|
||||
document.cookie = `${name}=${value}; expires=${expires}; path=/; SameSite=Lax`;
|
||||
}
|
||||
|
||||
function getCookie(name) {
|
||||
return document.cookie
|
||||
.split("; ")
|
||||
.find(c => c.startsWith(name + "="))
|
||||
?.split("=")[1];
|
||||
}
|
||||
|
||||
let pendingURL = null;
|
||||
|
||||
const buttons = document.querySelectorAll(".btn, .btn.alt");
|
||||
|
||||
buttons.forEach(el => {
|
||||
el.addEventListener("click", e => {
|
||||
if (el.classList.contains("btn-unavailable")) return;
|
||||
|
||||
if (getCookie("licenseAccepted")) {
|
||||
return;
|
||||
}
|
||||
|
||||
e.preventDefault();
|
||||
pendingURL = el.href;
|
||||
|
||||
popup.classList.remove("hidden");
|
||||
document.body.classList.add("body-locked");
|
||||
});
|
||||
});
|
||||
|
||||
agree.addEventListener("click", () => {
|
||||
setCookie("licenseAccepted", "true", 365);
|
||||
|
||||
popup.classList.add("hidden");
|
||||
document.body.classList.remove("body-locked");
|
||||
|
||||
if (pendingURL) {
|
||||
const a = document.createElement("a");
|
||||
a.href = pendingURL;
|
||||
a.download = "";
|
||||
document.body.appendChild(a);
|
||||
a.click();
|
||||
a.remove();
|
||||
pendingURL = null;
|
||||
}
|
||||
});
|
||||
|
||||
closeBtn.addEventListener("click", () => {
|
||||
popup.classList.add("hidden");
|
||||
document.body.classList.remove("body-locked");
|
||||
pendingURL = null;
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<script>
|
||||
function toggleSubmenu(e) {
|
||||
e.preventDefault();
|
||||
|
||||
Reference in New Issue
Block a user