refactor: update ESLint configuration and improve Svelte component structure

- Added .eslintcache to .gitignore for better cache management.
- Enhanced ESLint configuration to ignore specific directories and files for cleaner linting.
- Updated Svelte components to use unique keys in loops for improved performance and maintainability.
- Cleaned up imports and standardized formatting across various components for better code clarity.
- Resolved merge conflicts in multiple Svelte files to ensure consistent functionality.
This commit is contained in:
2025-11-12 08:45:40 -03:00
parent dab4754e47
commit 2fb934ba18
8 changed files with 156 additions and 1474 deletions

View File

@@ -7,7 +7,7 @@
import AprovarAusencias from '$lib/components/AprovarAusencias.svelte';
import CalendarioAusencias from '$lib/components/ausencias/CalendarioAusencias.svelte';
import { generateAvatarGallery } from '$lib/utils/avatars';
import type { Doc, Id } from '@sgse-app/backend/convex/_generated/dataModel';
import type { Id } from '@sgse-app/backend/convex/_generated/dataModel';
import { X, Calendar } from 'lucide-svelte';
import type { FunctionReturnType } from 'convex/server';
@@ -17,13 +17,11 @@
let abaAtiva = $state<
'meu-perfil' | 'minhas-ferias' | 'minhas-ausencias' | 'aprovar-ferias' | 'aprovar-ausencias'
>('meu-perfil');
<<<<<<< HEAD
let solicitacaoSelecionada = $state<FunctionReturnType<typeof api.ferias.obterDetalhes> | null>(
null
);
=======
let solicitacaoSelecionada = $state<Doc<'solicitacoesFerias'> | null>(null);
>>>>>>> origin
let mostrarModalFoto = $state(false);
let uploadandoFoto = $state(false);
let erroUpload = $state('');
@@ -250,16 +248,8 @@
document.body.appendChild(toast);
setTimeout(() => toast.remove(), 3000);
} catch (e: unknown) {
<<<<<<< HEAD
const error = e as Error;
erroUpload = error.message || 'Erro ao fazer upload da foto';
=======
const errorMessage = e instanceof Error ? e.message : String(e);
erroUpload = errorMessage || 'Erro ao fazer upload da foto';
// Reverter mudança local se houver erro
fotoPerfilLocal = currentUser?.data?.fotoPerfil || null;
avatarLocal = currentUser?.data?.avatar || null;
>>>>>>> origin
} finally {
uploadandoFoto = false;
}
@@ -296,16 +286,8 @@
document.body.appendChild(toast);
setTimeout(() => toast.remove(), 3000);
} catch (e: unknown) {
<<<<<<< HEAD
const error = e as Error;
erroUpload = error.message || 'Erro ao salvar avatar';
=======
const errorMessage = e instanceof Error ? e.message : String(e);
erroUpload = errorMessage || 'Erro ao salvar avatar';
// Reverter mudança local se houver erro
avatarLocal = currentUser?.data?.avatar || null;
fotoPerfilLocal = currentUser?.data?.fotoPerfil || null;
>>>>>>> origin
} finally {
uploadandoFoto = false;
}
@@ -1343,14 +1325,7 @@
<td>{solicitacao.anoReferencia}</td>
<td>{solicitacao.periodos.length} período(s)</td>
<td class="font-bold"
<<<<<<< HEAD
>{solicitacao.periodos.reduce((acc, p) => acc + p.diasCorridos, 0)} dias</td
=======
>{solicitacao.periodos.reduce(
(acc: number, p: { diasCorridos: number }) => acc + p.diasCorridos,
0
)} dias</td
>>>>>>> origin
>
<td>
<div class={`badge ${getStatusBadge(solicitacao.status)}`}>
@@ -1737,14 +1712,7 @@
<td class="font-semibold">{solicitacao.anoReferencia}</td>
<td class="font-semibold">{solicitacao.periodos.length}</td>
<td class="text-lg font-bold"
<<<<<<< HEAD
>{solicitacao.periodos.reduce((acc, p) => acc + p.diasCorridos, 0)}</td
=======
>{solicitacao.periodos.reduce(
(acc: number, p: { diasCorridos: number }) => acc + p.diasCorridos,
0
)}</td
>>>>>>> origin
>
<td>
<div
@@ -2087,11 +2055,7 @@
<div
class="bg-base-200 grid max-h-[500px] grid-cols-3 gap-4 overflow-y-auto rounded-2xl p-6 shadow-inner md:grid-cols-5 lg:grid-cols-6"
>
<<<<<<< HEAD
{#each avatarGallery as avatar (avatar.id)}
=======
{#each avatarGallery as avatar (avatar.url)}
>>>>>>> origin
<button
type="button"
class={`flex cursor-pointer flex-col items-center rounded-xl p-2 transition-all hover:scale-110 ${avatarSelecionado === avatar.url ? 'ring-primary bg-primary/10 scale-105 ring-4' : 'hover:ring-primary/50 hover:bg-base-100 hover:ring-2'}`}