diff --git a/src/main/java/fr/titionfire/ffsaf/ws/CompetitionWS.java b/src/main/java/fr/titionfire/ffsaf/ws/CompetitionWS.java
index c22e5ef..d5246f3 100644
--- a/src/main/java/fr/titionfire/ffsaf/ws/CompetitionWS.java
+++ b/src/main/java/fr/titionfire/ffsaf/ws/CompetitionWS.java
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import fr.titionfire.ffsaf.data.repository.CompetitionRepository;
import fr.titionfire.ffsaf.domain.service.CompetPermService;
import fr.titionfire.ffsaf.net2.MessageType;
+import fr.titionfire.ffsaf.rest.data.SimpleCompetData;
import fr.titionfire.ffsaf.utils.SecurityCtx;
import fr.titionfire.ffsaf.ws.data.WelcomeInfo;
import fr.titionfire.ffsaf.ws.recv.*;
@@ -118,10 +119,13 @@ public class CompetitionWS {
waitingResponse.put(connection, new HashMap<>());
})
.map(cm -> {
+ SimpleCompetData data = SimpleCompetData.fromModel(cm);
WelcomeInfo welcomeInfo = new WelcomeInfo();
welcomeInfo.setName(cm.getName());
welcomeInfo.setPerm(connection.userData().get(UserData.TypedKey.forString("prem")));
+ welcomeInfo.setShow_blason(data.isShow_blason());
+ welcomeInfo.setShow_flag(data.isShow_flag());
return new MessageOut(UUID.randomUUID(), "welcomeInfo", MessageType.NOTIFY, welcomeInfo);
});
diff --git a/src/main/java/fr/titionfire/ffsaf/ws/data/WelcomeInfo.java b/src/main/java/fr/titionfire/ffsaf/ws/data/WelcomeInfo.java
index eebe679..a1dff22 100644
--- a/src/main/java/fr/titionfire/ffsaf/ws/data/WelcomeInfo.java
+++ b/src/main/java/fr/titionfire/ffsaf/ws/data/WelcomeInfo.java
@@ -8,4 +8,6 @@ import lombok.Data;
public class WelcomeInfo {
private String name;
private String perm;
+ private boolean show_blason;
+ private boolean show_flag;
}
diff --git a/src/main/webapp/src/hooks/useComb.jsx b/src/main/webapp/src/hooks/useComb.jsx
index 4f1fb7b..aa62ac0 100644
--- a/src/main/webapp/src/hooks/useComb.jsx
+++ b/src/main/webapp/src/hooks/useComb.jsx
@@ -25,7 +25,7 @@ function reducer(state, action) {
country: action.payload.data.country,
})
if (state[comb.id] === undefined || !compareCombs(comb, state[comb.id])) {
- console.debug("Updating comb", comb);
+ //console.debug("Updating comb", comb);
return {
...state,
[comb.id]: comb
@@ -49,7 +49,7 @@ function reducer(state, action) {
for (const o of combs) {
newCombs[o.id] = o;
}
- console.debug("Updating combs", newCombs);
+ //console.debug("Updating combs", newCombs);
return {
...state,
diff --git a/src/main/webapp/src/hooks/useWS.jsx b/src/main/webapp/src/hooks/useWS.jsx
index ef5f0c0..79fce96 100644
--- a/src/main/webapp/src/hooks/useWS.jsx
+++ b/src/main/webapp/src/hooks/useWS.jsx
@@ -44,6 +44,7 @@ export function WSProvider({url, onmessage, children}) {
const {is_authenticated} = useAuth()
const [isReady, setIsReady] = useState(false)
const [doReconnect, setDoReconnect] = useState(false)
+ const [welcomeData, setWelcomeData] = useState({name: "", perm: "", show_blason: true, show_flag: false})
const [state, dispatch] = useReducer(reducer, {listener: []})
const ws = useRef(null)
const listenersRef = useRef([])
@@ -58,6 +59,15 @@ export function WSProvider({url, onmessage, children}) {
listenersRef.current = state.listener
}, [state.listener])
+ const welcomeListener = ({data}) => {
+ setWelcomeData({
+ name: data.name,
+ perm: data.perm,
+ show_blason: data.show_blason,
+ show_flag: data.show_flag
+ })
+ }
+
useEffect(() => {
if (!doReconnect && !is_authenticated && isReady)
return;
@@ -73,7 +83,7 @@ export function WSProvider({url, onmessage, children}) {
newSocket.onclose = ws.current.onclose
newSocket.onmessage = ws.current.onmessage
ws.current = newSocket
- }catch (e) {
+ } catch (e) {
}
}, 5000);
@@ -87,7 +97,7 @@ export function WSProvider({url, onmessage, children}) {
setDoReconnect(true)
console.log(`WSProvider ${id} mounted ${mountCounter[id]} time(s)`);
- if (mountCounter[id] === 1 && (ws.current === null || ws.current.readyState >= WebSocket.CLOSING)){
+ if (mountCounter[id] === 1 && (ws.current === null || ws.current.readyState >= WebSocket.CLOSING)) {
console.log("WSProvider: connecting to", url);
const socket = new WebSocket(url)
@@ -122,6 +132,12 @@ export function WSProvider({url, onmessage, children}) {
console.error("Listener callback error:", err)
}
});
+
+ if (msg.code === 'welcomeInfo') {
+ welcomeListener({...msg})
+ isHandled = true;
+ }
+
if (!isHandled && onmessage)
onmessage(JSON.parse(event.data))
}
@@ -170,7 +186,7 @@ export function WSProvider({url, onmessage, children}) {
}
}
- console.log("WSProvider: sending message", {uuid, code, type, data});
+ //console.log("WSProvider: sending message", {uuid, code, type, data});
ws.current?.send(JSON.stringify({
uuid: uuid,
code: code,
@@ -183,7 +199,7 @@ export function WSProvider({url, onmessage, children}) {
}) => {
if (isReadyRef.current) {
send2(uuid, code, type, data, resolve, reject);
- }else {
+ } else {
let counter = 0;
const waitInterval = setInterval(() => {
if (isReadyRef.current) {
@@ -200,18 +216,19 @@ export function WSProvider({url, onmessage, children}) {
}
- const ret = {isReady, dispatch, send, wait_length: callbackRef}
+ const ret = {isReady, dispatch, send, wait_length: callbackRef, welcomeData}
return