diff --git a/data/interfaces/default/base.html b/data/interfaces/default/base.html index 333598cc..1a4522e3 100644 --- a/data/interfaces/default/base.html +++ b/data/interfaces/default/base.html @@ -134,7 +134,7 @@
  • View Logs
  • FAQ
  • -
  • Support
  • +
  • Support
  • Donate
  • diff --git a/data/interfaces/default/css/tautulli.css b/data/interfaces/default/css/tautulli.css index d09ba7b9..e07f1e9b 100644 --- a/data/interfaces/default/css/tautulli.css +++ b/data/interfaces/default/css/tautulli.css @@ -4096,3 +4096,59 @@ a[data-tab-destination] { .pointer { cursor: pointer; } + +.iframe-container { + width: 100%; + height: calc(100vh - 200px); + position: relative; +} +.iframe-overlay { + width: 100%; + height: 100%; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + background: url(../images/discord-overlay.png) no-repeat; + background-size: cover; + border: 1px solid #36393e; +} +.iframe-button-container { + margin: 0; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} +.iframe-button { + color: #fff; + border-radius: 20px; + text-align: center; + cursor: pointer; + font-size: 15px; + height: 28px; + line-height: 28px; + min-width: 210px; + transition: box-shadow 0.3s ease; + padding: 0 15px; + background: rgba(114, 137, 218, 0.4); + text-transform: uppercase; + text-decoration: none; + display: block; +} +.iframe-button:hover, +.iframe-button:focus { + color: #fff; + box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 0px 99999px inset, rgba(0, 0, 0, 0.2) 0px 1px 5px 0px, rgba(0, 0, 0, 0.14) 0px 2px 2px 0px, rgba(0, 0, 0, 0.12) 0px 3px 1px -2px; +} +.iframe-button:active { + box-shadow: rgba(255, 255, 255, 0.1) 0px 0px 0px 99999px inset, rgba(0, 0, 0, 0.2) 0px 5px 5px -3px, rgba(0, 0, 0, 0.14) 0px 8px 10px 1px, rgba(0, 0, 0, 0.12) 0px 3px 14px 2px; +} +.iframe { + width: 100%; + height: 100%; + position: inherit; + display: block; + border: 0; +} \ No newline at end of file diff --git a/data/interfaces/default/images/discord-overlay.png b/data/interfaces/default/images/discord-overlay.png new file mode 100644 index 00000000..0ee330a0 Binary files /dev/null and b/data/interfaces/default/images/discord-overlay.png differ diff --git a/data/interfaces/default/settings.html b/data/interfaces/default/settings.html index d9d2cb53..f09187f3 100644 --- a/data/interfaces/default/settings.html +++ b/data/interfaces/default/settings.html @@ -1763,9 +1763,6 @@ } else if ("${kwargs.get('reinstall_geoip')}" == 'true') { $('#reinstall_geoip_db').removeClass('no-highlight').css('color','#e9a049'); } - if ("${kwargs.get('support')}" == 'true') { - $('.support-modal-link').removeClass('no-highlight').css('color','#e9a049'); - } } }); } diff --git a/data/interfaces/default/support.html b/data/interfaces/default/support.html new file mode 100644 index 00000000..259a926f --- /dev/null +++ b/data/interfaces/default/support.html @@ -0,0 +1,60 @@ +<%inherit file="base.html"/> + +<%def name="headIncludes()"> + + +<%def name="headerIncludes()"> + + +<%def name="body()"> +
    +
    +
    + Support +
    +
    +
    + +
    +
    +
    +
    +
    + + +
    +
    +
    + + +<%def name="modalIncludes()"> + + +<%def name="javascriptIncludes()"> + + diff --git a/plexpy/webserve.py b/plexpy/webserve.py index 024f732c..a2faa6c7 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -5845,3 +5845,8 @@ class WebInterface(object): logger.error(u"Failed to retrieve newsletter: Missing newsletter_id parameter.") return "Failed to retrieve newsletter: missing newsletter_id parameter" + + @cherrypy.expose + @requireAuth() + def support(self, query='', **kwargs): + return serve_template(templatename="support.html", title="Support")