diff --git a/.gitignore b/.gitignore index 0a9095b32..fffd677ed 100644 --- a/.gitignore +++ b/.gitignore @@ -88,3 +88,6 @@ sw.* # Vim swap files *.swp + +# Postwoman build data +.postwoman diff --git a/assets/css/styles.scss b/assets/css/styles.scss index 1fce9228a..bfe7c3d83 100644 --- a/assets/css/styles.scss +++ b/assets/css/styles.scss @@ -51,11 +51,13 @@ h3.title { header, footer { + & > div { display: flex; padding: 16px; width: 100%; align-items: center; justify-content: space-between; + } } nav { @@ -330,6 +332,10 @@ fieldset#history { text-align: left; } +.align-center { + text-align: center; +} + .align-right { text-align: right; } diff --git a/build.js b/build.js new file mode 100644 index 000000000..89ea7238f --- /dev/null +++ b/build.js @@ -0,0 +1,40 @@ +const axios = require('axios'); +const fs = require('fs'); +const { spawnSync } = require('child_process'); +const runCommand = (command, args) => spawnSync(command, args).stdout.toString().replace(/\n/g, ""); + +const FAIL_ON_ERROR = false; +const PW_BUILD_DATA_DIR = "./.postwoman"; +const IS_DEV_MODE = process.argv.includes("--dev"); + +try { + + (async () => { + // Create the build data directory if it does not exist. + if (!fs.existsSync(PW_BUILD_DATA_DIR)) { + fs.mkdirSync(PW_BUILD_DATA_DIR); + } + + let version = {}; + // Get the current version name as the tag from Git. + version.name = runCommand('git', ['tag']); + + // FALLBACK: If version.name was unset, let's grab it from GitHub. + if(!version.name){ + version.name = (await axios.get("https://api.github.com/repos/liyasthomas/postwoman/releases")).data[0]['tag_name']; + } + + // Get the current version hash as the short hash from Git. + version.hash = runCommand('git', ['rev-parse', '--short', 'HEAD']); + // Get the 'variant' name as the branch, if it's not master. + version.variant = (process.env.TRAVIS_BRANCH || runCommand('git', ['branch']).split("* ")[1].split(" ")[0] + (IS_DEV_MODE ? " - (DEV MODE)" : "")); + if(version.variant === "" || version.variant === "master") delete version.variant; + + // Write version data into a file + fs.writeFileSync(PW_BUILD_DATA_DIR + "/version.json", JSON.stringify(version)); + })(); + +}catch(ex){ + console.error(ex); + process.exit(FAIL_ON_ERROR ? 1 : 0); +} diff --git a/layouts/default.vue b/layouts/default.vue index 3d8273a69..492c9edbd 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -1,151 +1,178 @@ - - - - - - Postwoman - - API request builder - - - HTTP - WebSocket - - - - - - - - - - - + + + + + + + Postwoman + + API request builder + + + HTTP + WebSocket + + + + + + + + + + + + diff --git a/package.json b/package.json index fd6aec47a..06ba5fa06 100644 --- a/package.json +++ b/package.json @@ -5,9 +5,14 @@ "author": "liyasthomas", "private": true, "scripts": { + "predev": "node build.js --dev", "dev": "nuxt", + + "prebuild": "node build.js", "build": "nuxt build", "start": "nuxt start", + + "pregenerate": "node build.js", "generate": "nuxt generate" }, "dependencies": { diff --git a/pages/settings.vue b/pages/settings.vue index e528d79dc..e16dce280 100644 --- a/pages/settings.vue +++ b/pages/settings.vue @@ -1,197 +1,197 @@ - - - - - Background - + + + + + Background + - - - - - - Color - + + + + + + Color + - - - - - - Frames - - Multi-color {{ settings.DISABLE_FRAME_COLORS ? "disabled" : "enabled" }} - - - - + + + + + + Frames + + Multi-color {{ settings.DISABLE_FRAME_COLORS ? "disabled" : "enabled" }} + + + + - - + + + URL + + + + Key + + + + + --> +