24 Commits
0.1.5 ... 1.0.0

Author SHA1 Message Date
bd4fc7a2f4 🚀Bumped version to 1.0.0 2023-04-15 19:04:14 +02:00
add0cb14c6 No more space 2023-04-15 19:03:13 +02:00
38a91f730b Removed svg padding 2023-04-15 19:00:38 +02:00
3f98268967 Automargin 2023-04-15 18:53:52 +02:00
a8a0d0018e New checkmark and lower padding 2023-04-15 18:53:05 +02:00
4ce0eeffea deps: node@19.9.0 2023-04-15 18:43:32 +02:00
0edf31a9ec Pinned deependencies 2023-04-15 18:38:12 +02:00
38d80b4371 update license exporter 2023-04-15 18:24:09 +02:00
c6700a9153 drop html-minifier 2023-04-15 18:23:57 +02:00
60d51f39bf drop husky precommit hook 2023-04-15 18:23:01 +02:00
076849221a feat(Scanner): move clock to monospace font 2023-04-15 18:20:21 +02:00
8610e0b285 Moved ci to pnpm w/ cache 2023-03-29 20:34:12 +02:00
f78365f062 added webserver to docker build 2023-03-29 20:32:49 +02:00
02b31f277f Added missing copy 2023-03-29 20:31:54 +02:00
5f865081a6 Lockfile 2023-03-29 20:31:29 +02:00
90c1413fa1 Switched dockerfile over to pnpm 8 and cache 2023-03-29 20:31:03 +02:00
6df7b516aa 🚀Bumped version to 0.2.0 2021-04-14 18:15:03 +02:00
4604f86429 Merge pull request 'add 'rst' to Login component' (#20) from feature/18-add-rst-login into dev
Reviewed-on: #20
close #18
2021-04-14 15:22:06 +00:00
eb023fac5c Merge branch 'dev' into feature/18-add-rst-login 2021-04-14 17:17:34 +02:00
26951b4f0f Merge pull request 'replace unsplash with kaya_bg' (#19) from feature/17-remote-background-image into dev
Reviewed-on: #19
close #17
2021-04-14 15:15:18 +00:00
e6d8861340 add 'rst' to Login component
ref #18
2021-04-14 17:14:54 +02:00
37c384aa36 replace unsplash with kaya_bg
ref #17
2021-04-14 17:04:02 +02:00
cd1b3aafc7 🚀Bumped version to 0.1.6 2021-04-13 18:54:09 +02:00
64f2ddf70b Updated readme 2021-04-13 18:53:27 +02:00
13 changed files with 9302 additions and 1505 deletions

View File

@@ -12,19 +12,30 @@ get:
path: odit-ci-bot path: odit-ci-bot
name: apikey name: apikey
---
kind: secret
name: npm_url
get:
path: odit-npm-cache
name: url
--- ---
kind: pipeline kind: pipeline
type: kubernetes type: kubernetes
name: build:tag name: build:tag
steps: steps:
- name: run build - name: run build
image: node:15.11.0-alpine3.13 image: registry.odit.services/hub/library/node:19.5.0-alpine3.16
commands: commands:
- apk add git zip -f - apk add git zip -f
- yarn - npm config set registry $NPM_REGISTRY_URL && npm i -g pnpm@8
- yarn build - pnpm i
- pnpm build
- mkdir out - mkdir out
- zip -r out/dist.zip dist - zip -r out/dist.zip dist
environment:
NPM_REGISTRY_URL:
from_secret: npm_url
- name: gitea add packages to build - name: gitea add packages to build
image: plugins/gitea-release image: plugins/gitea-release
settings: settings:

1
.husky/.gitignore vendored
View File

@@ -1 +0,0 @@
_

View File

@@ -1,5 +0,0 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
yarn format
yarn license:export

View File

@@ -2,8 +2,46 @@
All notable changes to this project will be documented in this file. Dates are displayed in UTC. All notable changes to this project will be documented in this file. Dates are displayed in UTC.
#### [v0.1.5](https://git.odit.services/lfk/scanclient/compare/0.1.4...v0.1.5) #### [1.0.0](https://git.odit.services/lfk/scanclient/compare/0.2.0...1.0.0)
- feat(Scanner): move clock to monospace font [`0768492`](https://git.odit.services/lfk/scanclient/commit/076849221a9c6353ec752d4f2213ae2e10b6480b)
- Lockfile [`5f86508`](https://git.odit.services/lfk/scanclient/commit/5f865081a64e2f59a1541a6166e85da3d7cfdbfa)
- Pinned deependencies [`0edf31a`](https://git.odit.services/lfk/scanclient/commit/0edf31a9ec228d3a027c4ef0d61d31318ded8d9e)
- deps: node@19.9.0 [`4ce0eef`](https://git.odit.services/lfk/scanclient/commit/4ce0eeffea6eee4d8af3ba130d2244669e905ed9)
- New checkmark and lower padding [`a8a0d00`](https://git.odit.services/lfk/scanclient/commit/a8a0d0018ee27588eede9bb0456d1b41060f35cd)
- drop html-minifier [`c6700a9`](https://git.odit.services/lfk/scanclient/commit/c6700a9153f96d330f0a6636adaa616b03d232ee)
- Moved ci to pnpm w/ cache [`8610e0b`](https://git.odit.services/lfk/scanclient/commit/8610e0b285939f118fab952ca00e76b1ff659a16)
- Removed svg padding [`38a91f7`](https://git.odit.services/lfk/scanclient/commit/38a91f730b46206eac714cae69be26212c01af6f)
- drop husky precommit hook [`60d51f3`](https://git.odit.services/lfk/scanclient/commit/60d51f39bffa3e947b220a1e5644e0246cf21350)
- Switched dockerfile over to pnpm 8 and cache [`90c1413`](https://git.odit.services/lfk/scanclient/commit/90c1413fa1e6fbe41227296083636568c562da65)
- added webserver to docker build [`f78365f`](https://git.odit.services/lfk/scanclient/commit/f78365f062b1b0eae06b9af02e32573ef6e9bbc9)
- Automargin [`3f98268`](https://git.odit.services/lfk/scanclient/commit/3f982689673fb07e19beaf0765f5552834ec9922)
- No more space [`add0cb1`](https://git.odit.services/lfk/scanclient/commit/add0cb14c68580d7da6a0408fc76995f7a7e4808)
- update license exporter [`38d80b4`](https://git.odit.services/lfk/scanclient/commit/38d80b4371c4d01e717846eff831068dc18a453c)
- Added missing copy [`02b31f2`](https://git.odit.services/lfk/scanclient/commit/02b31f277f7cc0d97aad061f46540e16f55e13c6)
#### [0.2.0](https://git.odit.services/lfk/scanclient/compare/0.1.6...0.2.0)
> 14 April 2021
- Merge pull request 'add 'rst' to Login component' (#20) from feature/18-add-rst-login into dev [`#18`](https://git.odit.services/lfk/scanclient/issues/18)
- Merge pull request 'replace unsplash with kaya_bg' (#19) from feature/17-remote-background-image into dev [`#17`](https://git.odit.services/lfk/scanclient/issues/17)
- add 'rst' to Login component [`e6d8861`](https://git.odit.services/lfk/scanclient/commit/e6d8861340f6998234d8b2446b918ab01738cf63)
- 🚀Bumped version to 0.2.0 [`6df7b51`](https://git.odit.services/lfk/scanclient/commit/6df7b516aa09f937c23ab19494767867e1ebf8da)
- replace unsplash with kaya_bg [`37c384a`](https://git.odit.services/lfk/scanclient/commit/37c384aa3688a66bc31673048e718fc04bc7bf0d)
#### [0.1.6](https://git.odit.services/lfk/scanclient/compare/0.1.5...0.1.6)
> 13 April 2021
- 🚀Bumped version to 0.1.6 [`cd1b3aa`](https://git.odit.services/lfk/scanclient/commit/cd1b3aafc7587541eddd088a9d446ad50b719f56)
- Updated readme [`64f2ddf`](https://git.odit.services/lfk/scanclient/commit/64f2ddf70b5e3ace8557ff1cfd346fb52a251afd)
#### [0.1.5](https://git.odit.services/lfk/scanclient/compare/0.1.4...0.1.5)
> 13 April 2021
- 🚀Bumped version to 0.1.5 [`3fa1bc9`](https://git.odit.services/lfk/scanclient/commit/3fa1bc93eb33509555820b6d96a01fad3b1338c2)
- 🧹 drop emoji from ui bar [`18845f8`](https://git.odit.services/lfk/scanclient/commit/18845f86d12bf82ede8170e81805bf49f37f63f5) - 🧹 drop emoji from ui bar [`18845f8`](https://git.odit.services/lfk/scanclient/commit/18845f86d12bf82ede8170e81805bf49f37f63f5)
#### [0.1.4](https://git.odit.services/lfk/scanclient/compare/0.1.3...0.1.4) #### [0.1.4](https://git.odit.services/lfk/scanclient/compare/0.1.3...0.1.4)

View File

@@ -1,5 +1,13 @@
FROM node:15.11.0-alpine3.13 FROM registry.odit.services/hub/library/node:19.5.0-alpine3.16 as build
ARG NPM_REGISTRY_URL=https://registry.npmjs.org
WORKDIR /app WORKDIR /app
COPY package.json ./
RUN npm config set registry $NPM_REGISTRY_URL && npm i -g pnpm@8
RUN mkdir /pnpm && pnpm config set store-dir /pnpm && pnpm i
COPY . . COPY . .
RUN yarn RUN pnpm build
RUN yarn build
FROM registry.odit.services/library/nginx-brotli:3.15 as final
COPY --from=build /app/dist /usr/share/nginx/html

View File

@@ -3,6 +3,7 @@
## ✒️ Overview ## ✒️ Overview
This is an API client for [https://git.odit.services/lfk/backend](@lfk/backend) This is an API client for [https://git.odit.services/lfk/backend](@lfk/backend)
- WebApp built with [Svelte](https://svelte.dev), [WindiCSS](https://windicss.org/) (to compile [TailwindCSS](https://tailwindcss.com/)) and [Vite](https://vitejs.dev). - WebApp built with [Svelte](https://svelte.dev), [WindiCSS](https://windicss.org/) (to compile [TailwindCSS](https://tailwindcss.com/)) and [Vite](https://vitejs.dev).
- Packaged with electron here: [https://git.odit.services/lfk/selfservice-electron](@lfk/selfservice-electron)
## 🚀 Getting Started ## 🚀 Getting Started
``` ```

File diff suppressed because it is too large Load Diff

View File

@@ -1,50 +1,49 @@
{ {
"name": "@lfk/scanclient", "name": "@lfk/scanclient",
"version": "0.1.5", "version": "1.0.0",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
"build": "vite build", "build": "vite build",
"format": "prettier --write --plugin-search-dir=. ./**/*.html ./**/*.svelte", "format": "prettier --write --plugin-search-dir=. ./**/*.html ./**/*.svelte",
"prepare": "husky install", "license:export": "license-exporter --markdown && git stage licenses.md",
"license:export": "license-exporter --markdown && git stage licenses.md", "release": "release-it --only-version"
"release": "release-it --only-version" },
}, "devDependencies": {
"devDependencies": { "@odit/license-exporter": "0.0.12",
"@odit/license-exporter": "^0.0.11", "@svitejs/vite-plugin-svelte": "0.11.1",
"@svitejs/vite-plugin-svelte": "^0.11.1", "@tsconfig/svelte": "1.0.10",
"@tsconfig/svelte": "^1.0.10", "axios": "0.21.1",
"@types/html-minifier": "^4.0.0", "prettier": "2.2.1",
"axios": "^0.21.1", "prettier-plugin-svelte": "2.2.0",
"html-minifier": "^4.0.0", "release-it": "14.5.1",
"husky": "^5.1.3", "svelte": "3.35.0",
"prettier": "^2.2.1", "svelte-i18n": "3.3.7",
"prettier-plugin-svelte": "^2.2.0", "svelte-preprocess": "4.6.9",
"release-it": "^14.5.1", "vite": "2.1.2",
"svelte": "^3.35.0", "vite-plugin-windicss": "0.9.2"
"svelte-i18n": "^3.3.7", },
"svelte-preprocess": "^4.6.9", "dependencies": {
"vite": "^2.1.2", "validator": "13.5.2"
"vite-plugin-windicss": "^0.9.2" },
}, "release-it": {
"dependencies": { "git": {
"validator": "^13.5.2" "commit": true,
}, "requireCleanWorkingDir": false,
"release-it": { "commitMessage": "🚀Bumped version to ${version}",
"git": { "requireBranch": "dev",
"commit": true, "push": false,
"requireCleanWorkingDir": false, "tag": true,
"commitMessage": "🚀Bumped version to ${version}", "tagName": null,
"requireBranch": "dev", "tagAnnotation": "${version}"
"push": false, },
"tag": true, "npm": {
"tagName": null, "publish": false
"tagAnnotation": "${version}" },
}, "hooks": {
"npm": { "after:bump": "npx auto-changelog --commit-limit false -p -u --hide-credit && git add CHANGELOG.md && node order.js && git add src/locales"
"publish": false }
}, },
"hooks": { "volta": {
"after:bump": "npx auto-changelog --commit-limit false -p -u --hide-credit && git add CHANGELOG.md && node order.js && git add src/locales" "node": "19.9.0"
} }
} }
}

2655
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,17 +1,19 @@
<script> <script>
import isURL from "validator/lib/isURL"; import isURL from "validator/lib/isURL";
import isUUID from "validator/lib/isUUID"; import isUUID from "validator/lib/isUUID";
import { apikey, lang, stationinfo, api_endpoint } from "./store.js"; import { apikey, lang, stationinfo, api_endpoint, page } from "./store.js";
import axios from "axios"; import axios from "axios";
import background from "./kaya_kids_background.jpg";
import { _, locale } from "svelte-i18n"; import { _, locale } from "svelte-i18n";
let token; let token;
let api_endpoint_input = ""; let api_endpoint_input = "";
$: error = false; $: error = false;
$: errormessage = ""; $: errormessage = "";
$: isTokenValid = $: isTokenValid =
token?.length === 44 && token === "rst" ||
token.split(".")[0].length === 7 && (token?.length === 44 &&
isUUID(token.split(".")[1]); token.split(".")[0].length === 7 &&
isUUID(token.split(".")[1]));
$: isEndpointValid = isURL(api_endpoint_input); $: isEndpointValid = isURL(api_endpoint_input);
</script> </script>
@@ -66,22 +68,30 @@
class="flex flex-col pt-3 md:pt-8" class="flex flex-col pt-3 md:pt-8"
onsubmit="event.preventDefault();" onsubmit="event.preventDefault();"
on:submit={() => { on:submit={() => {
axios if (token === "rst") {
.request({ apikey.set("");
method: "GET", api_endpoint.set("");
url: $api_endpoint + "api/stations/me", page.set("");
headers: { Authorization: "Bearer " + token }, token = "";
}) api_endpoint_input = "";
.then(function (response) { } else {
error = false; axios
errormessage = ""; .request({
apikey.set(token); method: "GET",
stationinfo.set(JSON.stringify(response.data)); url: $api_endpoint + "api/stations/me",
}) headers: { Authorization: "Bearer " + token },
.catch(function (e) { })
error = true; .then(function (response) {
errormessage = e.response.data.short; error = false;
}); errormessage = "";
apikey.set(token);
stationinfo.set(JSON.stringify(response.data));
})
.catch(function (e) {
error = true;
errormessage = e.response.data.short;
});
}
}} }}
> >
<div class="flex flex-col pt-4"> <div class="flex flex-col pt-4">
@@ -117,10 +127,18 @@
class="flex flex-col pt-3 md:pt-8" class="flex flex-col pt-3 md:pt-8"
onsubmit="event.preventDefault();" onsubmit="event.preventDefault();"
on:submit={() => { on:submit={() => {
if (api_endpoint_input.substr(-1) !== "/") { if (api_endpoint_input === "rst") {
api_endpoint_input = api_endpoint_input + "/"; apikey.set("");
api_endpoint.set("");
page.set("");
token = "";
api_endpoint_input = "";
} else {
if (api_endpoint_input.substr(-1) !== "/") {
api_endpoint_input = api_endpoint_input + "/";
}
api_endpoint.set(api_endpoint_input);
} }
api_endpoint.set(api_endpoint_input);
}} }}
> >
<div class="flex flex-col pt-4"> <div class="flex flex-col pt-4">
@@ -239,7 +257,7 @@
<img <img
alt="" alt=""
class="object-cover w-full h-screen hidden md:block" class="object-cover w-full h-screen hidden md:block"
src="https://source.unsplash.com/IXUM4cJynP0" src={background}
/> />
</div> </div>
</div> </div>

View File

@@ -39,10 +39,10 @@
</div> </div>
</div> </div>
<h1 class="mr-6 text-7xl font-semibold text-center text-gray-900"> <h1 class="mr-6 text-7xl font-semibold text-center text-gray-900 font-mono">
{hours}:{minutes}:{seconds} {hours}:{minutes}:{seconds}
</h1> </h1>
<section class="px-4 py-24 mx-auto max-w-7xl"> <section class="px-4 py-2 mx-auto max-w-7xl">
<div class="mx-auto space-y-5 w-full md:w-1/2"> <div class="mx-auto space-y-5 w-full md:w-1/2">
{#if lastscan_error} {#if lastscan_error}
<div <div
@@ -54,7 +54,6 @@
</div> </div>
{/if} {/if}
<form <form
class="space-y-4"
onsubmit="event.preventDefault();" onsubmit="event.preventDefault();"
on:submit={() => { on:submit={() => {
if (card === "cnf") { if (card === "cnf") {
@@ -114,36 +113,39 @@
/> />
</label> </label>
{#if lastscan_totaldistance} {#if lastscan_totaldistance}
{#if !lastscan_valid || lastscan_error} <div class="w-full text-center items-center">
<svg {#if !lastscan_valid || lastscan_error}
xmlns="http://www.w3.org/2000/svg" <svg
width="20rem" xmlns="http://www.w3.org/2000/svg"
height="20rem" fill="none"
class="ml-auto mr-auto" stroke-width="1.5"
version="1.0" stroke="currentColor"
title="Invalid" class="w-30 h-30 text-center mx-auto text-red-600"
viewBox="0 0 100 100" viewBox="5.25 5.25 13.5 13.5"
><g fill="none" stroke="red" >
><path d="M6 6l88 88" stroke-width="18.1" /><path <path
d="M6 94L94 6" stroke-linecap="round"
stroke-width="17.8" stroke-linejoin="round"
/></g d="M6 18L18 6M6 6l12 12"
></svg />
> </svg>
{:else} {:else}
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
width="20rem" fill="none"
height="20rem" stroke-width="1.5"
class="ml-auto mr-auto" stroke="currentColor"
title="Valid" class="w-30 h-30 text-center mx-auto text-green-600"
viewBox="0 0 600 600" viewBox="3.75 4.5 16.5 15"
><path >
d="M8 405s115 129 138 182h99c41-126 203-429 341-535 28-37-43-52-102-27-87 36-252 317-283 384-44 12-90-74-90-74z" <path
fill="#181" stroke-linecap="round"
/></svg stroke-linejoin="round"
> d="m4.5 12.75 6 6 9-13.5"
{/if} />
</svg>
{/if}
</div>
<h1 class="text-2xl font-bold text-center">{$_("total-distance")}</h1> <h1 class="text-2xl font-bold text-center">{$_("total-distance")}</h1>
<h1 class="text-6xl font-bold text-center"> <h1 class="text-6xl font-bold text-center">
{lastscan_totaldistance} {lastscan_totaldistance}

Binary file not shown.

After

Width:  |  Height:  |  Size: 538 KiB

View File

@@ -1,19 +1,7 @@
import svelte from '@svitejs/vite-plugin-svelte'; import svelte from '@svitejs/vite-plugin-svelte';
import windiCSS from 'vite-plugin-windicss'; import windiCSS from 'vite-plugin-windicss';
import { minify } from 'html-minifier';
import { defineConfig } from 'vite'; import { defineConfig } from 'vite';
// //
const indexReplace = () => {
return {
name: 'html-transform',
transformIndexHtml(html) {
return minify(html, {
collapseWhitespace: true
});
}
};
};
export default defineConfig(({ command, mode }) => { export default defineConfig(({ command, mode }) => {
const isProduction = mode === 'production'; const isProduction = mode === 'production';
return { return {
@@ -43,8 +31,7 @@ export default defineConfig(({ command, mode }) => {
preprocess: [ preprocess: [
// //
] ]
}), })
indexReplace()
] ]
}; };
}); });