Use custom input for numbers (dark mode friendly)
This commit is contained in:
parent
8471a3ed78
commit
aa09de6ad2
9
frontend/package-lock.json
generated
9
frontend/package-lock.json
generated
@ -8,6 +8,7 @@
|
|||||||
"name": "filebrowser-frontend",
|
"name": "filebrowser-frontend",
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@chenfengyuan/vue-number-input": "^2.0.1",
|
||||||
"@vueuse/core": "^10.5.0",
|
"@vueuse/core": "^10.5.0",
|
||||||
"@vueuse/integrations": "^10.5.0",
|
"@vueuse/integrations": "^10.5.0",
|
||||||
"ace-builds": "^1.28.0",
|
"ace-builds": "^1.28.0",
|
||||||
@ -1766,6 +1767,14 @@
|
|||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@chenfengyuan/vue-number-input": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@chenfengyuan/vue-number-input/-/vue-number-input-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-/jqmfmFulFOGlozts0Sf2GCESMRYVTfZZSz2Tf4n9O5DKjqMi5B/MfRzm5H5A57WuG3L80yXFWFN+XeACKaIhQ==",
|
||||||
|
"peerDependencies": {
|
||||||
|
"vue": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@esbuild/android-arm": {
|
"node_modules/@esbuild/android-arm": {
|
||||||
"version": "0.18.20",
|
"version": "0.18.20",
|
||||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
|
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
|
||||||
|
|||||||
@ -14,6 +14,7 @@
|
|||||||
"test": "playwright test"
|
"test": "playwright test"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@chenfengyuan/vue-number-input": "^2.0.1",
|
||||||
"@vueuse/core": "^10.5.0",
|
"@vueuse/core": "^10.5.0",
|
||||||
"@vueuse/integrations": "^10.5.0",
|
"@vueuse/integrations": "^10.5.0",
|
||||||
"ace-builds": "^1.28.0",
|
"ace-builds": "^1.28.0",
|
||||||
|
|||||||
@ -44,7 +44,7 @@ const items = computed(() => {
|
|||||||
parts.pop();
|
parts.pop();
|
||||||
}
|
}
|
||||||
|
|
||||||
let breadcrumbs: any[] = [];
|
let breadcrumbs: BreadCrumb[] = [];
|
||||||
|
|
||||||
for (let i = 0; i < parts.length; i++) {
|
for (let i = 0; i < parts.length; i++) {
|
||||||
if (i === 0) {
|
if (i === 0) {
|
||||||
|
|||||||
@ -80,13 +80,14 @@
|
|||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<p>{{ $t("settings.shareDuration") }}</p>
|
<p>{{ $t("settings.shareDuration") }}</p>
|
||||||
<div class="input-group input">
|
<div class="input-group input">
|
||||||
<input
|
<vue-number-input
|
||||||
v-focus
|
controls
|
||||||
type="number"
|
size="small"
|
||||||
max="2147483647"
|
max="2147483647"
|
||||||
min="1"
|
min="1"
|
||||||
@keyup.enter="submit"
|
@keyup.enter="submit"
|
||||||
v-model.trim="time"
|
v-model.trim="time"
|
||||||
|
v-focus
|
||||||
/>
|
/>
|
||||||
<select class="right" v-model="unit" :aria-label="$t('time.unit')">
|
<select class="right" v-model="unit" :aria-label="$t('time.unit')">
|
||||||
<option value="seconds">{{ $t("time.seconds") }}</option>
|
<option value="seconds">{{ $t("time.seconds") }}</option>
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
import { disableExternal } from "@/utils/constants";
|
import { disableExternal } from "@/utils/constants";
|
||||||
import { createApp } from "vue";
|
import { createApp } from "vue";
|
||||||
|
import VueNumberInput from "@chenfengyuan/vue-number-input";
|
||||||
import VueLazyload from "vue-lazyload";
|
import VueLazyload from "vue-lazyload";
|
||||||
import Toast, { POSITION, useToast } from "vue-toastification";
|
import Toast, { POSITION, useToast } from "vue-toastification";
|
||||||
import {
|
import {
|
||||||
@ -28,6 +29,7 @@ const pinia = createPinia(router);
|
|||||||
|
|
||||||
const app = createApp(App);
|
const app = createApp(App);
|
||||||
|
|
||||||
|
app.component(VueNumberInput.name, VueNumberInput);
|
||||||
app.use(VueLazyload);
|
app.use(VueLazyload);
|
||||||
app.use(Toast, {
|
app.use(Toast, {
|
||||||
transition: "Vue-Toastification__bounce",
|
transition: "Vue-Toastification__bounce",
|
||||||
|
|||||||
5
frontend/src/types/file.d.ts
vendored
5
frontend/src/types/file.d.ts
vendored
@ -51,3 +51,8 @@ interface ClipItem {
|
|||||||
from: string;
|
from: string;
|
||||||
name: string;
|
name: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface BreadCrumb {
|
||||||
|
name: string;
|
||||||
|
url: string;
|
||||||
|
}
|
||||||
|
|||||||
@ -128,9 +128,8 @@
|
|||||||
<label for="tus-retryCount">{{
|
<label for="tus-retryCount">{{
|
||||||
t("settings.tusUploadsRetryCount")
|
t("settings.tusUploadsRetryCount")
|
||||||
}}</label>
|
}}</label>
|
||||||
<input
|
<vue-number-input
|
||||||
class="input input--block"
|
controls
|
||||||
type="number"
|
|
||||||
v-model.number="settings.tus.retryCount"
|
v-model.number="settings.tus.retryCount"
|
||||||
id="tus-retryCount"
|
id="tus-retryCount"
|
||||||
min="0"
|
min="0"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user