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
---
-[](https://travis-ci.com/liyasthomas/postwoman) [](https://github.com/liyasthomas/postwoman/releases/latest) [](https://github.com/liyasthomas/postwoman/archive/master.zip) [](https://github.com/liyasthomas/postwoman/blob/master/LICENSE) [](https://github.com/liyasthomas/postwoman/issues) [](https://liyas-thomas.firebaseapp.com) [](https://www.paypal.me/liyascthomas) [](https://www.buymeacoffee.com/liyasthomas)
+[](https://travis-ci.com/liyasthomas/postwoman) [](https://github.com/liyasthomas/postwoman/releases/latest) [](https://github.com/liyasthomas/postwoman/archive/master.zip) [](https://github.com/liyasthomas/postwoman/blob/master/LICENSE) [](https://github.com/liyasthomas/postwoman/issues) [](https://liyas-thomas.firebaseapp.com) [](https://www.paypal.me/liyascthomas) [](https://www.buymeacoffee.com/liyasthomas) [](https://t.me/postwoman_app) [](https://discord.gg/GAMWxmR)
# 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)_**
+
@@ -205,6 +207,9 @@ See the [CHANGELOG](CHANGELOG.md) file for details.
Nicholas La Roux 💻
Jacob Anavisca 💻
+
+ 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 @@
-
+
+
+ Time
+
+
+ Status Code
+
+
+ URL
+
+
+ Path
+
+
+
- Time
-
+
- Method
-
- {{entry.status}}
+
+ {{entry.status}}
- URL
-
+
- Path
-
+
-
-
-
-
+
+
+
-
-
-
-
+
+
+
@@ -52,16 +59,16 @@
- Clear All
+ Clear All
Are you sure?
-
+
Yes
-
+
No
@@ -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 @@
-
-
-
-
- {{ name || color }}
-
+
+
+
+
+
+
+ {{ name || color }}
+
\ 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 @@
- Import cURL
+
+ Import cURL
+
@@ -14,8 +16,8 @@
Import cURL
@@ -33,7 +35,9 @@
@@ -65,20 +69,20 @@
-
-
+
+
- Share URL
+ Permalink
-
+
-
+
{{ isHidden ? 'Show Code' : 'Hide Code' }}
@@ -89,15 +93,72 @@
Send Again
-
-
+
+
+
+
+
+ Content Type
+ Content Type
+
+
+
+ Raw Input {{ rawInput ? "Enabled" : "Disabled" }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add New
+
+
+
+
+
+
+
+ Raw Request Body
+
+
+
+
+
-
+
Request Type
@@ -114,8 +175,8 @@
Generated Code
-
-
+
+
Copy
@@ -125,60 +186,6 @@
-
-
-
- Content Type
-
-
-
- Raw Input {{ rawInput ? "Enabled" : "Disabled" }}
-
-
-
-
-
-
-
-
- Raw Request Body
-
-
-
-
-
@@ -198,8 +205,8 @@
response
-
-
+
+
Copy
@@ -227,7 +234,7 @@
Authentication
-
+
Authentication Type
@@ -240,22 +247,19 @@
- User
-
+
- Password
-
+
-
-
+
-
+
@@ -263,8 +267,7 @@
@@ -273,21 +276,24 @@
Headers
+
- Header {{index + 1}}
-
+
- Value {{index + 1}}
-
+
-
@@ -295,13 +301,12 @@
-
-
- Header List
-
+
+
+
+
+ Add New
+
@@ -310,21 +315,24 @@
Parameters
+
- Parameter {{index + 1}}
-
+
- Value {{index + 1}}
-
+
-
-
-
+
+
@@ -332,13 +340,12 @@
-
-
- Parameter List
-
+
+
+
+
+ Add New
+
@@ -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 @@
URL
-
-
-
- {{ toggleConnectionVerb }}
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ toggleConnectionVerb }}
+
+
+
+
+
+
+
+
+
+
+
@@ -30,7 +32,7 @@
@ {{ logEntry.ts }} {{ getSourcePrefix(logEntry.source) }} {{ logEntry.payload }}
- (Waiting for connection...)
+ (waiting for connection)
@@ -39,17 +41,19 @@
Message
-
-
-
- Send
-
-
-
-
-
-
-
+
+
+
+
+ Send
+
+
+
+
+
+
+
+
@@ -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