diff --git a/Dockerfile-admin b/Dockerfile-admin index d43c2888..f2c285f2 100644 --- a/Dockerfile-admin +++ b/Dockerfile-admin @@ -1,4 +1,4 @@ -FROM golang:1-alpine as gobuild +FROM golang:1-alpine AS gobuild RUN apk add --no-cache git diff --git a/Dockerfile-checker b/Dockerfile-checker index 1343fbd2..144ac0a7 100644 --- a/Dockerfile-checker +++ b/Dockerfile-checker @@ -1,4 +1,4 @@ -FROM golang:1-alpine as gobuild +FROM golang:1-alpine AS gobuild RUN apk add --no-cache git diff --git a/Dockerfile-dashboard b/Dockerfile-dashboard index 7c24e279..b8291bba 100644 --- a/Dockerfile-dashboard +++ b/Dockerfile-dashboard @@ -1,4 +1,4 @@ -FROM golang:1-alpine as gobuild +FROM golang:1-alpine AS gobuild RUN apk add --no-cache git diff --git a/Dockerfile-evdist b/Dockerfile-evdist index 1b9bffec..45a2c506 100644 --- a/Dockerfile-evdist +++ b/Dockerfile-evdist @@ -1,4 +1,4 @@ -FROM golang:1-alpine as gobuild +FROM golang:1-alpine AS gobuild RUN apk add --no-cache git diff --git a/Dockerfile-frontend-ui b/Dockerfile-frontend-ui index 7226e1d8..a14b0c58 100644 --- a/Dockerfile-frontend-ui +++ b/Dockerfile-frontend-ui @@ -1,4 +1,4 @@ -FROM node:23-alpine as nodebuild +FROM node:23-alpine AS nodebuild WORKDIR /ui diff --git a/Dockerfile-generator b/Dockerfile-generator index 6b4c6a1d..2574e614 100644 --- a/Dockerfile-generator +++ b/Dockerfile-generator @@ -1,4 +1,4 @@ -FROM golang:1-alpine as gobuild +FROM golang:1-alpine AS gobuild RUN apk add --no-cache git diff --git a/Dockerfile-get-remote-files b/Dockerfile-get-remote-files index 6a71caa4..95e1c5f3 100644 --- a/Dockerfile-get-remote-files +++ b/Dockerfile-get-remote-files @@ -1,4 +1,4 @@ -FROM golang:1-alpine as gobuild +FROM golang:1-alpine AS gobuild RUN apk add --no-cache git diff --git a/Dockerfile-nginx b/Dockerfile-nginx index 74da7700..41326840 100644 --- a/Dockerfile-nginx +++ b/Dockerfile-nginx @@ -1,4 +1,4 @@ -FROM node:23-alpine as nodebuild +FROM node:23-alpine AS nodebuild WORKDIR /ui @@ -10,9 +10,16 @@ RUN npm install --network-timeout=100000 && \ FROM nginx:stable-alpine-slim -ENV FIC_BASEURL=/ \ - HOST_RECEIVER=receiver:8080 HOST_ADMIN=admin:8081 HOST_DASHBOARD=dashboard:8082 HOST_QA=qa:8083 \ - PATH_FILES=/srv/FILES PATH_STARTINGBLOCK=/srv/STARTINGBLOCK PATH_STATIC=/srv/htdocs-frontend PATH_SETTINGS=/srv/SETTINGSDIST PATH_TEAMS=/srv/TEAMS +ENV FIC_BASEURL / +ENV HOST_RECEIVER receiver:8080 +ENV HOST_ADMIN admin:8081 +ENV HOST_DASHBOARD dashboard:8082 +ENV HOST_QA qa:8083 +ENV PATH_FILES /srv/FILES +ENV PATH_STARTINGBLOCK /srv/STARTINGBLOCK +ENV PATH_STATIC /srv/htdocs-frontend +ENV PATH_SETTINGS /srv/SETTINGSDIST +ENV PATH_TEAMS /srv/TEAMS EXPOSE 80 diff --git a/Dockerfile-qa b/Dockerfile-qa index 7e2e6488..37f3a1b0 100644 --- a/Dockerfile-qa +++ b/Dockerfile-qa @@ -1,4 +1,4 @@ -FROM node:23-alpine as nodebuild +FROM node:23-alpine AS nodebuild WORKDIR /ui @@ -8,7 +8,7 @@ RUN npm install --network-timeout=100000 && \ npm run build -FROM golang:1-alpine as gobuild +FROM golang:1-alpine AS gobuild RUN apk add --no-cache git diff --git a/Dockerfile-receiver b/Dockerfile-receiver index 49d15871..f2cac038 100644 --- a/Dockerfile-receiver +++ b/Dockerfile-receiver @@ -1,4 +1,4 @@ -FROM golang:1-alpine as gobuild +FROM golang:1-alpine AS gobuild RUN apk add --no-cache git diff --git a/Dockerfile-remote-challenge-sync-airbus b/Dockerfile-remote-challenge-sync-airbus index 516dd6d1..47a5e167 100644 --- a/Dockerfile-remote-challenge-sync-airbus +++ b/Dockerfile-remote-challenge-sync-airbus @@ -1,4 +1,4 @@ -FROM golang:1-alpine as gobuild +FROM golang:1-alpine AS gobuild RUN apk add --no-cache git diff --git a/Dockerfile-remote-scores-sync-zqds b/Dockerfile-remote-scores-sync-zqds index 1a5c68f8..e5ff87fb 100644 --- a/Dockerfile-remote-scores-sync-zqds +++ b/Dockerfile-remote-scores-sync-zqds @@ -1,4 +1,4 @@ -FROM golang:1-alpine as gobuild +FROM golang:1-alpine AS gobuild RUN apk add --no-cache git diff --git a/Dockerfile-repochecker b/Dockerfile-repochecker index 8f74b1ad..d02bc1de 100644 --- a/Dockerfile-repochecker +++ b/Dockerfile-repochecker @@ -1,4 +1,4 @@ -FROM golang:1-alpine as gobuild +FROM golang:1-alpine AS gobuild RUN apk add --no-cache git diff --git a/frontend/fic/src/lib/components/CardTheme.svelte b/frontend/fic/src/lib/components/CardTheme.svelte index 086a3bc1..d32c51b9 100644 --- a/frontend/fic/src/lib/components/CardTheme.svelte +++ b/frontend/fic/src/lib/components/CardTheme.svelte @@ -44,7 +44,7 @@ style:filter={theme.locked ? "grayscale(60%)":null} > {/if} - + {#if exercice} {#if $exercices_idx[exercice.id].tags.includes("Reverse") || $exercices_idx[exercice.id].tags.includes("Reverse Engineering")} #Reverse diff --git a/frontend/fic/src/lib/components/NavTags.svelte b/frontend/fic/src/lib/components/NavTags.svelte index ae160056..0bb644ba 100644 --- a/frontend/fic/src/lib/components/NavTags.svelte +++ b/frontend/fic/src/lib/components/NavTags.svelte @@ -29,8 +29,8 @@ bind:value={filter} >
- {#each Object.keys($tags).sort(function (a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); }) as itag, index} - {#if (filter === "" && $tags[itag].count > 1) || (filter !== "" && itag.toLowerCase().indexOf(filter.toLowerCase()) >= 0)} + {#each Object.keys($tags).sort(function (a, b) { return a.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().localeCompare(b.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase()); }) as itag, index} + {#if (filter === "" && $tags[itag].count > 1) || (filter !== "" && itag.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().indexOf(filter.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase()) >= 0)} #{itag} diff --git a/frontend/fic/src/lib/components/RegistrationFormJoinTeam.svelte b/frontend/fic/src/lib/components/RegistrationFormJoinTeam.svelte index 75a3e395..81f43702 100644 --- a/frontend/fic/src/lib/components/RegistrationFormJoinTeam.svelte +++ b/frontend/fic/src/lib/components/RegistrationFormJoinTeam.svelte @@ -30,6 +30,12 @@ partJ = true; } + function JchangeTeam() { + value = { }; + + partJ = false; + } + function submit(event) { if (!partJ) { JvalidateTeam(); @@ -62,7 +68,11 @@ {/each} - + {#if partJ} + + {:else} + + {/if}
Veuillez indiquer une équipe valide.
diff --git a/frontend/fic/src/lib/stores/my.js b/frontend/fic/src/lib/stores/my.js index 2272dada..3dfe3ac9 100644 --- a/frontend/fic/src/lib/stores/my.js +++ b/frontend/fic/src/lib/stores/my.js @@ -37,6 +37,9 @@ function createMyStore() { }); } else if (res_my.status === 404) { update((m) => (null)); + if (cb) { + cb(null); + } } } diff --git a/frontend/fic/src/lib/stores/mythemes.js b/frontend/fic/src/lib/stores/mythemes.js index 26c96831..e1744866 100644 --- a/frontend/fic/src/lib/stores/mythemes.js +++ b/frontend/fic/src/lib/stores/mythemes.js @@ -59,6 +59,7 @@ export const tags = derived([my, themesStore], ([$my, $themesStore]) => { for (const key in $themesStore) { for (const exercice of $themesStore[key].exercices) { exercice.tags.forEach((tag) => { + tag = tag.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase(); if (!tags[tag]) tags[tag] = {count: 1, solved: 0}; else diff --git a/frontend/fic/src/routes/+layout.svelte b/frontend/fic/src/routes/+layout.svelte index 940da811..bec2495b 100644 --- a/frontend/fic/src/routes/+layout.svelte +++ b/frontend/fic/src/routes/+layout.svelte @@ -3,7 +3,9 @@ import "bootstrap-icons/font/bootstrap-icons.css"; import { base } from '$app/paths'; + import { page } from '$app/stores'; import { + Alert, Container, //Styles, } from '@sveltestrap/sveltestrap'; @@ -11,6 +13,7 @@ import Header from '$lib/components/Header.svelte'; import { challengeInfo } from '$lib/stores/challengeinfo'; + import { my } from '$lib/stores/my.js'; import { settings } from '$lib/stores/settings'; @@ -32,6 +35,21 @@
{/if}
+ +{#if !$my && $page.route.id != "/register"} + + {#if $settings.allowRegistration} + + Votre équipe n'est pas encore enregistrée. Rendez-vous sur cette page pour procéder à votre inscription. + + {:else} + + Il semblerait qu'il y ait eu un problème lors de l'attribution de votre certificat. Veuillez vous signaler auprès de notre équipe afin de corriger ce problème. + + {/if} + +{/if} +