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:
@@ -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'}`}
|
||||
|
||||
Reference in New Issue
Block a user