mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2026-01-27 04:40:48 +03:00
Fix credits and status page not showing
This commit is contained in:
File diff suppressed because one or more lines are too long
BIN
components/wifi-manager/webapp/dist/index.html.gz
vendored
BIN
components/wifi-manager/webapp/dist/index.html.gz
vendored
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
2
components/wifi-manager/webapp/dist/js/index.83664b.bundle.js
vendored
Normal file
2
components/wifi-manager/webapp/dist/js/index.83664b.bundle.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
components/wifi-manager/webapp/dist/js/index.83664b.bundle.js.gz
vendored
Normal file
BIN
components/wifi-manager/webapp/dist/js/index.83664b.bundle.js.gz
vendored
Normal file
Binary file not shown.
1
components/wifi-manager/webapp/dist/js/index.83664b.bundle.js.map
vendored
Normal file
1
components/wifi-manager/webapp/dist/js/index.83664b.bundle.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -20,17 +20,26 @@
|
|||||||
</button>
|
</button>
|
||||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||||
<ul class="nav navbar-nav mr-auto" role="tablist">
|
<ul class="nav navbar-nav mr-auto" role="tablist">
|
||||||
<li class="nav-item"><a class="nav-link active" data-bs-toggle="tab" aria-controls="profile" role="tab" href="#tab-wifi">WiFi</a></li>
|
<li class="nav-item"><a class="nav-link active" data-bs-toggle="tab" aria-controls="profile" role="tab"
|
||||||
<li class="nav-item omsg"><a class="nav-link" data-bs-toggle="tab" aria-controls="profile" role="tab" href="#tab-syslog">Status<span
|
href="#tab-wifi">WiFi</a></li>
|
||||||
class="badge badge-pill badge-success" id="msgcnt"></span></a></li>
|
<li class="nav-item omsg"><a class="nav-link" data-bs-toggle="tab" aria-controls="profile" role="tab"
|
||||||
<li class="nav-item orec"><a class="nav-link" data-bs-toggle="tab" aria-controls="profile" role="tab" href="#tab-cfg-audio">Audio</a></li>
|
href="#tab-syslog">Status<span class="badge badge-pill badge-success" id="msgcnt"></span></a>
|
||||||
<li class="nav-item orec"><a class="nav-link" data-bs-toggle="tab" aria-controls="profile" role="tab" href="#tab-cfg-syst">System</a></li>
|
</li>
|
||||||
<li class="nav-item orec"><a class="nav-link" data-bs-toggle="tab" aria-controls="profile" role="tab" href="#tab-cfg-hw">Hardware</a></li>
|
<li class="nav-item orec"><a class="nav-link" data-bs-toggle="tab" aria-controls="profile" role="tab"
|
||||||
<li class="nav-item"><a class="nav-link" data-bs-toggle="tab" aria-controls="profile" role="tab" href="#tab-cfg-fw">Updates</a></li>
|
href="#tab-cfg-audio">Audio</a></li>
|
||||||
|
<li class="nav-item orec"><a class="nav-link" data-bs-toggle="tab" aria-controls="profile" role="tab"
|
||||||
|
href="#tab-cfg-syst">System</a></li>
|
||||||
|
<li class="nav-item orec"><a class="nav-link" data-bs-toggle="tab" aria-controls="profile" role="tab"
|
||||||
|
href="#tab-cfg-hw">Hardware</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" data-bs-toggle="tab" aria-controls="profile" role="tab"
|
||||||
|
href="#tab-cfg-fw">Updates</a></li>
|
||||||
<div class="dropdown-divider"></div>
|
<div class="dropdown-divider"></div>
|
||||||
<li class="nav-item"><a class="nav-link" data-bs-toggle="tab" aria-controls="profile" role="tab" href="#tab-nvs">NVS Editor</a></li>
|
<li class="nav-item"><a class="nav-link" data-bs-toggle="tab" aria-controls="profile" role="tab"
|
||||||
<li class="nav-item"><a class="nav-link" data-bs-toggle="tab" aria-controls="profile" role="tab" href="#tab-commands">Advanced</a></li>
|
href="#tab-nvs">NVS Editor</a></li>
|
||||||
<li class="nav-item"><a class="nav-link" data-bs-toggle="tab" aria-controls="profile" role="tab" href="#tab-credits">Credits</a></li>
|
<li class="nav-item"><a class="nav-link" data-bs-toggle="tab" aria-controls="profile" role="tab"
|
||||||
|
href="#tab-commands">Advanced</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" data-bs-toggle="tab" aria-controls="profile" role="tab"
|
||||||
|
href="#tab-credits">Credits</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -46,7 +55,8 @@
|
|||||||
<span id="o_i2s" class="material-icons" style="fill:white; display: none">speaker</span>
|
<span id="o_i2s" class="material-icons" style="fill:white; display: none">speaker</span>
|
||||||
</span>
|
</span>
|
||||||
<span id="ethernet" class="material-icons if_eth" style="fill:white; display: none">cable</span>
|
<span id="ethernet" class="material-icons if_eth" style="fill:white; display: none">cable</span>
|
||||||
<span id="wifiStsIcon" class="material-icons if_wifi" style="fill:white; display: none">signal_wifi_statusbar_4_bar</span>
|
<span id="wifiStsIcon" class="material-icons if_wifi"
|
||||||
|
style="fill:white; display: none">signal_wifi_statusbar_4_bar</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
@@ -65,7 +75,8 @@
|
|||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<span id="flash-status"></span>
|
<span id="flash-status"></span>
|
||||||
<div class="progress" id="progress">
|
<div class="progress" id="progress">
|
||||||
<div class="progress-bar" role="progressbar" aria-valuemin="0" aria-valuemax="100" style="width:0%">
|
<div class="progress-bar" role="progressbar" aria-valuemin="0" aria-valuemax="100"
|
||||||
|
style="width:0%">
|
||||||
0%
|
0%
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -130,7 +141,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<button id="btn_reboot_recovery" class="btn-warning ota_element" type="submit" >Recovery</button>
|
<button id="btn_reboot_recovery" class="btn-warning ota_element"
|
||||||
|
type="submit">Recovery</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -141,14 +153,16 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title">Firmware Flash</h5>
|
<h5 class="modal-title">Firmware Flash</h5>
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
<button type="button" class="btn-close" data-bs-dismiss="modal"
|
||||||
|
aria-label="Close"></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>Flash URL <span id="selectedFWURL" class="text-break"></span> to device?</p>
|
<p>Flash URL <span id="selectedFWURL" class="text-break"></span> to device?</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer ">
|
<div class="modal-footer ">
|
||||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
|
||||||
<button id="btn_flash" type="button" class="btn btn-warning" data-bs-dismiss="modal" >Ok</button>
|
<button id="btn_flash" type="button" class="btn btn-warning"
|
||||||
|
data-bs-dismiss="modal">Ok</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -159,7 +173,8 @@
|
|||||||
<div id="uploaddiv" class="form-group row ">
|
<div id="uploaddiv" class="form-group row ">
|
||||||
<label for="flashfilename" class="col-auto col-form-label">Local File</label>
|
<label for="flashfilename" class="col-auto col-form-label">Local File</label>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<input type="file" class="form-control-file" id="flashfilename" aria-describedby="fileHelp">
|
<input type="file" class="form-control-file" id="flashfilename"
|
||||||
|
aria-describedby="fileHelp">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<div class="buttons">
|
<div class="buttons">
|
||||||
@@ -186,7 +201,8 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div class="buttons">
|
<div class="buttons">
|
||||||
<button button id="btn_reboot" class="btn btn-primary" style="float:right" type="submit" >Reboot</button>
|
<button button id="btn_reboot" class="btn btn-primary" style="float:right"
|
||||||
|
type="submit">Reboot</button>
|
||||||
|
|
||||||
<input id="save-nvs" type="button" class="btn btn-success" value="Commit">
|
<input id="save-nvs" type="button" class="btn btn-success" value="Commit">
|
||||||
<input id="save-as-nvs" type="button" class="btn btn-success" value="Download config">
|
<input id="save-as-nvs" type="button" class="btn btn-success" value="Download config">
|
||||||
@@ -228,21 +244,26 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="form-check">
|
<div class="form-check">
|
||||||
<label class="form-check-label">
|
<label class="form-check-label">
|
||||||
<input class="form-check-input" type="checkbox" id="disable-squeezelite" value=""
|
<input class="form-check-input" type="checkbox" id="disable-squeezelite"
|
||||||
checked="">
|
value="" checked="">
|
||||||
Disable Squeezelite
|
Disable Squeezelite
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-top: 16px;">
|
<div style="margin-top: 16px;">
|
||||||
<div class="toast hide" role="alert" aria-live="assertive" aria-atomic="true" id="toast_cfg-audio-tmpl">
|
<div class="toast hide" role="alert" aria-live="assertive" aria-atomic="true"
|
||||||
|
id="toast_cfg-audio-tmpl">
|
||||||
<div class="toast-header"><strong class="mr-auto">Result</strong>
|
<div class="toast-header"><strong class="mr-auto">Result</strong>
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button></div>
|
<button type="button" class="btn-close" data-bs-dismiss="toast"
|
||||||
|
aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
<div class="toast-body" id="msg_cfg-audio-tmpl"></div>
|
<div class="toast-body" id="msg_cfg-audio-tmpl"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button id="save-autoexec1" type="submit" class="btn btn-info" cmdname="cfg-audio-tmpl">Save</button>
|
<button id="save-autoexec1" type="submit" class="btn btn-info"
|
||||||
<button id="commit-autoexec1" type="submit" class="btn btn-warning" cmdname="cfg-audio-tmpl">Apply</button>
|
cmdname="cfg-audio-tmpl">Save</button>
|
||||||
|
<button id="commit-autoexec1" type="submit" class="btn btn-warning"
|
||||||
|
cmdname="cfg-audio-tmpl">Apply</button>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -275,7 +296,8 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title">Disconnect</h5>
|
<h5 class="modal-title">Disconnect</h5>
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
<button type="button" class="btn-close" data-bs-dismiss="modal"
|
||||||
|
aria-label="Close"></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>Disconnect from network? After disconnecting, the system won't be accessible from
|
<p>Disconnect from network? After disconnecting, the system won't be accessible from
|
||||||
@@ -283,8 +305,10 @@
|
|||||||
id="apName"></span> with password <span id="apPass"></span> </p>
|
id="apName"></span> with password <span id="apPass"></span> </p>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer connecting-success connecting-status">
|
<div class="modal-footer connecting-success connecting-status">
|
||||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
|
<button type="button" class="btn btn-secondary"
|
||||||
<button id="btn_disconnect" type="button" class="btn btn-warning" data-bs-dismiss="modal">Ok</button>
|
data-bs-dismiss="modal">Cancel</button>
|
||||||
|
<button id="btn_disconnect" type="button" class="btn btn-warning"
|
||||||
|
data-bs-dismiss="modal">Ok</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -293,14 +317,17 @@
|
|||||||
<div class="modal-dialog ">
|
<div class="modal-dialog ">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title connecting connecting-init connecting-fail">Connect to WiFi</h5>
|
<h5 class="modal-title connecting connecting-init connecting-fail">Connect to WiFi
|
||||||
|
</h5>
|
||||||
<h5 class="modal-title connecting-status connecting-success">Status</h5>
|
<h5 class="modal-title connecting-status connecting-success">Status</h5>
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
<button type="button" class="btn-close" data-bs-dismiss="modal"
|
||||||
|
aria-label="Close"></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<fieldset class="connecting-init connecting-fail">
|
<fieldset class="connecting-init connecting-fail">
|
||||||
<div class="form-group"><label for="manual_ssid">Wifi Name</label><input type="text"
|
<div class="form-group"><label for="manual_ssid">Wifi Name</label><input
|
||||||
class="form-control" placeholder="Enter Name" id="manual_ssid"></div>
|
type="text" class="form-control" placeholder="Enter Name"
|
||||||
|
id="manual_ssid"></div>
|
||||||
<div class="form-group"><label for="manual_pwd">Password</label><input
|
<div class="form-group"><label for="manual_pwd">Password</label><input
|
||||||
type="password" class="form-control" placeholder="Enter Name"
|
type="password" class="form-control" placeholder="Enter Name"
|
||||||
id="manual_pwd"></div>
|
id="manual_pwd"></div>
|
||||||
@@ -338,9 +365,12 @@
|
|||||||
<span class="sr-only">Connecting...</span></button>
|
<span class="sr-only">Connecting...</span></button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="modal-footer connecting-success connecting-status justify-content-between" style=""><button type="button"
|
<div class="modal-footer connecting-success connecting-status justify-content-between"
|
||||||
class="btn btn-primary" data-bs-dismiss="modal">Ok</button><button type="button" class="btn btn-danger"
|
style=""><button type="button" class="btn btn-primary"
|
||||||
data-bs-toggle="modal" data-bs-dismiss="modal" data-bs-target="#WiFiDisconnectConfirm">Disconnect</button>
|
data-bs-dismiss="modal">Ok</button><button type="button" class="btn btn-danger"
|
||||||
|
data-bs-toggle="modal" data-bs-dismiss="modal"
|
||||||
|
data-bs-target="#WiFiDisconnectConfirm">Disconnect</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -480,8 +510,8 @@
|
|||||||
<div class="fixed-bottom d-flex justify-content-between border-top border-dark p-3 bg-primary">
|
<div class="fixed-bottom d-flex justify-content-between border-top border-dark p-3 bg-primary">
|
||||||
<span class="text-center" id="foot-fw"></span><button class="btn-warning ota_element " id="reboot_nav"
|
<span class="text-center" id="foot-fw"></span><button class="btn-warning ota_element " id="reboot_nav"
|
||||||
type="submit" style="display: none;">Reboot</button>
|
type="submit" style="display: none;">Reboot</button>
|
||||||
<button class="btn-warning recovery_element" id="reboot_ota_nav" type="submit"
|
<button class="btn-warning recovery_element" id="reboot_ota_nav" type="submit" style="display: none;">Exit
|
||||||
style="display: none;">Exit Recovery</button><span class="text-center" id="foot-if"></span>
|
Recovery</button><span class="text-center" id="foot-if"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</footer>
|
</footer>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
target_add_binary_data( __idf_wifi-manager webapp/dist/css/index.f2de74635f23b31fbdce.css.gz BINARY)
|
target_add_binary_data( __idf_wifi-manager webapp/dist/css/index.f2de74635f23b31fbdce.css.gz BINARY)
|
||||||
target_add_binary_data( __idf_wifi-manager webapp/dist/favicon-32x32.png BINARY)
|
target_add_binary_data( __idf_wifi-manager webapp/dist/favicon-32x32.png BINARY)
|
||||||
target_add_binary_data( __idf_wifi-manager webapp/dist/index.html.gz BINARY)
|
target_add_binary_data( __idf_wifi-manager webapp/dist/index.html.gz BINARY)
|
||||||
target_add_binary_data( __idf_wifi-manager webapp/dist/js/index.0ee146.bundle.js.gz BINARY)
|
target_add_binary_data( __idf_wifi-manager webapp/dist/js/index.83664b.bundle.js.gz BINARY)
|
||||||
target_add_binary_data( __idf_wifi-manager webapp/dist/js/node_vendors.0ee146.bundle.js.gz BINARY)
|
target_add_binary_data( __idf_wifi-manager webapp/dist/js/node_vendors.83664b.bundle.js.gz BINARY)
|
||||||
|
|||||||
@@ -6,29 +6,29 @@ extern const uint8_t _favicon_32x32_png_start[] asm("_binary_favicon_32x32_png_s
|
|||||||
extern const uint8_t _favicon_32x32_png_end[] asm("_binary_favicon_32x32_png_end");
|
extern const uint8_t _favicon_32x32_png_end[] asm("_binary_favicon_32x32_png_end");
|
||||||
extern const uint8_t _index_html_gz_start[] asm("_binary_index_html_gz_start");
|
extern const uint8_t _index_html_gz_start[] asm("_binary_index_html_gz_start");
|
||||||
extern const uint8_t _index_html_gz_end[] asm("_binary_index_html_gz_end");
|
extern const uint8_t _index_html_gz_end[] asm("_binary_index_html_gz_end");
|
||||||
extern const uint8_t _index_0ee146_bundle_js_gz_start[] asm("_binary_index_0ee146_bundle_js_gz_start");
|
extern const uint8_t _index_83664b_bundle_js_gz_start[] asm("_binary_index_83664b_bundle_js_gz_start");
|
||||||
extern const uint8_t _index_0ee146_bundle_js_gz_end[] asm("_binary_index_0ee146_bundle_js_gz_end");
|
extern const uint8_t _index_83664b_bundle_js_gz_end[] asm("_binary_index_83664b_bundle_js_gz_end");
|
||||||
extern const uint8_t _node_vendors_0ee146_bundle_js_gz_start[] asm("_binary_node_vendors_0ee146_bundle_js_gz_start");
|
extern const uint8_t _node_vendors_83664b_bundle_js_gz_start[] asm("_binary_node_vendors_83664b_bundle_js_gz_start");
|
||||||
extern const uint8_t _node_vendors_0ee146_bundle_js_gz_end[] asm("_binary_node_vendors_0ee146_bundle_js_gz_end");
|
extern const uint8_t _node_vendors_83664b_bundle_js_gz_end[] asm("_binary_node_vendors_83664b_bundle_js_gz_end");
|
||||||
const char * resource_lookups[] = {
|
const char * resource_lookups[] = {
|
||||||
"/css/index.f2de74635f23b31fbdce.css.gz",
|
"/css/index.f2de74635f23b31fbdce.css.gz",
|
||||||
"/favicon-32x32.png",
|
"/favicon-32x32.png",
|
||||||
"/index.html.gz",
|
"/index.html.gz",
|
||||||
"/js/index.0ee146.bundle.js.gz",
|
"/js/index.83664b.bundle.js.gz",
|
||||||
"/js/node_vendors.0ee146.bundle.js.gz",
|
"/js/node_vendors.83664b.bundle.js.gz",
|
||||||
""
|
""
|
||||||
};
|
};
|
||||||
const uint8_t * resource_map_start[] = {
|
const uint8_t * resource_map_start[] = {
|
||||||
_index_f2de74635f23b31fbdce_css_gz_start,
|
_index_f2de74635f23b31fbdce_css_gz_start,
|
||||||
_favicon_32x32_png_start,
|
_favicon_32x32_png_start,
|
||||||
_index_html_gz_start,
|
_index_html_gz_start,
|
||||||
_index_0ee146_bundle_js_gz_start,
|
_index_83664b_bundle_js_gz_start,
|
||||||
_node_vendors_0ee146_bundle_js_gz_start
|
_node_vendors_83664b_bundle_js_gz_start
|
||||||
};
|
};
|
||||||
const uint8_t * resource_map_end[] = {
|
const uint8_t * resource_map_end[] = {
|
||||||
_index_f2de74635f23b31fbdce_css_gz_end,
|
_index_f2de74635f23b31fbdce_css_gz_end,
|
||||||
_favicon_32x32_png_end,
|
_favicon_32x32_png_end,
|
||||||
_index_html_gz_end,
|
_index_html_gz_end,
|
||||||
_index_0ee146_bundle_js_gz_end,
|
_index_83664b_bundle_js_gz_end,
|
||||||
_node_vendors_0ee146_bundle_js_gz_end
|
_node_vendors_83664b_bundle_js_gz_end
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/***********************************
|
/***********************************
|
||||||
webpack_headers
|
webpack_headers
|
||||||
dist/css/index.f2de74635f23b31fbdce.css.gz,dist/favicon-32x32.png,dist/index.html.gz,dist/js/index.0ee146.bundle.js.gz,dist/js/node_vendors.0ee146.bundle.js.gz
|
dist/css/index.f2de74635f23b31fbdce.css.gz,dist/favicon-32x32.png,dist/index.html.gz,dist/js/index.83664b.bundle.js.gz,dist/js/node_vendors.83664b.bundle.js.gz
|
||||||
***********************************/
|
***********************************/
|
||||||
#pragma once
|
#pragma once
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
|
|||||||
Reference in New Issue
Block a user