Update web ui

- Add fontawesome
- Add favicon
- Add logo
- Add support and legal links to index.html
- Improve layout of index.html
- Improve layout of navbar
This commit is contained in:
ReenigneArcher
2022-02-05 18:18:00 -05:00
parent c6d489da11
commit 9f4ad530ca
6 changed files with 90 additions and 36 deletions
+11 -7
View File
@@ -5,6 +5,8 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Sunshine</title> <title>Sunshine</title>
<link rel="icon" type="image/x-icon" href="/images/favicon.ico">
<link href="/third_party/font-awesome.5.15.4.all.min.css" rel="stylesheet">
<link href="/third_party/bootstrap.min.css" rel="stylesheet" /> <link href="/third_party/bootstrap.min.css" rel="stylesheet" />
<script src="/third_party/bootstrap.bundle.min.js"></script> <script src="/third_party/bootstrap.bundle.min.js"></script>
<script src="/third_party/vue.js"></script> <script src="/third_party/vue.js"></script>
@@ -16,7 +18,9 @@
style="background-color: #ffc400" style="background-color: #ffc400"
> >
<div class="container-fluid"> <div class="container-fluid">
<span class="navbar-brand">Sunshine</span> <a class="navbar-brand" href="/" title="Sunshine">
<img src="/images/logo-sunshine-45.png" height="45" alt="Sunshine">
</a>
<button <button
class="navbar-toggler" class="navbar-toggler"
type="button" type="button"
@@ -31,22 +35,22 @@
<div class="collapse navbar-collapse" id="navbarSupportedContent"> <div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0"> <ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="/">Home</a> <a class="nav-link" href="/"><i class="fas fa-fw fa-home"></i> Home</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="/pin">PIN</a> <a class="nav-link" href="/pin"><i class="fas fa-fw fa-unlock"></i> PIN</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="/apps">Applications</a> <a class="nav-link" href="/apps"><i class="fas fa-fw fa-stream"></i> Applications</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="/config">Configuration</a> <a class="nav-link" href="/config"><i class="fas fa-fw fa-cog"></i> Configuration</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="/password">Change Password</a> <a class="nav-link" href="/password"><i class="fas fa-fw fa-user-shield"></i> Change Password</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="/troubleshooting">Troubleshooting</a> <a class="nav-link" href="/troubleshooting"><i class="fas fa-fw fa-info"></i> Troubleshooting</a>
</li> </li>
</ul> </ul>
</div> </div>
Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

+25 -4
View File
@@ -1,9 +1,30 @@
<div id="content" class="container"> <div id="content" class="container">
<div class="row"> <h1 class="my-4">Hello, Sunshine!</h1>
<div class="col-md-6 py-4" style="margin: 0 auto">
<h1>Hello, Sunshine!</h1>
<p>Sunshine is a Gamestream host for Moonlight</p> <p>Sunshine is a Gamestream host for Moonlight</p>
<a href="https://sunshinestream.github.io">Official Website</a> <!--Resources-->
<div class="card p-2 my-4">
<div class="card-body">
<h2>Resources</h2>
<br />
<p>
Resources for Sunshine!
</p>
<a class="btn btn-primary" href="https://sunshinestream.github.io" target="_blank">Official Website</a>
<a class="btn btn-warning" href="https://github.com/SunshineStream/Sunshine/discussions" target="_blank"><i class="fab fa-fw fa-github"></i> Github Discussions</a>
<a class="btn btn-warning" href="https://sunshinestream.github.io/discord" target="_blank"><i class="fas fa-fw fa-sun"></i><i class="fab fa-fw fa-discord"></i> Sunshine Discord</a>
<a class="btn btn-warning" href="https://moonlight-stream.org/discord" target="_blank"><i class="fas fa-fw fa-moon"></i><i class="fab fa-fw fa-discord"></i> Moonlight Discord</a>
</div>
</div>
<!--Legal-->
<div class="card p-2 my-4">
<div class="card-body">
<h2>Legal</h2>
<br />
<p>
By continuing to use this software you agree to the terms and conditions in the following documents.
</p>
<a class="btn btn-danger" href="https://github.com/SunshineStream/Sunshine/blob/master/LICENSE" target="_blank"><i class="fas fa-fw fa-file-alt"></i> License</a>
<a class="btn btn-danger" href="https://github.com/SunshineStream/Sunshine/blob/master/NOTICE" target="_blank"><i class="fas fa-fw fa-exclamation"></i> Third Party Notice</a>
</div> </div>
</div> </div>
</div> </div>
File diff suppressed because one or more lines are too long
+24
View File
@@ -221,6 +221,27 @@ void getTroubleshootingPage(resp_https_t response, req_https_t request) {
response->write(header + content); response->write(header + content);
} }
void getFaviconImage(resp_https_t response, req_https_t request) {
print_req(request);
std::string content = read_file(WEB_DIR "images/favicon.ico");
response->write(content);
}
void getSunshineLogoImage(resp_https_t response, req_https_t request) {
print_req(request);
std::string content = read_file(WEB_DIR "images/logo-sunshine-45.png");
response->write(content);
}
void getFontAwesomeCss(resp_https_t response, req_https_t request) {
print_req(request);
std::string content = read_file(WEB_DIR "third_party/font-awesome.5.15.4.all.min.css");
response->write(content);
}
void getBootstrapCss(resp_https_t response, req_https_t request) { void getBootstrapCss(resp_https_t response, req_https_t request) {
print_req(request); print_req(request);
@@ -572,6 +593,9 @@ void start() {
server.resource["^/api/apps/([0-9]+)$"]["DELETE"] = deleteApp; server.resource["^/api/apps/([0-9]+)$"]["DELETE"] = deleteApp;
server.resource["^/api/clients/unpair$"]["POST"] = unpairAll; server.resource["^/api/clients/unpair$"]["POST"] = unpairAll;
server.resource["^/api/apps/close"]["POST"] = closeApp; server.resource["^/api/apps/close"]["POST"] = closeApp;
server.resource["^/images/favicon.ico$"]["GET"] = getFaviconImage;
server.resource["^/images/logo-sunshine-45.png$"]["GET"] = getSunshineLogoImage;
server.resource["^/third_party/font-awesome.5.15.4.all.min.css$"]["GET"] = getFontAwesomeCss;
server.resource["^/third_party/bootstrap.min.css$"]["GET"] = getBootstrapCss; server.resource["^/third_party/bootstrap.min.css$"]["GET"] = getBootstrapCss;
server.resource["^/third_party/bootstrap.bundle.min.js$"]["GET"] = getBootstrapJs; server.resource["^/third_party/bootstrap.bundle.min.js$"]["GET"] = getBootstrapJs;
server.resource["^/third_party/vue.js$"]["GET"] = getVueJs; server.resource["^/third_party/vue.js$"]["GET"] = getVueJs;