diff --git a/.dockerignore b/.dockerignore index 59d7dca2..f18e3290 100644 --- a/.dockerignore +++ b/.dockerignore @@ -4,4 +4,5 @@ node_modules dist .git static -integration \ No newline at end of file +integration +demo.gif \ No newline at end of file diff --git a/.htmlnanorc.js b/.htmlnanorc.js new file mode 100644 index 00000000..86d7fe93 --- /dev/null +++ b/.htmlnanorc.js @@ -0,0 +1,3 @@ +module.exports = { + minifySvg: false, +}; diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 00000000..5a95674e --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,3 @@ +module.exports = { + printWidth: 120, +}; diff --git a/.prettierrc.json b/.prettierrc.json deleted file mode 100644 index 963354f2..00000000 --- a/.prettierrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "printWidth": 120 -} diff --git a/Dockerfile b/Dockerfile index abff5512..8dc98734 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,9 +9,13 @@ WORKDIR /build COPY package*.json yarn.lock ./ RUN yarn install --network-timeout 1000000 +# Copy config files +COPY .* ./ + # Copy assets to build COPY assets ./assets + # Do the build RUN yarn build diff --git a/assets/App.spec.js b/assets/App.spec.js index b9f332d2..3a487e58 100644 --- a/assets/App.spec.js +++ b/assets/App.spec.js @@ -8,7 +8,7 @@ const localVue = createLocalVue(); localVue.use(Vuex); describe("", () => { - const stubs = { RouterLink: RouterLinkStub, "router-view": true, "ion-icon": true }; + const stubs = { RouterLink: RouterLinkStub, "router-view": true, icon: true }; let store; beforeEach(() => { @@ -17,18 +17,18 @@ describe("", () => { const state = { containers: [ { id: "abc", name: "Test 1" }, - { id: "xyz", name: "Test 2" } + { id: "xyz", name: "Test 2" }, ], - settings: { menuWidth: 15 } + settings: { menuWidth: 15 }, }; const actions = { - FETCH_CONTAINERS: () => Promise.resolve() + FETCH_CONTAINERS: () => Promise.resolve(), }; store = new Vuex.Store({ state, - actions + actions, }); }); diff --git a/assets/App.vue b/assets/App.vue index f9f4966d..5a5fc1f9 100644 --- a/assets/App.vue +++ b/assets/App.vue @@ -31,7 +31,7 @@ v-if="!isMobile" > - + @@ -47,10 +47,12 @@ import SideMenu from "./components/SideMenu"; import MobileMenu from "./components/MobileMenu"; import Search from "./components/Search"; import ContainerTitle from "./components/ContainerTitle"; +import Icon from "./components/Icon"; export default { name: "App", components: { + Icon, LogViewerWithSource, SideMenu, MobileMenu, diff --git a/assets/__snapshots__/App.spec.js.snap b/assets/__snapshots__/App.spec.js.snap index 1f49b064..2e86b089 100644 --- a/assets/__snapshots__/App.spec.js.snap +++ b/assets/__snapshots__/App.spec.js.snap @@ -45,9 +45,8 @@ exports[` renders correctly 1`] = ` - diff --git a/assets/components/Icon.vue b/assets/components/Icon.vue new file mode 100644 index 00000000..ae98a970 --- /dev/null +++ b/assets/components/Icon.vue @@ -0,0 +1,33 @@ + + + + diff --git a/assets/components/ScrollableView.vue b/assets/components/ScrollableView.vue index 6b75351c..2d117388 100644 --- a/assets/components/ScrollableView.vue +++ b/assets/components/ScrollableView.vue @@ -15,7 +15,7 @@ @click="scrollToBottom('instant')" v-show="paused" > - + @@ -23,6 +23,8 @@ - - +
diff --git a/assets/main.js b/assets/main.js index 4ee214b4..08186abf 100644 --- a/assets/main.js +++ b/assets/main.js @@ -13,35 +13,33 @@ Vue.use(Meta); Vue.use(Dropdown); Vue.use(Switch); -Vue.config.ignoredElements = [/^ion-/]; - const routes = [ { path: "/", component: Index, - name: "default" + name: "default", }, { path: "/container/:id", component: Container, name: "container", - props: true + props: true, }, { path: "/settings", component: Settings, - name: "settings" - } + name: "settings", + }, ]; const router = new VueRouter({ mode: "history", base: BASE_PATH + "/", - routes + routes, }); new Vue({ router, store, - render: h => h(App) + render: (h) => h(App), }).$mount("#app"); diff --git a/assets/pages/Settings.vue b/assets/pages/Settings.vue index d1e02c17..a6169ced 100644 --- a/assets/pages/Settings.vue +++ b/assets/pages/Settings.vue @@ -38,12 +38,12 @@
- - + +

{{ value }}

@@ -60,11 +60,14 @@ import gt from "semver/functions/gt"; import valid from "semver/functions/valid"; import { mapActions, mapState } from "vuex"; +import Icon from "../components/Icon"; export default { props: [], name: "Settings", - components: {}, + components: { + Icon, + }, data() { return { currentVersion: VERSION, diff --git a/assets/styles.scss b/assets/styles.scss index ce9958d0..dc0ad7e5 100644 --- a/assets/styles.scss +++ b/assets/styles.scss @@ -72,3 +72,4 @@ html.has-custom-scrollbars { border-color: transparent; } } + diff --git a/integration/__image_snapshots__/test-js-home-page-renders-full-page-on-desktop-1-snap.png b/integration/__image_snapshots__/test-js-home-page-renders-full-page-on-desktop-1-snap.png index 27d6ef82..65bd44ce 100644 Binary files a/integration/__image_snapshots__/test-js-home-page-renders-full-page-on-desktop-1-snap.png and b/integration/__image_snapshots__/test-js-home-page-renders-full-page-on-desktop-1-snap.png differ diff --git a/integration/__image_snapshots__/test-js-home-page-renders-ipad-viewport-1-snap.png b/integration/__image_snapshots__/test-js-home-page-renders-ipad-viewport-1-snap.png index f5cbe326..1fb8aa3f 100644 Binary files a/integration/__image_snapshots__/test-js-home-page-renders-ipad-viewport-1-snap.png and b/integration/__image_snapshots__/test-js-home-page-renders-ipad-viewport-1-snap.png differ diff --git a/integration/docker-compose.test.yml b/integration/docker-compose.test.yml index b6148876..24c75819 100644 --- a/integration/docker-compose.test.yml +++ b/integration/docker-compose.test.yml @@ -7,7 +7,7 @@ services: environment: - DOZZLE_FILTER=name=dozzle build: - context: .. + context: .. integration: build: context: . diff --git a/integration/jest-puppeteer.config.js b/integration/jest-puppeteer.config.js index 63ab1422..63d36996 100644 --- a/integration/jest-puppeteer.config.js +++ b/integration/jest-puppeteer.config.js @@ -1,6 +1,6 @@ module.exports = { launch: { - headless: true, + headless: process.env.HEADLESS !== "false", defaultViewport: { width: 1920, height: 1200 }, args: ["--no-sandbox", "--disable-setuid-sandbox"], executablePath: process.env.CHROME_EXE_PATH || "", diff --git a/package.json b/package.json index f0f79e00..443f2cc7 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "clean": "rm -rf static/ a_main-packr.go", "release": "release-it", "test": "jest", - "integration": "docker-compose -f integration/docker-compose.test.yml run integration" + "integration": "docker-compose -f integration/docker-compose.test.yml run --rm integration" }, "repository": { "type": "git",