diff --git a/.env.example b/.env.example index 66b5969..10358c1 100644 --- a/.env.example +++ b/.env.example @@ -7,3 +7,5 @@ DB_DATABASE = autoplex_request SERVER_PORT = 3200 TORRENT_CLIENT_IPC_SOCKET = /tmp/torrent_client.sock + +DISCORD_BOT_TOKEN= diff --git a/nodemon.json b/nodemon.json index 04071a0..0cf4da5 100644 --- a/nodemon.json +++ b/nodemon.json @@ -1,8 +1,8 @@ { - "watch": ["src/server"], + "watch": ["src/common", "src/server"], "ext": "ts,json", "ignore": ["src/**/*.spec.ts"], - "exec": "node --inspect=0.0.0.0:9229 -r ts-node/register src/server/index.ts", + "exec": "node --inspect=0.0.0.0:9229 -r tsconfig-paths/register -r ts-node/register src/server/index.ts", "events": { "start": "clear" } diff --git a/package.json b/package.json index e51b91b..852ff59 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "clean": "rimraf ./build", "dev": "vite", "build": "yarn run build:backend && yarn run build:frontend", - "build:backend": "tsc -p ./tsconfig.server.json", + "build:backend": "ttsc -P ./tsconfig.server.json", "build:frontend": "vue-tsc --noEmit -p ./tsconfig.vite.json && vite build", "start": "NODE_ENV=production node .", "start:dev": "nodemon" @@ -27,6 +27,7 @@ "node-ipc": "^9.1.4", "tvdb-v4": "^1.0.0", "typeorm": "^0.2.32", + "validate.js": "^0.13.1", "vue": "^3.0.5", "vue-router": "^4.0.6", "vuedraggable": "^4.0.1", @@ -37,12 +38,15 @@ "@types/node-ipc": "^9.1.3", "@vitejs/plugin-vue": "^1.2.1", "@vue/compiler-sfc": "^3.0.5", + "@zerollup/ts-transform-paths": "^1.7.18", "autoprefixer": "^10.2.5", "nodemon": "^2.0.7", "postcss": "^8.2.9", "rimraf": "^3.0.2", "tailwindcss": "^2.1.1", "ts-node": "^9.1.1", + "tsconfig-paths": "^3.9.0", + "ttypescript": "^1.5.12", "typescript": "^4.1.3", "vite": "^2.1.5", "vue-tsc": "^0.0.15" diff --git a/src/app/App.vue b/src/app/App.vue index 61979da..fc9563e 100644 --- a/src/app/App.vue +++ b/src/app/App.vue @@ -5,6 +5,6 @@ diff --git a/src/app/components/TextBox.vue b/src/app/components/TextBox.vue index b6e5558..2ae75b2 100644 --- a/src/app/components/TextBox.vue +++ b/src/app/components/TextBox.vue @@ -4,25 +4,83 @@ {{ label }}
- - + :class="{ 'pr-10': (isValid || error), 'border-red-600 text-red-600': error }" + @blur="onBlur" @change="onChange" @input="setErrorMessage('')"> + - +
-
{{ errorMessage }}
+
{{ error }}
diff --git a/src/app/util.ts b/src/app/util.ts new file mode 100644 index 0000000..6b8b50e --- /dev/null +++ b/src/app/util.ts @@ -0,0 +1,5 @@ +import { single as validate } from "validate.js"; + +export function validateValue(value: string, constraints: any) { + return (validate(value || null, constraints) ?? [""])[0]; +} diff --git a/src/app/validation.ts b/src/app/validation.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/app/views/Login.vue b/src/app/views/Login.vue index 825f8a9..b5e9662 100644 --- a/src/app/views/Login.vue +++ b/src/app/views/Login.vue @@ -1,5 +1,5 @@