diff --git a/.directory b/.directory deleted file mode 100644 index da6b69718..000000000 --- a/.directory +++ /dev/null @@ -1,6 +0,0 @@ -[Dolphin] -Timestamp=2019,8,23,13,58,13 -Version=4 - -[Settings] -HiddenFilesShown=true diff --git a/.gitignore b/.gitignore index fffd677ed..f541e327a 100644 --- a/.gitignore +++ b/.gitignore @@ -91,3 +91,6 @@ sw.* # Postwoman build data .postwoman + +# File explorer +.directory \ No newline at end of file diff --git a/README.md b/README.md index 0871748fa..de3354d2d 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ When I wrote this, only God and I understood what I was doing. Now, only God kno --- -[![Build Status](https://travis-ci.com/liyasthomas/postwoman.svg?branch=master)](https://travis-ci.com/liyasthomas/postwoman) [![GitHub release](https://img.shields.io/github/release/liyasthomas/postwoman/all.svg)](https://github.com/liyasthomas/postwoman/releases/latest) [![repo size](https://img.shields.io/github/repo-size/liyasthomas/postwoman.svg)](https://github.com/liyasthomas/postwoman/archive/master.zip) [![license](https://img.shields.io/github/license/liyasthomas/postwoman.svg)](https://github.com/liyasthomas/postwoman/blob/master/LICENSE) [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/liyasthomas/postwoman/issues) [![Website](https://img.shields.io/website-up-down-green-red/https/shields.io.svg?label=website)](https://liyas-thomas.firebaseapp.com) [![Donate](https://img.shields.io/badge/$-donate-ff69b4.svg)](https://www.paypal.me/liyascthomas) [![Buy me a coffee](https://img.shields.io/badge/$-BuyMeACoffee-orange.svg)](https://www.buymeacoffee.com/liyasthomas) +[![Build Status](https://travis-ci.com/liyasthomas/postwoman.svg?branch=master)](https://travis-ci.com/liyasthomas/postwoman) [![GitHub release](https://img.shields.io/github/release/liyasthomas/postwoman/all.svg)](https://github.com/liyasthomas/postwoman/releases/latest) [![repo size](https://img.shields.io/github/repo-size/liyasthomas/postwoman.svg)](https://github.com/liyasthomas/postwoman/archive/master.zip) [![license](https://img.shields.io/github/license/liyasthomas/postwoman.svg)](https://github.com/liyasthomas/postwoman/blob/master/LICENSE) [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/liyasthomas/postwoman/issues) [![Website](https://img.shields.io/website-up-down-green-red/https/shields.io.svg?label=website)](https://liyas-thomas.firebaseapp.com) [![Donate](https://img.shields.io/badge/$-donate-blue.svg)](https://www.paypal.me/liyascthomas) [![Buy me a coffee](https://img.shields.io/badge/$-BuyMeACoffee-orange.svg)](https://www.buymeacoffee.com/liyasthomas) [![Chat on Telegram](https://img.shields.io/badge/chat-Telegram-blueviolet)](https://t.me/postwoman_app) [![Chat on Discord](https://img.shields.io/badge/chat-Discord-violet?logo=discord)](https://discord.gg/GAMWxmR) # postwoman Postwoman @@ -21,6 +21,8 @@ When I wrote this, only God and I understood what I was doing. Now, only God kno **Start here: _[Story behind Postwoman](https://dev.to/liyasthomas/i-created-postwoman-an-online-open-source-api-request-builder-41md)_** +**Chat here: _[Telegram](https://t.me/postwoman_app), [Discord](https://discord.gg/GAMWxmR)_** +

postwoman @@ -205,6 +207,9 @@ See the [CHANGELOG](CHANGELOG.md) file for details. Nicholas La Roux
Nicholas La Roux

💻 Jacob Anavisca
Jacob Anavisca

💻 + + Nityananda Gohain
Nityananda Gohain

