From 340314b033908f24150df68a92ad39c141016bff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Truite=20S=C3=A9ch=C3=A9e?= Date: Thu, 4 Apr 2024 00:40:40 +0200 Subject: [PATCH 1/3] fix: replace sometimes unsupported by widely supported --- src/App.jsx | 2 +- src/components/generic/Window.jsx | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index 7589f65d..ea645ca0 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -731,7 +731,7 @@ export default function App() { const gradesFromJson = grades[activeAccount].notes; const subjectDatas = {}; - const lastGrades = gradesFromJson.toSorted((elA, elB) => (new Date(elA.dateSaisie)).getTime() - (new Date(elB.dateSaisie)).getTime()).slice(-3); + const lastGrades = [...gradesFromJson].sort((elA, elB) => (new Date(elA.dateSaisie)).getTime() - (new Date(elB.dateSaisie)).getTime()).slice(-3); for (let grade of (gradesFromJson ?? [])) { // handle mock exam periods diff --git a/src/components/generic/Window.jsx b/src/components/generic/Window.jsx index 05dce9b2..dd939a33 100644 --- a/src/components/generic/Window.jsx +++ b/src/components/generic/Window.jsx @@ -226,7 +226,8 @@ export function WindowsContainer({ children, name = "", className = "", id = "", function sortByCSSOrder(elements) { - return elements.toSorted((elA, elB) => parseInt(elA?.style.order) - parseInt(elB?.style.order)); + const elementsCopy = [...elements]; + return elementsCopy.sort((elA, elB) => parseInt(elA?.style.order) - parseInt(elB?.style.order)); } From 433b9aa495ea2236e54d2cc5b829a8ffbcd0ed6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Truite=20S=C3=A9ch=C3=A9e?= Date: Thu, 4 Apr 2024 00:50:06 +0200 Subject: [PATCH 2/3] refactor(EdpUnblock): improve information clarity --- src/App.jsx | 2 +- src/components/EdpUnblock/EdpUnblock.jsx | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index ea645ca0..1a7a3d17 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1049,7 +1049,7 @@ export default function App() {
-

Afin de contourner les récentes restrictions de EcoleDirecte, Ecole Directe Plus a besoin de son extension pour fonctionner.

+

Ecole Directe Plus a besoin de son extension de navigateur pour fonctionner. (fourni un accès continu à l'API d'EcoleDirecte)


diff --git a/src/components/EdpUnblock/EdpUnblock.jsx b/src/components/EdpUnblock/EdpUnblock.jsx index c6cc5399..c5300bf8 100644 --- a/src/components/EdpUnblock/EdpUnblock.jsx +++ b/src/components/EdpUnblock/EdpUnblock.jsx @@ -48,10 +48,10 @@ const browserLogosInfos = { }, } -const userOS = getOS(); -const userBrowser = getBrowser(); -// const userOS = "Android"; -// const userBrowser = "Edge"; +// const userOS = getOS(); +// const userBrowser = getBrowser(); +const userOS = "iOS"; +const userBrowser = "Edge"; const nonCompatibleIOSBrowsers = ["Safari", "Chromium", "Chrome", "Edge", "Opera", "Firefox"] const nonCompatibleAndroidBrowsers = ["Safari", "Chromium", "Chrome", "Edge", "Opera"] // le safari est franchement improbable mais edge case on sait jamais console.log("userOS:", userOS, "userBrowser:", userBrowser); @@ -119,8 +119,8 @@ export default function EdpUnblock() {

Ecole Directe Plus Unblock

- {compatibilityCondition ? <>

Malheureusement, l'extension Ecole Directe Plus Unblock n'est pas disponible sur votre navigateur. 😥

S'il vous plaît considérez l'usage d'un autre navigateur comme {userOS === "iOS" ? "Orion" : "Firefox"}.

- :

Ecole Directe Plus a besoin de cette extension de navigateur pour accéder au contenu fourni par l’API d’EcoleDirecte

} +

Ecole Directe Plus a besoin de cette extension de navigateur pour accéder au contenu fourni par l’API d’EcoleDirecte.

+ {compatibilityCondition ? <>

Malheureusement, l'extension Ecole Directe Plus Unblock n'est pas disponible sur votre navigateur. 😥

S'il vous plaît considérez l'usage d'un navigateur compatible comme le {userOS === "iOS" ? "navigateur Orion" : "navigateur Firefox"}.

: null} {browserLogosInfos[userBrowser].logo} {compatibilityCondition ? Navigateur incompatible : Ajouter l’extension} @@ -136,7 +136,7 @@ export default function EdpUnblock() {

Qu'est-ce qu'Ecole Directe Plus Unblock ?

EDP Unblock est une extension de navigateur qui offre un accès ininterrompu à Ecole Directe Plus en donnant l'accès en continu aux données fournies par l'API d'EcoleDirecte. Cette extension est nécessaire au bon fonctionnement d'Ecole Directe Plus.

Où et comment installer EDP Unblock ?

-

EDP Unblock étant une extension de navigateur, la source d'installation diffère en fonction de votre navigateur et votre OS. Cliquez sur le bouton "Ajouter l'extension" ci-dessus et vous devriez être redirigé automatiquement vers la boutique d'extensions compatible avec votre navigateur. Mise en garde : EDP Unblock n'est pas disponible sur tous les navigateurs suivant les plateformes. Sur iOS et iPadOS, Apple restreint fortement la distribution d'extensions, EDP Unblock sera donc uniquement disponible sur le navigateur Orion. Si vous êtes sur un appareil Android, considérez l'usage du navigateur Firefox ou KiwiBrowser. Si vous êtes sur MacOS, tous les navigateurs hormis Safari devrait être compatibles avec EDP Unblock. Enfin, si vous utilisez un ordinateur sous Windows ou Linux, la grande majorité des navigateurs devraient être compatibles avec l'extension (basé Chromium : Chrome, Edge, Brave, Opera, ... ; basé Gecko : Firefox)

+

EDP Unblock étant une extension de navigateur, la source d'installation diffère en fonction de votre navigateur et votre OS. Cliquez sur le bouton "Ajouter l'extension" ci-dessus et vous devriez être redirigé automatiquement vers la boutique d'extensions compatible avec votre navigateur. Mise en garde : EDP Unblock n'est pas disponible sur tous les navigateurs suivant les plateformes. Sur iOS et iPadOS, Apple restreint fortement la distribution d'extensions, EDP Unblock sera donc uniquement disponible sur le navigateur Orion. Si vous êtes sur un appareil Android, considérez l'usage du navigateur Firefox ou KiwiBrowser. Si vous êtes sur MacOS, tous les navigateurs hormis Safari devrait être compatibles avec EDP Unblock. Enfin, si vous utilisez un ordinateur sous Windows ou Linux, la grande majorité des navigateurs devraient être compatibles avec l'extension (basé sur Chromium : Chrome, Edge, Brave, Opera, ... ; basé sur Gecko : Firefox)

Vie privée et confidentialité

EDP Unblock est exclusivement active sur les domaines `ecole-directe.plus` ainsi que `ecoledirecte.com`. L'extension ne peut pas accéder aux informations provenant de n'importe quel autre site web. De plus, EDP Unblock ne lit aucune donnée : l'extension sert simplement de passerelle aux requêtes pour "arriver correctement à destination", mais n'a pas accès à leur contenu. Ainsi, EDP Unblock ne collecte aucune donnée et effectue toutes ces opérations en local sur l'appareil du client.

Divers

From a72799e0fa19a9fad786ed438f5f8497bd1ba31f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Truite=20S=C3=A9ch=C3=A9e?= Date: Thu, 4 Apr 2024 00:51:13 +0200 Subject: [PATCH 3/3] fix(EDPUnblock): reset dynamic OS and Browser info retrieving --- src/components/EdpUnblock/EdpUnblock.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/EdpUnblock/EdpUnblock.jsx b/src/components/EdpUnblock/EdpUnblock.jsx index c5300bf8..0cf0eb7a 100644 --- a/src/components/EdpUnblock/EdpUnblock.jsx +++ b/src/components/EdpUnblock/EdpUnblock.jsx @@ -48,10 +48,10 @@ const browserLogosInfos = { }, } -// const userOS = getOS(); -// const userBrowser = getBrowser(); -const userOS = "iOS"; -const userBrowser = "Edge"; +const userOS = getOS(); +const userBrowser = getBrowser(); +// const userOS = "iOS"; +// const userBrowser = "Edge"; const nonCompatibleIOSBrowsers = ["Safari", "Chromium", "Chrome", "Edge", "Opera", "Firefox"] const nonCompatibleAndroidBrowsers = ["Safari", "Chromium", "Chrome", "Edge", "Opera"] // le safari est franchement improbable mais edge case on sait jamais console.log("userOS:", userOS, "userBrowser:", userBrowser);