Remove ESLint configuration file and update type imports across components: Deleted eslint.config.js to streamline project setup. Updated type imports in layout, login, register, and other components to use direct imports for improved clarity and consistency. Enhanced error handling in various components and replaced apostrophes with HTML entities for better rendering.

This commit is contained in:
Julien Froidefond
2025-12-10 06:01:34 +01:00
parent 13b8971cc7
commit 44be5d2e98
12 changed files with 75 additions and 130 deletions

View File

@@ -1,4 +1,5 @@
import type { Metadata } from "next";
import type { ReactNode } from "react";
import { Orbitron, Rajdhani } from "next/font/google";
import "./globals.css";
import SessionProvider from "@/components/SessionProvider";
@@ -23,7 +24,7 @@ export const metadata: Metadata = {
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
children: ReactNode;
}>) {
return (
<html lang="fr" className={`${orbitron.variable} ${rajdhani.variable}`}>

View File

@@ -1,6 +1,6 @@
"use client";
import { useState } from "react";
import { useState, type FormEvent } from "react";
import { signIn } from "next-auth/react";
import { useRouter } from "next/navigation";
import Link from "next/link";
@@ -13,7 +13,7 @@ export default function LoginPage() {
const [error, setError] = useState("");
const [loading, setLoading] = useState(false);
const handleSubmit = async (e: React.FormEvent) => {
const handleSubmit = async (e: FormEvent) => {
e.preventDefault();
setError("");
setLoading(true);
@@ -128,7 +128,7 @@ export default function LoginPage() {
href="/register"
className="text-pixel-gold hover:text-orange-400 transition"
>
S'inscrire
S&apos;inscrire
</Link>
</p>
</div>
@@ -138,4 +138,3 @@ export default function LoginPage() {
</main>
);
}

View File

@@ -1,6 +1,6 @@
"use client";
import { useState, useRef } from "react";
import { useState, useRef, type ChangeEvent, type FormEvent } from "react";
import { useRouter } from "next/navigation";
import Link from "next/link";
import Navigation from "@/components/Navigation";
@@ -24,7 +24,7 @@ export default function RegisterPage() {
const fileInputRef = useRef<HTMLInputElement>(null);
const handleChange = (
e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>
e: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>
) => {
setFormData({
...formData,
@@ -32,7 +32,7 @@ export default function RegisterPage() {
});
};
const handleAvatarUpload = async (e: React.ChangeEvent<HTMLInputElement>) => {
const handleAvatarUpload = async (e: ChangeEvent<HTMLInputElement>) => {
const file = e.target.files?.[0];
if (!file) return;
@@ -110,14 +110,14 @@ export default function RegisterPage() {
setUserId(data.userId);
setStep(2);
} catch (err) {
} catch {
setError("Une erreur est survenue");
} finally {
setLoading(false);
}
};
const handleStep2Submit = async (e: React.FormEvent) => {
const handleStep2Submit = async (e: FormEvent) => {
e.preventDefault();
setError("");
@@ -245,7 +245,7 @@ export default function RegisterPage() {
htmlFor="username"
className="block text-sm font-semibold text-gray-300 mb-2 uppercase tracking-wider"
>
Nom d'utilisateur
Nom d&apos;utilisateur
</label>
<input
id="username"
@@ -413,7 +413,7 @@ export default function RegisterPage() {
htmlFor="username-step2"
className="block text-sm font-semibold text-gray-300 mb-2 uppercase tracking-wider"
>
Nom d'utilisateur
Nom d&apos;utilisateur
</label>
<input
id="username-step2"