Merge branch 'devel'
This commit is contained in:
commit
a4f8fb89bd
201
LICENSE
Normal file
201
LICENSE
Normal file
@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
@ -12,6 +12,7 @@ import net.Broken.Tools.UserManager.UserUtils;
|
||||
import net.dv8tion.jda.core.Permission;
|
||||
import net.dv8tion.jda.core.entities.Guild;
|
||||
import net.dv8tion.jda.core.entities.User;
|
||||
import org.apache.http.HttpResponse;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -137,6 +138,18 @@ public class UserManagerAPIController {
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping(value = "/checkToken", method = RequestMethod.GET)
|
||||
public ResponseEntity checkToken(@CookieValue(value = "token") String token){
|
||||
try{
|
||||
userUtils.getUserWithApiToken(userRepository,token);
|
||||
return new ResponseEntity(HttpStatus.OK);
|
||||
} catch (UnknownTokenException e) {
|
||||
logger.info("Token check fail");
|
||||
return new ResponseEntity(HttpStatus.UNAUTHORIZED);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -9,3 +9,12 @@
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
body {
|
||||
display: flex;
|
||||
min-height: 100vh;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
main {
|
||||
flex: 1 0 auto;
|
||||
}
|
@ -38,12 +38,7 @@ $(document).ready(function() {
|
||||
btn_disconnect = $(".nav-disconnect");
|
||||
nav_name = $("#nav-name");
|
||||
navListeners();
|
||||
if(Cookies.get('token') === undefined){
|
||||
disconnected()
|
||||
}
|
||||
else{
|
||||
connected();
|
||||
}
|
||||
|
||||
|
||||
checkConnection();
|
||||
|
||||
@ -69,20 +64,16 @@ function popInSubmit(){
|
||||
|
||||
function connected(){
|
||||
console.log("Connected!");
|
||||
nav_bar_account_link.html(connected_link);
|
||||
$('.dropdown-account').dropdown({
|
||||
constrainWidth: false, // Does not change width of dropdown to that of the activator
|
||||
coverTrigger: false, // Displays dropdown below the button
|
||||
alignment: 'left', // Displays dropdown with edge aligned to the left of button
|
||||
stopPropagation: false // Stops event propagation
|
||||
}
|
||||
);
|
||||
nav_name.text(Cookies.get('name'));
|
||||
if (typeof needLogin !== 'undefined') {
|
||||
if (Cookies.get('guild') === undefined) {
|
||||
getGuild()
|
||||
}
|
||||
console.log("Checking token...");
|
||||
console.log(window.location.href);
|
||||
if(!window.location.href.includes("oauthCallback")){
|
||||
checkToken();
|
||||
}
|
||||
else{
|
||||
console.log("Oauth page skip check token");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
function disconnected() {
|
||||
@ -112,7 +103,7 @@ function tryConnection() {
|
||||
console.log(data);
|
||||
Cookies.set('token',data.token, { expires: 31 });
|
||||
Cookies.set('name', data.name, { expires: 31 });
|
||||
debugger;
|
||||
|
||||
window.location.reload(true);
|
||||
}
|
||||
|
||||
@ -223,6 +214,15 @@ function checkConnection() {
|
||||
url: "/api/isReady",
|
||||
success: function (data) {
|
||||
console.log("Connection Ok");
|
||||
console.log(Cookies.get('token'));
|
||||
|
||||
if(Cookies.get('token') === undefined){
|
||||
disconnected()
|
||||
}
|
||||
else{
|
||||
connected();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}).fail(function (data) {
|
||||
@ -230,4 +230,44 @@ function checkConnection() {
|
||||
$('#modal_internet').modal('open');
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function checkToken() {
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: "/api/userManagement/checkToken",
|
||||
success: function (data) {
|
||||
console.debug("...token is valid.");
|
||||
nav_bar_account_link.html(connected_link);
|
||||
$('.dropdown-account').dropdown({
|
||||
constrainWidth: false, // Does not change width of dropdown to that of the activator
|
||||
coverTrigger: false, // Displays dropdown below the button
|
||||
alignment: 'left', // Displays dropdown with edge aligned to the left of button
|
||||
stopPropagation: false // Stops event propagation
|
||||
}
|
||||
);
|
||||
nav_name.text(Cookies.get('name'));
|
||||
if (typeof needLogin !== 'undefined') {
|
||||
if (Cookies.get('guild') === undefined) {
|
||||
getGuild()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}).fail(function (data) {
|
||||
console.error("...token is invalid !");
|
||||
console.log(data);
|
||||
|
||||
Cookies.remove('token');
|
||||
Cookies.remove('name');
|
||||
Cookies.remove('guild');
|
||||
window.location.reload(true);
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@ -15,6 +15,6 @@
|
||||
],
|
||||
"start_url": "/",
|
||||
"display": "standalone",
|
||||
"theme_color": "#263238",
|
||||
"theme_color": "#3e2723",
|
||||
"background_color": "#263238"
|
||||
}
|
@ -19,12 +19,14 @@
|
||||
.row.valign-wrapper {
|
||||
display: inherit;
|
||||
}
|
||||
img{
|
||||
|
||||
img {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 992px) {
|
||||
img{
|
||||
img {
|
||||
width: 70%;
|
||||
}
|
||||
}
|
||||
@ -35,40 +37,43 @@
|
||||
|
||||
</head>
|
||||
|
||||
<body class="blue-grey lighten-5" >
|
||||
<body class="blue-grey lighten-5">
|
||||
|
||||
<div th:replace="header :: header ('home',${guild_name},${redirect_url}, ${isAdmin})">...</div>
|
||||
<header>
|
||||
<div th:replace="header :: header ('home',${guild_name},${redirect_url}, ${isAdmin})">...</div>
|
||||
</header>
|
||||
|
||||
|
||||
<main>
|
||||
<div class="section no-pad-bot main" id="index-banner">
|
||||
|
||||
<div class="center row ">
|
||||
<div class="row center valign-wrapper ">
|
||||
<div class="col l6 m12 s12">
|
||||
<h2 class="red-text text-darken-2" style="font-weight: 1000">STOP !</h2>
|
||||
<h3 class=" blue-grey-text "><b>Who are you ??? Why are you here ???</b></h3>
|
||||
|
||||
|
||||
|
||||
<div class="section no-pad-bot main" id="index-banner">
|
||||
|
||||
<div class="center row " >
|
||||
<div class="row center valign-wrapper ">
|
||||
<div class="col l6 m12 s12">
|
||||
<h2 class="red-text text-darken-2" style="font-weight: 1000">STOP !</h2>
|
||||
<h3 class=" blue-grey-text "><b>Who are you ??? Why are you here ???</b></h3>
|
||||
|
||||
|
||||
<a class="btn btn-large light-green darken-3 waves-effect" href="/">
|
||||
<i class="large material-icons">home</i>
|
||||
</a>
|
||||
<h6 class=" blue-grey-text ">403 – Forbidden</h6>
|
||||
<a class="btn btn-large light-green darken-3 waves-effect" href="/">
|
||||
<i class="large material-icons">home</i>
|
||||
</a>
|
||||
<h6 class=" blue-grey-text ">403 – Forbidden</h6>
|
||||
</div>
|
||||
<div class="col l6 m12 s12">
|
||||
<img class="" src="/img/403.gif" style="border:none;outline: none"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col l6 m12 s12">
|
||||
<img class="" src="/img/403.gif" style="border:none;outline: none"/>
|
||||
<div class="row">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="page-footer" style="padding: 0">
|
||||
<div th:replace="footer :: footer">...</div>
|
||||
</footer>
|
||||
|
||||
<!-- Scripts-->
|
||||
<script th:src="@{/js/jquery-3.3.1.min.js}"></script>
|
||||
|
@ -18,39 +18,42 @@
|
||||
|
||||
</head>
|
||||
|
||||
<body class="blue-grey lighten-5" >
|
||||
<body class="blue-grey lighten-5">
|
||||
|
||||
<div th:replace="header :: header ('home',${guild_name},${redirect_url}, ${isAdmin})">...</div>
|
||||
<header>
|
||||
<div th:replace="header :: header ('home',${guild_name},${redirect_url}, ${isAdmin})">...</div>
|
||||
</header>
|
||||
|
||||
|
||||
<main>
|
||||
<div class="section no-pad-bot main" id="index-banner">
|
||||
|
||||
|
||||
|
||||
<div class="section no-pad-bot main" id="index-banner">
|
||||
|
||||
<div class="center row">
|
||||
<div class="row center">
|
||||
<div class="col l6 m12 s12">
|
||||
<h2 class="red-text text-darken-2" style="font-weight: 1000" >Oops !</h2>
|
||||
<h3 class=" blue-grey-text "><b>You are lost !</b></h3>
|
||||
<h3 class=" blue-grey-text "><b>Page not found !</b></h3>
|
||||
<a class="btn btn-large light-green darken-3 waves-effect" href="/">
|
||||
<i class="large material-icons">home</i>
|
||||
</a>
|
||||
<h6 class=" blue-grey-text ">404 – Not Found</h6>
|
||||
<div class="center row">
|
||||
<div class="row center">
|
||||
<div class="col l6 m12 s12">
|
||||
<h2 class="red-text text-darken-2" style="font-weight: 1000">Oops !</h2>
|
||||
<h3 class=" blue-grey-text "><b>You are lost !</b></h3>
|
||||
<h3 class=" blue-grey-text "><b>Page not found !</b></h3>
|
||||
<a class="btn btn-large light-green darken-3 waves-effect" href="/">
|
||||
<i class="large material-icons">home</i>
|
||||
</a>
|
||||
<h6 class=" blue-grey-text ">404 – Not Found</h6>
|
||||
</div>
|
||||
<div class="col l6 m12 s12">
|
||||
<img class="" src="/img/404.gif" style="border:none;outline: none"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col l6 m12 s12">
|
||||
<img class="" src="/img/404.gif" style="border:none;outline: none"/>
|
||||
<div class="row">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="page-footer" style="padding: 0">
|
||||
<div th:replace="footer :: footer">...</div>
|
||||
</footer>
|
||||
|
||||
<!-- Scripts-->
|
||||
<script th:src="@{/js/jquery-3.3.1.min.js}"></script>
|
||||
|
@ -19,12 +19,14 @@
|
||||
.row.valign-wrapper {
|
||||
display: inherit;
|
||||
}
|
||||
img{
|
||||
|
||||
img {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 992px) {
|
||||
img{
|
||||
img {
|
||||
width: 70%;
|
||||
}
|
||||
}
|
||||
@ -35,37 +37,42 @@
|
||||
|
||||
</head>
|
||||
|
||||
<body class="blue-grey lighten-5" >
|
||||
<body class="blue-grey lighten-5">
|
||||
|
||||
<div th:replace="header :: header ('home',${guild_name},${redirect_url}, ${isAdmin})">...</div>
|
||||
<header>
|
||||
<div th:replace="header :: header ('home',${guild_name},${redirect_url}, ${isAdmin})">...</div>
|
||||
</header>
|
||||
|
||||
|
||||
<main>
|
||||
<div class="section no-pad-bot main" id="index-banner">
|
||||
|
||||
<div class="center row ">
|
||||
<div class="row center valign-wrapper ">
|
||||
<div class="col l6 m12 s12">
|
||||
<h2 class="red-text text-darken-2 " style="font-weight: 1000">Well...</h2>
|
||||
<h3 class=" blue-grey-text ">Something was wrong with the server... </h3>
|
||||
<h2 class=" blue-grey-text "><i class="fas fa-grin-beam-sweat"></i></h2>
|
||||
|
||||
|
||||
<div class="section no-pad-bot main" id="index-banner">
|
||||
|
||||
<div class="center row " >
|
||||
<div class="row center valign-wrapper ">
|
||||
<div class="col l6 m12 s12">
|
||||
<h2 class="red-text text-darken-2 " style="font-weight: 1000">Well...</h2>
|
||||
<h3 class=" blue-grey-text ">Something was wrong with the server... </h3>
|
||||
<h2 class=" blue-grey-text "><i class="fas fa-grin-beam-sweat"></i></h2>
|
||||
|
||||
<a class="btn btn-large light-green darken-3 waves-effect" href="/">
|
||||
<i class="large material-icons">home</i>
|
||||
</a>
|
||||
<h6 class=" blue-grey-text ">500 – Internal Server Error</h6>
|
||||
</div>
|
||||
<div class="col l6 m12 s12">
|
||||
<img class="" src="/img/500.gif" style="border:none;outline: none"/>
|
||||
<a class="btn btn-large light-green darken-3 waves-effect" href="/">
|
||||
<i class="large material-icons">home</i>
|
||||
</a>
|
||||
<h6 class=" blue-grey-text ">500 – Internal Server Error</h6>
|
||||
</div>
|
||||
<div class="col l6 m12 s12">
|
||||
<img class="" src="/img/500.gif" style="border:none;outline: none"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
|
||||
<footer class="page-footer" style="padding: 0">
|
||||
<div th:replace="footer :: footer">...</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<!-- Scripts-->
|
||||
<script th:src="@{/js/jquery-3.3.1.min.js}"></script>
|
||||
|
21
src/main/resources/templates/footer.html
Normal file
21
src/main/resources/templates/footer.html
Normal file
@ -0,0 +1,21 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns:th="http://www.thymeleaf.org">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<link href="../static/css/materialize.css" type="text/css" rel="stylesheet" media="screen,projection"/>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="footer-copyright brown darken-4" th:fragment="footer">
|
||||
<div class="container">
|
||||
© 2018 Sebastien Clement
|
||||
<a class="grey-text text-lighten-4 right" href="https://github.com/BrokenFire/ClaptrapBot" target="_blank">GitHub</a>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -11,11 +11,12 @@
|
||||
<!-- AND -->
|
||||
<!-- LOGIN -->
|
||||
<!--__________________________________________________________-->
|
||||
<link href="css/materialize.css" type="text/css" rel="stylesheet" media="screen,projection"/>
|
||||
<link href="../static/css/materialize.css" type="text/css" rel="stylesheet" media="screen,projection"/>
|
||||
|
||||
<div th:fragment="header (page, guild_name, redirect_url, isAdmin)">
|
||||
<nav class="blue-grey darken-4 z-depth-3" role="navigation" >
|
||||
<nav class="brown darken-4 z-depth-3" role="navigation" >
|
||||
<div class="nav-wrapper container">
|
||||
<a id="logo-container" href="/" class="brand-logo" style="white-space: nowrap">Claptrap Bot</a>
|
||||
<b><a id="logo-container" href="/" class="brand-logo" style="white-space: nowrap">Claptrap Bot</a></b>
|
||||
<ul class="right hide-on-med-and-down">
|
||||
<li>
|
||||
<a class="nav-change-guild truncate waves-effect waves-light btn-flat grey-text text-darken-1" th:text="${guild_name}" style="margin-top: 2px;margin-right: 0px;"></a>
|
||||
|
@ -18,18 +18,25 @@
|
||||
|
||||
</head>
|
||||
|
||||
<body class="blue-grey lighten-5" >
|
||||
<body class="blue-grey lighten-5">
|
||||
<header>
|
||||
<div th:replace="header :: header ('home',${guild_name},${redirect_url}, ${isAdmin})">...</div>
|
||||
</header>
|
||||
|
||||
<div th:replace="header :: header ('home',${guild_name},${redirect_url}, ${isAdmin})">...</div>
|
||||
<main>
|
||||
<div class="section no-pad-bot main" id="index-banner">
|
||||
<div class="center center-align">
|
||||
<h2>Home Page</h2>
|
||||
<h1>Coming Soon</h1>
|
||||
<img src="/favicon.png" class="responsive-img"/>
|
||||
</div>
|
||||
|
||||
<div class="section no-pad-bot main" id="index-banner">
|
||||
<div class="center center-align">
|
||||
<h2>Home Page</h2>
|
||||
<h1>Coming Soon</h1>
|
||||
<img src="/favicon.png" class="responsive-img"/>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
<footer class="page-footer" style="padding: 0">
|
||||
<div th:replace="footer :: footer">...</div>
|
||||
</footer>
|
||||
<script>
|
||||
var needLogin = true;
|
||||
</script>
|
||||
|
@ -15,18 +15,20 @@
|
||||
<meta name="theme-color" content="#263238"/>
|
||||
</head>
|
||||
|
||||
<body class="blue-grey lighten-5" >
|
||||
<body class="blue-grey lighten-5">
|
||||
|
||||
<!--__________________________________________________________-->
|
||||
<!-- NAV BAR -->
|
||||
<!-- AND -->
|
||||
<!-- LOGIN -->
|
||||
<!--__________________________________________________________-->
|
||||
<nav class="blue-grey darken-4 z-depth-3" role="navigation">
|
||||
<div class="nav-wrapper container">
|
||||
<a id="logo-container" href="/" class="brand-logo">Claptrap Bot</a>
|
||||
</div>
|
||||
</nav>
|
||||
<header>
|
||||
<nav class="brown darken-4 z-depth-3" role="navigation">
|
||||
<div class="nav-wrapper container">
|
||||
<a id="logo-container" href="/" class="brand-logo center">Claptrap Bot</a>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<!--__________________________________________________________-->
|
||||
<!-- -->
|
||||
@ -34,30 +36,36 @@
|
||||
<!-- -->
|
||||
<!--__________________________________________________________-->
|
||||
|
||||
<div class="section no-pad-bot main" id="index-banner">
|
||||
<div class="row center center-align">
|
||||
<h3 class="">Bot is starting</h3>
|
||||
</div>
|
||||
<div class="row center" >
|
||||
<div class="preloader-wrapper big active">
|
||||
<div class="spinner-layer spinner-blue-only">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
<main>
|
||||
<div class="section no-pad-bot main" id="index-banner">
|
||||
<div class="row center center-align">
|
||||
<h3 class="">Bot is starting</h3>
|
||||
</div>
|
||||
<div class="row center">
|
||||
<div class="preloader-wrapper big active">
|
||||
<div class="spinner-layer spinner-blue-only">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row center center-align">
|
||||
<h3>Please wait</h3>
|
||||
</div>
|
||||
<div class="row center center-align">
|
||||
<h3>Please wait</h3>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="page-footer" style="padding: 0">
|
||||
<div th:replace="footer :: footer">...</div>
|
||||
</footer>
|
||||
|
||||
<!-- Scripts-->
|
||||
<script th:src="@{/js/jquery-3.3.1.min.js}"></script>
|
||||
|
@ -56,318 +56,333 @@
|
||||
<!--/*@thymesVar id="guild_name" type="java.lang.String"*/-->
|
||||
<!--/*@thymesVar id="redirect_url" type="java.lang.String"*/-->
|
||||
<!--/*@thymesVar id="isAdmin" type="java.lang.Boolean"*/-->
|
||||
<div th:replace="header :: header ('music',${guild_name},${redirect_url}, ${isAdmin})">...</div>
|
||||
<div class="section no-pad-bot main" id="index-banner">
|
||||
<div class="row">
|
||||
<div class="col l8 s12 m12">
|
||||
<div class="row center">
|
||||
<img class="responsive-img z-depth-3" id="music_img" style="max-width: 30%"
|
||||
src="/img/disconnected.png"/>
|
||||
</div>
|
||||
<h4 class="center" id="music_text"></h4>
|
||||
<div class="row center" style="margin-bottom: 0px">
|
||||
<div class="progress col l6 offset-l3 m10 offset-m1 s10 offset-s1 z-depth-3">
|
||||
<div class="determinate" id="music_progress" style="width: 0%"></div>
|
||||
<header>
|
||||
<div th:replace="header :: header ('music',${guild_name},${redirect_url}, ${isAdmin})">...</div>
|
||||
</header>
|
||||
<main>
|
||||
<div class="section no-pad-bot main" id="index-banner">
|
||||
<div class="row">
|
||||
<div class="col l8 s12 m12">
|
||||
<div class="row center">
|
||||
<img class="responsive-img z-depth-3" id="music_img" style="max-width: 30%"
|
||||
src="/img/disconnected.png"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row center">
|
||||
<div class="col l2 offset-l3 m2 offset-m1 s2 offset-s1 left-align" style="padding: 0px"
|
||||
id="current_time">0:00
|
||||
<h4 class="center" id="music_text"></h4>
|
||||
<div class="row center" style="margin-bottom: 0px">
|
||||
<div class="progress col l6 offset-l3 m10 offset-m1 s10 offset-s1 z-depth-3">
|
||||
<div class="determinate" id="music_progress" style="width: 0%"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col l2 offset-l2 m2 offset-m6 s2 offset-s6 right-align " style="padding: 0px"
|
||||
id="total_time">0:00
|
||||
<div class="row center">
|
||||
<div class="col l2 offset-l3 m2 offset-m1 s2 offset-s1 left-align" style="padding: 0px"
|
||||
id="current_time">0:00
|
||||
</div>
|
||||
<div class="col l2 offset-l2 m2 offset-m6 s2 offset-s6 right-align " style="padding: 0px"
|
||||
id="total_time">0:00
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row center">
|
||||
<div class="col l2 offset-l3 m4 s4 center">
|
||||
<a class="btn-large red darken-4 z-depth-3 waves-effect waves-light ctl-btn" id="btn_stop">
|
||||
<i class="material-icons medium">stop</i>
|
||||
</a>
|
||||
<div class="row center">
|
||||
<div class="col l2 offset-l3 m4 s4 center">
|
||||
<a class="btn-large red darken-4 z-depth-3 waves-effect waves-light ctl-btn" id="btn_stop">
|
||||
<i class="material-icons medium">stop</i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col l2 m4 s4 center">
|
||||
<a class="btn-large green darken-4 z-depth-3 waves-effect waves-light ctl-btn" id="btn_play">
|
||||
<i class="material-icons medium">play_arrow</i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col l2 m4 s4 center">
|
||||
<a class="btn-large light-blue darken-4 z-depth-3 waves-effect waves-light ctl-btn"
|
||||
id="btn_next">
|
||||
<i class="material-icons">skip_next</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col l2 m4 s4 center">
|
||||
<a class="btn-large green darken-4 z-depth-3 waves-effect waves-light ctl-btn" id="btn_play">
|
||||
<i class="material-icons medium">play_arrow</i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col l2 m4 s4 center">
|
||||
<a class="btn-large light-blue darken-4 z-depth-3 waves-effect waves-light ctl-btn" id="btn_next">
|
||||
<i class="material-icons">skip_next</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row center">
|
||||
<div class="row center">
|
||||
|
||||
<div class="col offset-l5 l2 m2 offset-m5 s2 offset-s5 center">
|
||||
<a class="btn black z-depth-3 waves-effect waves-light modal-trigger" href="#modal_current_info"
|
||||
id="btn_info">
|
||||
<i class="material-icons">info</i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col offset-l5 l2 m2 offset-m5 s2 offset-s5 center">
|
||||
<a class="btn black z-depth-3 waves-effect waves-light modal-trigger" href="#modal_current_info"
|
||||
id="btn_info">
|
||||
<i class="material-icons">info</i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="row center">
|
||||
<div class="col offset-l5 l2 m4 offset-m4 s4 offset-s4 center">
|
||||
<a class="btn-large red accent-4 z-depth-3 waves-effect waves-light ctl-btn" id="btn_disconnect">
|
||||
<i class="material-icons">call_end</i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="row center">
|
||||
<div class="col offset-l5 l2 m4 offset-m4 s4 offset-s4 center">
|
||||
<a class="btn-large red accent-4 z-depth-3 waves-effect waves-light ctl-btn"
|
||||
id="btn_disconnect">
|
||||
<i class="material-icons">call_end</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col l4 m12 s12">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="padding: 0px;">
|
||||
<div class="row center valign-wrapper" style="margin: 0px">
|
||||
<div class="col l3 m5 s5 center blue-grey-text text-darken-3"><h5><b>Playlist</b></h5>
|
||||
</div>
|
||||
<div class="col l3 m2 s2 center" style="padding-right: 0px; padding-left: 0px">
|
||||
<a class="waves-effect waves-light btn modal-trigger red darken-4 ctl-btn"
|
||||
id="flush_btn"><i class="material-icons">delete_sweep</i></a>
|
||||
</div>
|
||||
<div class="col l3 m2 s2 center" style="padding-right: 0px; padding-left: 0px">
|
||||
<!-- Modal Trigger -->
|
||||
<a class="waves-effect waves-light btn modal-trigger green darken-4" id="add_btn"
|
||||
href="#modalAdd"><i class="material-icons">add_circle_outline</i></a>
|
||||
</div>
|
||||
<div class="col l3 m2 s2 center " style="padding-left: 0px">
|
||||
<div class="row switch blue-grey-text text-darken-3" style="margin-bottom: 0px">
|
||||
AutoFlow
|
||||
</div>
|
||||
<div class="row switch tooltipped ctl-btn" data-position="bottom" data-delay="50"
|
||||
data-tooltip="Experimental!">
|
||||
<label>
|
||||
<input type="checkbox" id="autoflow"/>
|
||||
<span class="lever"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<ul id="playlist_list" class="collapsible popout" data-collapsible="accordion"
|
||||
style="margin: 0px">
|
||||
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Music -->
|
||||
<div id="modal_current_info" class="modal bottom-sheet">
|
||||
<div class="modal-content">
|
||||
<ul class="collection">
|
||||
<li class="collection-item " id="modal_title"></li>
|
||||
<li class="collection-item " id="modal_author"></li>
|
||||
<li class="collection-item " id="modal_lenght"></li>
|
||||
<li class="collection-item " id="modal_url"></li>
|
||||
<li class="collection-item " id="modal_submit"></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col l4 m12 s12">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="padding: 0px;">
|
||||
<div class="row center valign-wrapper" style="margin: 0px">
|
||||
<div class="col l3 m5 s5 center blue-grey-text text-darken-3"><h5><b>Playlist</b></h5></div>
|
||||
<div class="col l3 m2 s2 center" style="padding-right: 0px; padding-left: 0px">
|
||||
<a class="waves-effect waves-light btn modal-trigger red darken-4 ctl-btn"
|
||||
id="flush_btn"><i class="material-icons">delete_sweep</i></a>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!--Add Modal-->
|
||||
<div id="modalAdd" class="modal modal-fixed-footer ">
|
||||
<div class="modal-content" style="padding-bottom: 0px">
|
||||
<div class="row valign-wrapper">
|
||||
<h3 class="col l12 m12 s12 center"> Add Music</h3>
|
||||
</div>
|
||||
<div class="row" id="musicSearch" style="margin-bottom: 0px">
|
||||
<div class="row">
|
||||
<form class="col l12 m12 s12">
|
||||
<div class="row" style="margin-bottom: 0">
|
||||
<div class="input-field col offset-l1 l9 m9 s7"
|
||||
style="padding-left: 0px; padding-right: 0px">
|
||||
<!--<i class="material-icons prefix">link</i>-->
|
||||
<input id="input_search" type="text" class="validate"/>
|
||||
<label for="input_search">Search</label>
|
||||
</div>
|
||||
<div class="col l3 m2 s2 center" style="padding-right: 0px; padding-left: 0px">
|
||||
<!-- Modal Trigger -->
|
||||
<a class="waves-effect waves-light btn modal-trigger green darken-4" id="add_btn"
|
||||
href="#modalAdd"><i class="material-icons">add_circle_outline</i></a>
|
||||
<div class="input-field col l1 m2 s3" style="margin-top: 22px">
|
||||
<button class="btn waves-effect waves-light green darken-4 white-text" id="btn_search"
|
||||
type="button"><i class="material-icons">search</i></button>
|
||||
</div>
|
||||
<div class="col l3 m2 s2 center " style="padding-left: 0px">
|
||||
<div class="col l1 m1 s2 center" style="padding: 0; margin-top: 15px;">
|
||||
<div class="row switch blue-grey-text text-darken-3" style="margin-bottom: 0px">
|
||||
AutoFlow
|
||||
Playlist
|
||||
</div>
|
||||
<div class="row switch tooltipped ctl-btn" data-position="bottom" data-delay="50"
|
||||
data-tooltip="Experimental!">
|
||||
<div class="row switch">
|
||||
<label>
|
||||
<input type="checkbox" id="autoflow"/>
|
||||
<input type="checkbox" id="playlistSearch"/>
|
||||
<span class="lever"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<ul id="playlist_list" class="collapsible popout" data-collapsible="accordion"
|
||||
style="margin: 0px">
|
||||
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Music -->
|
||||
<div id="modal_current_info" class="modal bottom-sheet">
|
||||
<div class="modal-content">
|
||||
<ul class="collection">
|
||||
<li class="collection-item " id="modal_title"></li>
|
||||
<li class="collection-item " id="modal_author"></li>
|
||||
<li class="collection-item " id="modal_lenght"></li>
|
||||
<li class="collection-item " id="modal_url"></li>
|
||||
<li class="collection-item " id="modal_submit"></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!--Add Modal-->
|
||||
<div id="modalAdd" class="modal modal-fixed-footer ">
|
||||
<div class="modal-content" style="padding-bottom: 0px">
|
||||
<div class="row valign-wrapper">
|
||||
<h3 class="col l12 m12 s12 center"> Add Music</h3>
|
||||
</div>
|
||||
<div class="row" id="musicSearch" style="margin-bottom: 0px">
|
||||
<div class="row">
|
||||
<form class="col l12 m12 s12">
|
||||
<div class="row" style="margin-bottom: 0">
|
||||
<div class="input-field col offset-l1 l9 m9 s7" style="padding-left: 0px; padding-right: 0px">
|
||||
<!--<i class="material-icons prefix">link</i>-->
|
||||
<input id="input_search" type="text" class="validate"/>
|
||||
<label for="input_search">Search</label>
|
||||
</div>
|
||||
<div class="input-field col l1 m2 s3" style="margin-top: 22px">
|
||||
<button class="btn waves-effect waves-light green darken-4 white-text" id="btn_search"
|
||||
type="button"><i class="material-icons">search</i></button>
|
||||
</div>
|
||||
<div class="col l1 m1 s2 center" style="padding: 0; margin-top: 15px;">
|
||||
<div class="row switch blue-grey-text text-darken-3" style="margin-bottom: 0px">
|
||||
Playlist
|
||||
</div>
|
||||
<div class="row switch">
|
||||
<label>
|
||||
<input type="checkbox" id="playlistSearch"/>
|
||||
<span class="lever"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col s12 m12 l12 center scale-transition scale-out hide" id="search_load"
|
||||
style="margin-top: 25px">
|
||||
<div class="preloader-wrapper big active">
|
||||
<div class="spinner-layer spinner-blue-only">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
<div class="row">
|
||||
<div class="col s12 m12 l12 center scale-transition scale-out hide" id="search_load"
|
||||
style="margin-top: 25px">
|
||||
<div class="preloader-wrapper big active">
|
||||
<div class="spinner-layer spinner-blue-only">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="collection col l12 m12 s12 scale-transition scale-out" id="search_result"
|
||||
style="padding: 0">
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<ul class="collection col l12 m12 s12 scale-transition scale-out" id="search_result"
|
||||
style="padding: 0">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<div class="modal-footer">
|
||||
<span style="margin-right: 10px">
|
||||
<label>
|
||||
<input name="group1" type="radio" checked="checked" id="bottom"/>
|
||||
<span>Bottom</span>
|
||||
</label>
|
||||
</span>
|
||||
<span style="margin-right: 10px">
|
||||
<span style="margin-right: 10px">
|
||||
<label>
|
||||
<input name="group1" type="radio"/>
|
||||
<span>Top</span>
|
||||
</label>
|
||||
</span>
|
||||
<a href="#" class="modal-action modal-close waves-effect waves-green btn-flat">Close</a>
|
||||
<a href="#" class="modal-action modal-close waves-effect waves-green btn-flat">Close</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Playlist template-->
|
||||
<li id="playlist_template" style="visibility: hidden">
|
||||
<div class="collapsible-header"><i class="material-icons">drag_handle</i>@title</div>
|
||||
<div class="collapsible-body">
|
||||
<ul class="collection">
|
||||
<li class="collection-item">Author: @author</li>
|
||||
<li class="collection-item">Duration: @lenght</li>
|
||||
<li class="collection-item">URL: <a target="_blank" href="@url">@url</a></li>
|
||||
<li class="collection-item">Submitted by: @user</li>
|
||||
<li class="collection-item center">
|
||||
<a class="btn red darken-4 z-depth-3 waves-effect waves-light btn_dell_playlist" data_url="@url">
|
||||
<i class="material-icons medium">delete</i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<!-- Playlist template-->
|
||||
<li id="playlist_template" style="visibility: hidden">
|
||||
<div class="collapsible-header"><i class="material-icons">drag_handle</i>@title</div>
|
||||
<div class="collapsible-body">
|
||||
<ul class="collection">
|
||||
<li class="collection-item">Author: @author</li>
|
||||
<li class="collection-item">Duration: @lenght</li>
|
||||
<li class="collection-item">URL: <a target="_blank" href="@url">@url</a></li>
|
||||
<li class="collection-item">Submitted by: @user</li>
|
||||
<li class="collection-item center">
|
||||
<a class="btn red darken-4 z-depth-3 waves-effect waves-light btn_dell_playlist" data_url="@url">
|
||||
<i class="material-icons medium">delete</i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<!-- Modal Chanels -->
|
||||
<div id="modalChanels" class="modal">
|
||||
<div class="modal-content" style="padding-bottom: 0px">
|
||||
<div class="row" style="margin-bottom: 0px">
|
||||
<h3 class="col l12 m12 s12 center">Vocal Channels</h3>
|
||||
<div class="col offset-l4 l4 m4 offset-m4 s8 offset-s2 center">
|
||||
<form id="channelForm" action="#" class="left-align">
|
||||
</form>
|
||||
<!-- Modal Chanels -->
|
||||
<div id="modalChanels" class="modal">
|
||||
<div class="modal-content" style="padding-bottom: 0px">
|
||||
<div class="row" style="margin-bottom: 0px">
|
||||
<h3 class="col l12 m12 s12 center">Vocal Channels</h3>
|
||||
<div class="col offset-l4 l4 m4 offset-m4 s8 offset-s2 center">
|
||||
<form id="channelForm" action="#" class="left-align">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="/" class="modal-action modal-close waves-effect waves-red btn-flat ">Cancel</a>
|
||||
<a href="#!" id="btn_ok_channel" class="modal-action modal-close waves-effect waves-green btn-flat disabled">Connect</a>
|
||||
<div class="modal-footer">
|
||||
<a href="/" class="modal-action modal-close waves-effect waves-red btn-flat ">Cancel</a>
|
||||
<a href="#!" id="btn_ok_channel"
|
||||
class="modal-action modal-close waves-effect waves-green btn-flat disabled">Connect</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--Loading Modal-->
|
||||
<div id="modal_loading" class="modal valign-wrapper">
|
||||
<div class="modal-content">
|
||||
<div class="row center">
|
||||
<h3 class="col l12 m12 s12 center">Please wait</h3>
|
||||
</div>
|
||||
<div class="row center">
|
||||
<div class="preloader-wrapper big active">
|
||||
<div class="spinner-layer spinner-blue">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="spinner-layer spinner-red">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="spinner-layer spinner-yellow">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
<!--Loading Modal-->
|
||||
<div id="modal_loading" class="modal valign-wrapper">
|
||||
<div class="modal-content">
|
||||
<div class="row center">
|
||||
<h3 class="col l12 m12 s12 center">Please wait</h3>
|
||||
</div>
|
||||
<div class="row center">
|
||||
<div class="preloader-wrapper big active">
|
||||
<div class="spinner-layer spinner-blue">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="spinner-layer spinner-green">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
<div class="spinner-layer spinner-red">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
|
||||
<div class="spinner-layer spinner-yellow">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
|
||||
<div class="spinner-layer spinner-green">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<p id="radioTemplate" class="" style="visibility: hidden">
|
||||
<label>
|
||||
<input name="vocalRadio" class="with-gap" type="radio" value="@id" id="@id"/>
|
||||
<span for="@id">@name</span>
|
||||
</label>
|
||||
<p id="radioTemplate" class="" style="visibility: hidden">
|
||||
<label>
|
||||
<input name="vocalRadio" class="with-gap" type="radio" value="@id" id="@id"/>
|
||||
<span for="@id">@name</span>
|
||||
</label>
|
||||
|
||||
</p>
|
||||
</main>
|
||||
|
||||
|
||||
<footer class="page-footer" style="padding: 0">
|
||||
<div th:replace="footer :: footer">...</div>
|
||||
</footer>
|
||||
|
||||
</p>
|
||||
|
||||
<!-- Scripts-->
|
||||
<script th:src="@{/js/jquery-3.3.1.min.js}"></script>
|
||||
|
@ -17,32 +17,41 @@
|
||||
|
||||
</head>
|
||||
|
||||
<body class="blue-grey lighten-5" >
|
||||
<body class="blue-grey lighten-5">
|
||||
|
||||
<div th:replace="header :: header ('home',${guild_name},${redirect_url}, ${isAdmin})">...</div>
|
||||
<header>
|
||||
<div th:replace="header :: header ('home',${guild_name},${redirect_url}, ${isAdmin})">...</div>
|
||||
</header>
|
||||
|
||||
<div class="section no-pad-bot main" id="index-banner">
|
||||
<div class="row center" >
|
||||
<div class="preloader-wrapper big active">
|
||||
<div class="spinner-layer spinner-blue-only">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
|
||||
<main>
|
||||
<div class="section no-pad-bot main" id="index-banner">
|
||||
<div class="row center">
|
||||
<div class="preloader-wrapper big active">
|
||||
<div class="spinner-layer spinner-blue-only">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row center center-align">
|
||||
<h3>Please wait</h3>
|
||||
</div>
|
||||
<div class="row center center-align">
|
||||
<h3>Please wait</h3>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="page-footer" style="padding: 0">
|
||||
<div th:replace="footer :: footer">...</div>
|
||||
</footer>
|
||||
|
||||
<!-- Scripts-->
|
||||
<script th:src="@{/js/jquery-3.3.1.min.js}"></script>
|
||||
|
@ -14,12 +14,14 @@
|
||||
<meta name="theme-color" content="#263238"/>
|
||||
</head>
|
||||
|
||||
<body class="blue-grey lighten-5" >
|
||||
<body class="blue-grey lighten-5">
|
||||
|
||||
<header>
|
||||
<div th:replace="header :: header ('','',${redirect_url},${isAdmin})">...</div>
|
||||
</header>
|
||||
|
||||
|
||||
|
||||
<main>
|
||||
<div class="section no-pad-bot main" id="index-banner">
|
||||
<div class="row center">
|
||||
<div class="row">
|
||||
@ -53,14 +55,13 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s12">
|
||||
<a id="sendBtn" class="waves-effect waves-light btn scale-transition scale-out">Send<i class="material-icons left">send</i></a>
|
||||
<a id="sendBtn" class="waves-effect waves-light btn scale-transition scale-out">Send<i
|
||||
class="material-icons left">send</i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Modal Structure -->
|
||||
<div id="modalToken" class="modal">
|
||||
<div class="modal-content">
|
||||
@ -90,30 +91,30 @@
|
||||
<a href="#" id="preTokenSend" class="modal-action waves-effect waves-green btn scale-transition scale-out">Send</a>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
|
||||
<footer class="page-footer" style="padding: 0">
|
||||
<div th:replace="footer :: footer">...</div>
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
<script th:src="@{/js/jquery-3.3.1.min.js}"></script>
|
||||
<script th:src="@{/js/materialize.js}"></script>
|
||||
<script th:src="@{/js/register.js}"></script>
|
||||
<script th:src="@{/js/navabar.js}"></script>
|
||||
<script th:src="@{/js/js.cookie.js}"></script>
|
||||
<script th:src="@{/js/workerRegister.js}"></script>
|
||||
<script th:src="@{/js/fontawesome.js}"></script>
|
||||
<script th:src="@{/js/jquery-3.3.1.min.js}"></script>
|
||||
<script th:src="@{/js/materialize.js}"></script>
|
||||
<script th:src="@{/js/register.js}"></script>
|
||||
<script th:src="@{/js/navabar.js}"></script>
|
||||
<script th:src="@{/js/js.cookie.js}"></script>
|
||||
<script th:src="@{/js/workerRegister.js}"></script>
|
||||
<script th:src="@{/js/fontawesome.js}"></script>
|
||||
|
||||
|
||||
<script th:inline="javascript">
|
||||
/*<![CDATA[*/
|
||||
|
||||
var id = [[${id}]];
|
||||
console.log(id);
|
||||
|
||||
|
||||
<script th:inline="javascript">
|
||||
/*<![CDATA[*/
|
||||
|
||||
var id = [[${id}]];
|
||||
console.log(id);
|
||||
|
||||
/*]]>*/
|
||||
</script>
|
||||
/*]]>*/
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -18,124 +18,134 @@
|
||||
|
||||
</head>
|
||||
|
||||
<body class="blue-grey lighten-5" >
|
||||
<body class="blue-grey lighten-5">
|
||||
|
||||
<!--/*@thymesVar id="guild_name" type="java.lang.String"*/-->
|
||||
<!--/*@thymesVar id="redirect_url" type="java.lang.String"*/-->
|
||||
<!--/*@thymesVar id="settings" type="java.util.ArrayList<net.Broken.RestApi.Data.Settings.GetSettingsData>"*/-->
|
||||
|
||||
<!--/*@thymesVar id="isAdmin" type="java.lang.Boolean"*/-->
|
||||
<div th:replace="header :: header ('settings',${guild_name},${redirect_url}, ${isAdmin})">...</div>
|
||||
<header>
|
||||
<div th:replace="header :: header ('settings',${guild_name},${redirect_url}, ${isAdmin})">...</div>
|
||||
</header>
|
||||
|
||||
|
||||
<main>
|
||||
<div class="section no-pad-bot main" id="index-banner">
|
||||
<h2 class="center" th:text="${guild_name}"></h2>
|
||||
<div th:each="setting : ${settings}">
|
||||
<div class="section row">
|
||||
<div class="col l6 offset-l3 m10 offset-m1 s10 offset-s1">
|
||||
<h5 th:text="${setting.name}" style="font-weight: bold"></h5>
|
||||
<div class="switch" th:if="${setting.type.toString() == 'BOOL'}">
|
||||
<label>
|
||||
Off
|
||||
<input class="collect-switch" type="checkbox" th:id="${setting.id}"
|
||||
th:checked="${setting.current}"/>
|
||||
<span class="lever"></span>
|
||||
On
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div th:id="${setting.id}" class="input-field col l12 m12 s12 collect-select"
|
||||
th:if="${setting.type.toString() == 'LIST'}">
|
||||
<select>
|
||||
<option disabled="disabled" th:selected="${setting.current} == ' '" value="">Choose your
|
||||
option
|
||||
</option>
|
||||
<option th:each="val : ${setting.values}" th:value="${val.id}"
|
||||
th:text="${#strings.capitalize(val.name)}"
|
||||
th:selected="${setting.current} == ${val.id}"></option>
|
||||
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-field col l12 m12 s12 collect" th:if="${setting.type.toString() == 'STRING'}">
|
||||
<input th:id="${setting.id}" placeholder="Use @name variable" th:value="${setting.current}"
|
||||
id="first_name" type="text" class="validate collect-text"/>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="section no-pad-bot main" id="index-banner">
|
||||
<h2 class="center" th:text="${guild_name}"></h2>
|
||||
<div th:each="setting : ${settings}">
|
||||
<div class="section row">
|
||||
<div class="col l6 offset-l3 m10 offset-m1 s10 offset-s1">
|
||||
<h5 th:text="${setting.name}" style="font-weight: bold"></h5>
|
||||
<div class="switch" th:if="${setting.type.toString() == 'BOOL'}">
|
||||
<label>
|
||||
Off
|
||||
<input class="collect-switch" type="checkbox" th:id="${setting.id}" th:checked="${setting.current}"/>
|
||||
<span class="lever"></span>
|
||||
On
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div th:id="${setting.id}" class="input-field col l12 m12 s12 collect-select" th:if="${setting.type.toString() == 'LIST'}">
|
||||
<select>
|
||||
<option disabled="disabled" th:selected="${setting.current} == ' '" value="" >Choose your option</option>
|
||||
<option th:each="val : ${setting.values}" th:value="${val.id}" th:text="${#strings.capitalize(val.name)}" th:selected="${setting.current} == ${val.id}"></option>
|
||||
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-field col l12 m12 s12 collect" th:if="${setting.type.toString() == 'STRING'}">
|
||||
<input th:id="${setting.id}" placeholder="Use @name variable" th:value="${setting.current}" id="first_name" type="text" class="validate collect-text"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="divider col l6 offset-l3"></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="divider col l6 offset-l3"></div>
|
||||
|
||||
<div class="col s12 center">
|
||||
<a id="sendBtn" class="waves-effect waves-light btn green">Save<i
|
||||
class="material-icons left">save</i></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col s12 center">
|
||||
<a id="sendBtn" class="waves-effect waves-light btn green">Save<i class="material-icons left">save</i></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="modal_loading" class="modal valign-wrapper">
|
||||
<div class="modal-content">
|
||||
<div class="row center">
|
||||
<h3 class="col l12 m12 s12 center">Please wait</h3>
|
||||
</div>
|
||||
<div class="row center">
|
||||
<div class="preloader-wrapper big active">
|
||||
<div class="spinner-layer spinner-blue">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="spinner-layer spinner-red">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="modal_loading" class="modal valign-wrapper">
|
||||
<div class="modal-content" >
|
||||
<div class="row center">
|
||||
<h3 class="col l12 m12 s12 center">Please wait</h3>
|
||||
</div>
|
||||
<div class="row center" >
|
||||
<div class="preloader-wrapper big active">
|
||||
<div class="spinner-layer spinner-blue">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
<div class="spinner-layer spinner-yellow">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="spinner-layer spinner-red">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="spinner-layer spinner-yellow">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="spinner-layer spinner-green">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
<div class="spinner-layer spinner-green">
|
||||
<div class="circle-clipper left">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="gap-patch">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<div class="circle-clipper right">
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="page-footer" style="padding: 0">
|
||||
<div th:replace="footer :: footer">...</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
var needLogin = true;
|
||||
|
Loading…
Reference in New Issue
Block a user