chore(frontend): ESLint dla Vue i TypeScriptu
Konfiguracja we flat configu: zalecane zestawy js, typescript-eslint oraz eslint-plugin-vue. Bloki <script setup lang="ts"> obsługuje vue-eslint-parser przekazujący zawartość do parsera TypeScriptu. Odstępstwa od domyślnych reguł: - vue/multi-word-component-names wyłączone - kafelki panelu mają nazwy własne i nie każda jest dwuczłonowa - no-unused-vars przepuszcza nazwy z prefiksem podkreślenia - no-console wyłączone dla testu dymnego, który raportuje wynik na stdout Szablony przepuszczone przez eslint --fix, co ujednoliciło łamanie atrybutów i domykanie znaczników. Po zmianach kontrola typów, build i test dymny nadal przechodzą. Dochodzą skrypty npm: lint (z --max-warnings 0) oraz lint:fix. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1b5ce2109b
commit
105f3e6c6a
17 files changed
+1682
-84
No files matched your search
@@ -34,18 +34,33 @@ function play(filename: string) {
|
||||
<template>
|
||||
<div class="glass-card uploads-panel">
|
||||
<div class="queue-header">
|
||||
<h2 class="card-title"><FolderUp /> Serwerowa baza plików</h2>
|
||||
<h2 class="card-title">
|
||||
<FolderUp /> Serwerowa baza plików
|
||||
</h2>
|
||||
<span class="queue-count">{{ filesLabel(files.length) }}</span>
|
||||
</div>
|
||||
|
||||
<div class="upload-area">
|
||||
<input ref="fileInput" type="file" hidden multiple @change="onFilesPicked" />
|
||||
<button class="btn btn-secondary btn-block" :disabled="uploading" @click="fileInput?.click()">
|
||||
<input
|
||||
ref="fileInput"
|
||||
type="file"
|
||||
hidden
|
||||
multiple
|
||||
@change="onFilesPicked"
|
||||
>
|
||||
<button
|
||||
class="btn btn-secondary btn-block"
|
||||
:disabled="uploading"
|
||||
@click="fileInput?.click()"
|
||||
>
|
||||
<UploadCloud /> Prześlij plik wideo/audio na serwer
|
||||
</button>
|
||||
<div v-if="uploading" class="upload-progress">
|
||||
<div
|
||||
v-if="uploading"
|
||||
class="upload-progress"
|
||||
>
|
||||
<div class="progress-bar-bg">
|
||||
<div class="progress-bar-fill indeterminate"></div>
|
||||
<div class="progress-bar-fill indeterminate" />
|
||||
</div>
|
||||
<span class="time-text">{{ uploadLabel }}</span>
|
||||
</div>
|
||||
@@ -60,14 +75,20 @@ function play(filename: string) {
|
||||
@enqueue="play"
|
||||
@remove="remove"
|
||||
/>
|
||||
<div v-if="!files.length" class="empty-queue-message">
|
||||
<div
|
||||
v-if="!files.length"
|
||||
class="empty-queue-message"
|
||||
>
|
||||
<FolderOpen />
|
||||
<p>Brak przesłanych plików na serwerze.</p>
|
||||
</div>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<button class="btn btn-secondary btn-block" @click="$emit('openLibrary')">
|
||||
<button
|
||||
class="btn btn-secondary btn-block"
|
||||
@click="$emit('openLibrary')"
|
||||
>
|
||||
<FolderOpen /> Pokaż wszystkie pliki na serwerze ({{ files.length }})
|
||||
</button>
|
||||
</div>
|
||||
|
||||
Reference in new issue
Block a user