💻 + diff --git a/assets/css/fonts.scss b/assets/css/fonts.scss index ed33e2d44..541e2cf1e 100644 --- a/assets/css/fonts.scss +++ b/assets/css/fonts.scss @@ -1,2 +1,2 @@ // Poppins (Google Fonts) -@import url("https://fonts.googleapis.com/css?family=Poppins:500,700&display=swap"); +@import url("https://fonts.googleapis.com/css?family=Poppins:400,600&display=swap"); diff --git a/assets/css/styles.scss b/assets/css/styles.scss index 8669c3968..1190ad948 100644 --- a/assets/css/styles.scss +++ b/assets/css/styles.scss @@ -11,15 +11,17 @@ $responsiveWidth: 720px; } ::-webkit-scrollbar-thumb { - background-color: rgba(0, 0, 0, 0.5); + background-color: rgba(0, 0, 0, 0.3); + border-radius: 8px; } ::-webkit-scrollbar-thumb:hover { - background-color: rgba(0, 0, 0, 0.6); + background-color: rgba(0, 0, 0, 0.5); } ::placeholder { - color: var(--fg-color); + color: var(--fg-light-color); + opacity: 0.3; } * { @@ -32,25 +34,26 @@ a { display: inline-flex; color: inherit; text-decoration: none; - font-weight: 700; + font-weight: 600; } body { background-color: var(--bg-color); color: var(--fg-color); - font-weight: 500; + font-weight: 400; + font-size: 16px; + font-family: "Poppins", "Roboto", "Noto", sans-serif; line-height: 1.5; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; user-select: none; - font-family: "Poppins", "Roboto", "Noto", sans-serif; } h1, h2, h3 { margin: 0; - font-weight: 700; + font-weight: 600; } h3.title { @@ -90,16 +93,18 @@ button { align-items: center; justify-content: center; margin: 4px; - padding: 8px 16px; - border-radius: 4px; + padding: 0 16px; + border-radius: 20px; background-color: var(--ac-color); color: var(--act-color); - font-weight: 700; + font-weight: 600; font-size: 16px; font-family: "Poppins", "Roboto", "Noto", sans-serif; - cursor: pointer; transition: all 0.2s ease-in-out; fill: var(--act-color); + height: 40px; + box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.02); + cursor: pointer; span { display: inline-flex; @@ -108,28 +113,31 @@ button { &.icon { background-color: var(--bg-color); - color: var(--ac-color); - fill: var(--ac-color); + color: var(--fg-light-color); + fill: var(--fg-light-color); + + &:not([disabled]):hover { + color: var(--fg-color); + fill: var(--fg-color); + } } - &:not([disabled]):hover, - &:not(.disabled):focus { - background-color: var(--bg-color); - box-shadow: inset 0 0 0 2px var(--ac-color); - color: var(--ac-color); - fill: var(--ac-color); + &:not([disabled]):hover { + color: var(--act-color); + fill: var(--act-color); } } fieldset { margin: 16px 0; - border: 2px solid var(--fg-color); - border-radius: 4px; + border: 1px solid var(--brd-color); + border-radius: 8px; + background-color: var(--bg-color); } legend { color: var(--fg-color); - font-weight: 700; + font-weight: 600; cursor: pointer; } @@ -138,74 +146,38 @@ fieldset pre code { resize: vertical; } -fieldset.blue { - border-color: #57b5f9; -} - fieldset.blue legend { color: #57b5f9; } -fieldset.gray { - border-color: #bcc2cd; -} - fieldset.gray legend { color: #bcc2cd; } -fieldset.green { - border-color: #50fa7b; -} - fieldset.green legend { color: #50fa7b; } -fieldset.cyan { - border-color: #8be9fd; -} - fieldset.cyan legend { color: #8be9fd; } -fieldset.purple { - border-color: #bd93f9; -} - fieldset.purple legend { color: #bd93f9; } -fieldset.orange { - border-color: #ffb86c; -} - fieldset.orange legend { color: #ffb86c; } -fieldset.pink { - border-color: #ff79c6; -} - fieldset.pink legend { color: #ff79c6; } -fieldset.red { - border-color: #ff5555; -} - fieldset.red legend { color: #ff5555; } -fieldset.yellow { - border-color: #f1fa8c; -} - fieldset.yellow legend { color: #f1fa8c; } @@ -221,19 +193,18 @@ textarea, pre { margin: 4px; padding: 8px; - border-radius: 4px; - width: calc(100% - 8px); + border-radius: 8px; background-color: var(--bg-dark-color); color: var(--fg-color); - font-size: 18px; + font-size: 16px; font-family: monospace; transition: all 0.2s ease-in-out; - user-select: all; + user-select: text; + width: calc(100% - 8px); + min-height: 40px; - &:not([readonly]):hover, - &:not([readonly]):focus { - background-color: var(--bg-color); - box-shadow: inset 0 0 0 2px var(--ac-color); + &:not([readonly]):hover { + background-color: var(--bg-dark-color); } } @@ -243,6 +214,7 @@ pre { code { height: 336px; + border-radius: 8px; } .hljs, @@ -254,7 +226,7 @@ code { select, input, option { - height: 41px; + height: 40px; } input[type="checkbox"] { @@ -267,8 +239,8 @@ input[type="checkbox"] { &:before { content: "\2714"; - border: 2px solid var(--fg-color); - border-radius: 4px; + border: 1px solid var(--fg-color); + border-radius: 8px; display: inline-flex; height: 16px; width: 16px; @@ -276,7 +248,7 @@ input[type="checkbox"] { justify-content: center; margin: 8px 8px 8px 0; color: transparent; - transition: 0.2s; + transition: all 0.2s ease-in-out; } } @@ -291,18 +263,19 @@ input[type="checkbox"] { .disabled, [disabled] { background-color: var(--err-color); - color: #b2b2b2; - fill: #b2b2b2; + color: var(--fg-light-color); + fill: var(--fg-light-color); cursor: default; &.icon { - color: #b2b2b2; - fill: #b2b2b2; + color: var(--bg-color); + fill: var(--bg-color); } } label { padding: 4px; + color: var(--fg-light-color); } ul, @@ -366,23 +339,23 @@ ol li { } .info-response { - background-color: #ffeb3b; + color: #ffeb3b; } .success-response { - background-color: #4bb543; + color: #4bb543; } .redir-response { - background-color: #ff5722; + color: #ff5722; } .cl-error-response { - background-color: #a63232; + color: #a63232; } .sv-error-response { - background-color: #b71c1c; + color: #b71c1c; } .missing-data-response { @@ -399,7 +372,7 @@ fieldset#history { span { position: absolute; - top: 44px; + top: 12px; right: 12px; font-family: monospace, monospace; } @@ -421,7 +394,7 @@ fieldset#history { #response-details-wrapper { position: relative; overflow: hidden; - border-radius: 4px; + border-radius: 8px; textarea { margin: 0; @@ -478,15 +451,15 @@ input[type="radio"] + label { padding: 8px 16px; border-bottom: 2px solid transparent; cursor: pointer; - transition: all 0.2s ease; + transition: all 0.2s ease-in-out; &:hover { - border-color: var(--err-color); + border-color: var(--brd-color); } } input[type="radio"]:checked + label { - border-color: var(--ac-color); + border-color: var(--fg-color); } input[type="radio"]:checked + label + div.tab { diff --git a/assets/css/themes.scss b/assets/css/themes.scss index 4428f363c..f6410a162 100644 --- a/assets/css/themes.scss +++ b/assets/css/themes.scss @@ -7,37 +7,43 @@ // Dark is the default theme variant. :root { - --bg-dark-color: #44475a; + // Dark Background color + --bg-dark-color: rgb(41, 42, 45); // Background color - --bg-color: #282a36; + --bg-color: rgb(37, 38, 40); // Auto-complete color - --atc-color: #3C4556; + --atc-color: rgb(49, 49, 55); // Text color - --fg-color: #f8f8f2; - + --fg-color: rgb(247, 248, 248); + // Light Text color + --fg-light-color: rgb(150, 155, 160); + // Border color + --brd-color: rgb(48, 47, 55); // Error color - --err-color: #3C4556; - - // Active color + --err-color: rgb(41, 42, 45); + // Acent color --ac-color: #50fa7b; // Active text color - --act-color: #282a36; + --act-color: rgb(37, 38, 40); } :root.light { - --bg-dark-color: #e1e4eb; + // Dark Background color + --bg-dark-color: #e8f0fe; // Background color - --bg-color: #ebeef5; + --bg-color: #fff; // Auto-complete color - --atc-color: #e1e4eb; + --atc-color: #ebebeb; // Text color - --fg-color: #5d5d5f; - + --fg-color: #525252; + // Light Text color + --fg-light-color: rgb(150, 155, 160); + // Border color + --brd-color: #f2f2f2; // Error color - --err-color: invert(#3C4556, 1); - - // Active color + --err-color: invert(#303341, 1); + // Acent color --ac-color: #57b5f9; // Active text color - --act-color: #ebeef5; + --act-color: #fff; } diff --git a/assets/js/curlparser.js b/assets/js/curlparser.js index 710e92f7b..be4386ce1 100644 --- a/assets/js/curlparser.js +++ b/assets/js/curlparser.js @@ -40,7 +40,7 @@ function parseCurlCommand(curlCommand) { if (!url) { for (let argName in parsedArguments) { if (typeof parsedArguments[argName] === 'string') { - if (parsedArguments[argName].indexOf('http') === 0 || parsedArguments[argName].indexOf('www.') === 0) { + if (['http', 'www.'].includes(parsedArguments[argName])) { url = parsedArguments[argName]; } } @@ -57,7 +57,7 @@ function parseCurlCommand(curlCommand) { parsedArguments[headerFieldName] = [parsedArguments[headerFieldName]]; } parsedArguments[headerFieldName].forEach(function(header) { - if (header.indexOf('Cookie') !== -1) { + if (header.includes('Cookie')) { // stupid javascript tricks: closure cookieString = header; } else { @@ -149,7 +149,7 @@ function parseCurlCommand(curlCommand) { if (option) { let urlQueryString = ''; - if (url.indexOf('?') < 0) { + if (!url.includes('?')) { url += '?'; } else { urlQueryString += '&'; diff --git a/assets/js/pwa.js b/assets/js/pwa.js index 6bfc89186..81adf4306 100644 --- a/assets/js/pwa.js +++ b/assets/js/pwa.js @@ -23,7 +23,7 @@ export default () => { // Show the install button if the prompt appeared. if (!pwaInstalled) { - document.querySelector('#installPWA').style.display = 'block'; + document.querySelector('#installPWA').style.display = 'inline-flex'; } }); diff --git a/build.js b/build.js index e16304317..fec57b032 100644 --- a/build.js +++ b/build.js @@ -39,7 +39,7 @@ try { runCommand("git", ["branch"]) .split("* ")[1] .split(" ")[0] + (IS_DEV_MODE ? " - DEV MODE" : ""); - if (version.variant === "" || version.variant === "master") + if (["", "master"].includes(version.variant)) delete version.variant; // Write version data into a file diff --git a/components/history.vue b/components/history.vue index 55513ecff..acdd4c91c 100644 --- a/components/history.vue +++ b/components/history.vue @@ -2,43 +2,50 @@ - +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
  • - - +
  • - - - {{entry.status}} + + {{entry.status}}
  • - - +
  • - - +
  • - -
  • - -
  • @@ -52,16 +59,16 @@
  • - +
  • - -
    @@ -89,7 +96,11 @@ history: localStorageHistory || [], filterText: '', showFilter: false, - isClearingHistory: false + isClearingHistory: false, + reverse_sort_time: false, + reverse_sort_status_code: false, + reverse_sort_url: false, + reverse_sort_path: false } }, computed: { @@ -137,6 +148,56 @@ }, disableHistoryClearing() { this.isClearingHistory = false; + }, + sort_by_time() { + let byDate = this.history.slice(0); + byDate.sort((a,b) =>{ + let date_a = a.date.split("/"); + let date_b = b.date.split("/"); + let time_a = a.time.split(":") + let time_b = b.time.split(":") + let final_a = new Date(date_a[2], date_a[1], date_a[0], time_a[0], time_a[1], time_a[2]); + let final_b = new Date(date_b[2], date_b[1], date_b[0], time_b[0], time_b[1], time_b[2]); + if(this.reverse_sort_time) + return final_b - final_a; + else + return final_a - final_b; + }) + this.history = byDate; + this.reverse_sort_time = !this.reverse_sort_time; + }, + sort_by_status_code() { + let byCode = this.history.slice(0); + byCode.sort((a,b) =>{ + if(this.reverse_sort_status_code) + return b.status - a.status; + else + return a.status - b.status; + }) + this.history = byCode; + this.reverse_sort_status_code = !this.reverse_sort_status_code; + }, + sort_by_url() { + let byUrl = this.history.slice(0); + byUrl.sort((a, b)=>{ + if(this.reverse_sort_url) + return a.url == b.url ? 0 : +(a.url < b.url) || -1; + else + return a.url == b.url ? 0 : +(a.url > b.url) || -1; + }); + this.history = byUrl; + this.reverse_sort_url = !this.reverse_sort_url; + }, + sort_by_path() { + let byPath = this.history.slice(0); + byPath.sort((a, b)=>{ + if(this.reverse_sort_path) + return a.path == b.path ? 0 : +(a.path < b.path) || -1; + else + return a.path == b.path ? 0 : +(a.path > b.path) || -1; + }); + this.history = byPath; + this.reverse_sort_path = !this.reverse_sort_path; } } } @@ -151,7 +212,7 @@ @media (max-width: 720px) { .virtual-list.filled { - min-height: 380px; + min-height: 200px; } } diff --git a/components/modal.vue b/components/modal.vue index 5ad717883..d6b64458a 100644 --- a/components/modal.vue +++ b/components/modal.vue @@ -25,7 +25,7 @@ left: 0; width: 100%; height: 100%; - background-color: rgba(0, 0, 0, 0.75); + background-color: rgba(0, 0, 0, 0.3); display: flex; align-items: center; justify-content: center; @@ -48,8 +48,8 @@ padding: 12px; transition: all 0.2s ease; background-color: var(--bg-color); - border: 2px solid var(--ac-color); - border-radius: 4px; + border-radius: 8px; + box-shadow: rgba(0, 0, 0, 0.5) 0px 16px 70px; } /* @@ -69,6 +69,6 @@ .modal-fade-enter .modal-container, .modal-fade-leave-active .modal-container { transform: scale(0.9); - transition: all .2s ease; + transition: all 0.1s ease-in-out; } diff --git a/components/section.vue b/components/section.vue index a17ecf71d..7ad14174f 100644 --- a/components/section.vue +++ b/components/section.vue @@ -8,12 +8,8 @@ diff --git a/components/settings/swatch.vue b/components/settings/swatch.vue index 40f9bd1b1..97665f6a9 100644 --- a/components/settings/swatch.vue +++ b/components/settings/swatch.vue @@ -1,68 +1,70 @@ \ No newline at end of file + } + diff --git a/layouts/default.vue b/layouts/default.vue index f5367b406..f11c73935 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -4,8 +4,7 @@
    -

    - Postwoman

    +

    Postwoman

    API request builder

    @@ -15,7 +14,7 @@ - + @@ -25,23 +24,30 @@
    @@ -72,7 +78,7 @@ } footer { - margin: 40px auto; + margin: 32px auto; } nav { @@ -105,12 +111,12 @@ right: 0; z-index: -1; background-color: var(--ac-color); - border-radius: 4px; + border-radius: 8px; margin: auto; } &:not(.nuxt-link-exact-active):hover:before { - animation: linkHover 0.3s forwards ease-in-out; + animation: linkHover 0.2s forwards ease-in-out; } @keyframes linkHover { @@ -165,7 +171,7 @@ let vibrant = this.$store.state.postwoman.settings.THEME_COLOR_VIBRANT; if (vibrant == null) vibrant = true; document.documentElement.style.setProperty('--ac-color', color); - document.documentElement.style.setProperty('--act-color', vibrant ? '#121212' : '#fff'); + document.documentElement.style.setProperty('--act-color', vibrant ? 'rgb(37, 38, 40)' : '#fff'); })(); }, diff --git a/nuxt.config.js b/nuxt.config.js index e36910f23..86ca72ee3 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -84,7 +84,7 @@ export default { }, { name: 'msapplication-TileColor', - content: '#282a36' + content: '#252628' }, { name: 'msapplication-tap-highlight', @@ -216,8 +216,8 @@ export default { short_name: meta.name, description: meta.shortDescription, display: "standalone", - theme_color: "#282a36", - background_color: "#282a36", + theme_color: "#252628", + background_color: "#252628", start_url: `${routerBase.router.base}`, icons: ((sizes) => { let icons = []; diff --git a/pages/index.vue b/pages/index.vue index 81849a0a7..e5cf2f82e 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -3,7 +3,9 @@
    • - +
    @@ -14,8 +16,8 @@

    Import cURL

    @@ -33,7 +35,9 @@
    • - +
    @@ -65,20 +69,20 @@
  • @@ -89,15 +93,72 @@
+
+
    +
  • + + Content Type + + + + Raw Input {{ rawInput ? "Enabled" : "Disabled" }} + + +
  • +
+
+
    +
  • + + +
  • +
+
    +
  • + +
  • +
  • + +
  • +
    +
  • + +
  • +
    +
+
    +
  • + +
  • +
+
+
+
    +
  • + + +
  • +
+
+
- +
  • @@ -114,8 +175,8 @@
    @@ -125,60 +186,6 @@
- -
    -
  • - Content Type - - - - Raw Input {{ rawInput ? "Enabled" : "Disabled" }} - - -
  • -
-
-
    -
  • - - -
  • -
  • - - -
  • -
    -
  • - - -
  • -
    -
-
    -
  • - -
  • -
-
    -
  • - - -
  • -
-
-
-
    -
  • - - -
  • -
-
-
  • @@ -198,8 +205,8 @@
    @@ -227,7 +234,7 @@
    - +
    • @@ -240,22 +247,19 @@
    • - - +
    • - - +
    • -
    • @@ -263,8 +267,7 @@
    • - - +
    @@ -273,21 +276,24 @@
    +
      +
    • + + +
    • +
    • - - +
    • - - +
    • -
    • @@ -295,13 +301,12 @@
    • - -
    • -
    -
      -
    • - - +
    @@ -310,21 +315,24 @@
    +
      +
    • + + +
    • +
    • - - +
    • - - +
    • -
    • @@ -332,13 +340,12 @@
    • - -
    • -
    -
      -
    • - - +
    @@ -420,8 +427,8 @@ data() { return { showModal: false, - copyButton: '', - copiedButton: '', + copyButton: '', + copiedButton: '', method: 'GET', url: 'https://reqres.in', auth: 'None', @@ -511,7 +518,7 @@ value }) => `${key}=${value}`).join('&') queryString = queryString === '' ? '' : `?${queryString}` - if(path.indexOf('?') !== -1) { + if(path.includes('?')) { path = path.slice(0, path.indexOf('?')) + queryString; } else { path = path + queryString @@ -897,7 +904,7 @@ dummy.select(); document.execCommand('copy'); document.body.removeChild(dummy); - setTimeout(() => this.$refs.copyRequest.innerHTML = this.copyButton + 'Share URL', 1500) + setTimeout(() => this.$refs.copyRequest.innerHTML = this.copyButton + 'Permalink', 1500) } }, copyRequestCode() { diff --git a/pages/settings.vue b/pages/settings.vue index cb0634669..d62b92d2a 100644 --- a/pages/settings.vue +++ b/pages/settings.vue @@ -79,8 +79,8 @@ // You should copy the existing light theme as a template and then just // set the relevant values. themes: [{ - "color": "#282a36", - "name": "Dark (Default)", + "color": "rgb(37, 38, 40)", + "name": "Dark (default)", "class": "" }, { @@ -95,7 +95,7 @@ // If the color is vibrant, black is used as the active foreground color. { "color": "#50fa7b", - "name": "Green (Default)", + "name": "Green (default)", "vibrant": true }, { @@ -174,7 +174,7 @@ // By default, the color is vibrant. if (vibrant == null) vibrant = true; document.documentElement.style.setProperty('--ac-color', color); - document.documentElement.style.setProperty('--act-color', vibrant ? '#282a36' : '#f8f8f2'); + document.documentElement.style.setProperty('--act-color', vibrant ? 'rgb(37, 38, 40)' : '#f8f8f2'); this.applySetting('THEME_COLOR', color.toUpperCase()); this.applySetting('THEME_COLOR_VIBRANT', vibrant); }, diff --git a/pages/websocket.vue b/pages/websocket.vue index 054cce3e2..25123abef 100644 --- a/pages/websocket.vue +++ b/pages/websocket.vue @@ -6,20 +6,22 @@
  • -
  • - - -
  • +
    +
  • + + +
  • +
@@ -30,7 +32,7 @@ @ {{ logEntry.ts }} {{ getSourcePrefix(logEntry.source) }} {{ logEntry.payload }} - (Waiting for connection...) + (waiting for connection)
@@ -39,17 +41,19 @@ -
  • - - -
  • +
    +
  • + + +
  • +
    @@ -59,7 +63,7 @@ margin: 4px; padding: 8px 16px; width: calc(100% - 8px); - border-radius: 4px; + border-radius: 8px; background-color: var(--bg-dark-color); color: var(--fg-color); height: 256px; @@ -67,7 +71,6 @@ &, span { - font-weight: 700; font-size: 18px; font-family: monospace; } diff --git a/static/.htaccess b/static/.htaccess new file mode 100644 index 000000000..8dfbb2f3d --- /dev/null +++ b/static/.htaccess @@ -0,0 +1,16 @@ + + ExpiresActive On + + # Images + ExpiresByType image/jpeg "access plus 1 year" + ExpiresByType image/gif "access plus 1 year" + ExpiresByType image/png "access plus 1 year" + ExpiresByType image/webp "access plus 1 year" + ExpiresByType image/svg+xml "access plus 1 year" + ExpiresByType image/x-icon "access plus 1 year" + + # CSS, JavaScript + ExpiresByType text/css "access plus 1 month" + ExpiresByType text/javascript "access plus 1 month" + ExpiresByType application/javascript "access plus 1 month" + diff --git a/static/screely.png b/static/screely.png deleted file mode 100644 index ed079453b..000000000 Binary files a/static/screely.png and /dev/null differ diff --git a/static/screely2.png b/static/screely2.png deleted file mode 100644 index 579009162..000000000 Binary files a/static/screely2.png and /dev/null differ