feat(ui): full UI layer + migrations + docker fixes #147

Merged
djalim merged 11 commits from PMPR-ui into develop 2026-04-27 17:00:56 +00:00
2 changed files with 18 additions and 24 deletions
Showing only changes of commit 378cbb0c06 - Show all commits
+9 -12
View File
@@ -73,10 +73,9 @@ export default function ImportNotes() {
} }
} }
success.value = success.value = `Import terminé — ${imported} ajouté${
`Import terminé — ${imported} ajouté${imported !== 1 ? "s" : ""}${ imported !== 1 ? "s" : ""
failed > 0 ? `, ${failed} erreur${failed !== 1 ? "s" : ""}` : "" }${failed > 0 ? `, ${failed} erreur${failed !== 1 ? "s" : ""}` : ""}`;
}`;
} catch { } catch {
error.value = "Erreur lors de la lecture du fichier."; error.value = "Erreur lors de la lecture du fichier.";
} finally { } finally {
@@ -109,14 +108,12 @@ export default function ImportNotes() {
onClick={() => inputRef.current?.click()} onClick={() => inputRef.current?.click()}
> >
<span class="drop-zone-icon"></span> <span class="drop-zone-icon"></span>
{file.value {file.value ? <span class="drop-zone-file">{file.value.name}</span> : (
? <span class="drop-zone-file">{file.value.name}</span> <>
: ( <span class="drop-zone-text">Glisser le fichier .xlsx ici</span>
<> <span class="drop-zone-hint">ou cliquer pour parcourir</span>
<span class="drop-zone-text">Glisser le fichier .xlsx ici</span> </>
<span class="drop-zone-hint">ou cliquer pour parcourir</span> )}
</>
)}
</div> </div>
{error.value && <p class="state-error">{error.value}</p>} {error.value && <p class="state-error">{error.value}</p>}
@@ -73,10 +73,9 @@ export default function UploadStudents() {
} }
} }
success.value = success.value = `Import terminé — ${imported} ajouté${
`Import terminé — ${imported} ajouté${imported !== 1 ? "s" : ""}${ imported !== 1 ? "s" : ""
failed > 0 ? `, ${failed} erreur${failed !== 1 ? "s" : ""}` : "" }${failed > 0 ? `, ${failed} erreur${failed !== 1 ? "s" : ""}` : ""}`;
}`;
} catch { } catch {
error.value = "Erreur lors de la lecture du fichier."; error.value = "Erreur lors de la lecture du fichier.";
} finally { } finally {
@@ -109,14 +108,12 @@ export default function UploadStudents() {
onClick={() => inputRef.current?.click()} onClick={() => inputRef.current?.click()}
> >
<span class="drop-zone-icon"></span> <span class="drop-zone-icon"></span>
{file.value {file.value ? <span class="drop-zone-file">{file.value.name}</span> : (
? <span class="drop-zone-file">{file.value.name}</span> <>
: ( <span class="drop-zone-text">Glisser le fichier .xlsx ici</span>
<> <span class="drop-zone-hint">ou cliquer pour parcourir</span>
<span class="drop-zone-text">Glisser le fichier .xlsx ici</span> </>
<span class="drop-zone-hint">ou cliquer pour parcourir</span> )}
</>
)}
</div> </div>
{error.value && <p class="state-error">{error.value}</p>} {error.value && <p class="state-error">{error.value}</p>}