-
- {{ formatTime }}
-
-
-
-
-
-
-
+
+
+
+ {{ formatTime }}
+
+
+
+
+
+
@@ -20,99 +19,82 @@
const currentTime = ref(null);
const elapsedTime = ref(0);
- const formatTime = computed(() => {
- let seconds = Math.floor(elapsedTime.value / 1000);
- let minutes = Math.floor(seconds / 60);
+ const formatTime = computed(() => {
+ let seconds = Math.floor(elapsedTime.value / 1000);
+ let minutes = Math.floor(seconds / 60);
let hours = Math.floor(minutes / 60);
-
- seconds = seconds % 60;
- minutes = minutes % 60;
-
- return `${pad(hours)}:${pad(minutes)}:${pad(seconds)}`;
- });
-
- const pad = (number) => {
- return (number < 10 ? "0" : "") + number;
- };
-
- const startTimer = () => {
- if (!timerActive.value) {
- timerActive.value = true;
- startTime.value = Date.now() - elapsedTime.value;
- updateTimer();
- }
- };
-
- const pauseTimer = () => {
- if (timerActive.value) {
- timerActive.value = false;
- clearInterval(currentTime.value);
- }
- };
-
- const resetTimer = () => {
- elapsedTime.value = 0;
- timerActive.value = false;
- clearInterval(currentTime.value);
- };
-
- const updateTimer = () => {
- currentTime.value = setInterval(() => {
- elapsedTime.value = Date.now() - startTime.value;
- }, 1000);
- };
-
- onBeforeUnmount(() => {
- clearInterval(currentTime.value);
- });
-
-
-
+
diff --git a/ui/src/components/GameStatus.vue b/ui/src/components/GameStatus.vue
index 0fac0a4..2882ec7 100644
--- a/ui/src/components/GameStatus.vue
+++ b/ui/src/components/GameStatus.vue
@@ -1,45 +1,41 @@
-
-
- Buzzer connectés
-
-
-
- mdi-radiobox-marked
- mdi-radiobox-marked
- mdi-radiobox-marked
- mdi-radiobox-marked
-
-
-
-
-
-
-
-
+
+
+ Buzzer connectés
+
+
+ mdi-radiobox-marked
+ mdi-radiobox-marked
+ mdi-radiobox-marked
+ mdi-radiobox-marked
+
+
+
+
+
\ No newline at end of file
diff --git a/ui/src/components/MQTTDebugConsole.vue b/ui/src/components/MQTTDebugConsole.vue
index fa1f871..6d233ec 100644
--- a/ui/src/components/MQTTDebugConsole.vue
+++ b/ui/src/components/MQTTDebugConsole.vue
@@ -1,63 +1,58 @@
-
-
-
- mdi-console-line
- Console MQTT
-
-
-
- {{ log.timestamp }}
- -
- {{ log.message }}
-
-
-
-
+
+
+
+ mdi-console-line
+ Console MQTT
+
+
+
+ {{ log.timestamp }} -
+ {{ log.message }}
+
+
+
+
diff --git a/ui/src/components/MQTTDebugPublish.vue b/ui/src/components/MQTTDebugPublish.vue
index 9e7db77..7e32a44 100644
--- a/ui/src/components/MQTTDebugPublish.vue
+++ b/ui/src/components/MQTTDebugPublish.vue
@@ -1,17 +1,16 @@
-
-
-
- mdi-send
- Publier un message
-
-
-
-
-
- Publier
-
-
+
+
+
+ mdi-send
+ Publier un message
+
+
+
+
+
Publier
+
+
@@ -19,49 +18,35 @@
import { publishMessage } from '@/services/mqttService'
export default {
- data() {
- return {
- message: '', // Initialiser la variable message
- selectedTopic: 'topic1',
- topics: [
- '/display/control',
- '/sound/playsound',
- 'topic3',
- 'topic4',
- 'topic5',
- 'topic6',
- 'topic7',
- 'topic8',
- 'topic9',
- 'topic10'
- ] // Liste des topics
- }
- },
- methods: {
- publishMessage() {
- publishMessage(this.selectedTopic, this.message)
- }
+ data() { return { message: '', // Initialiser la variable message
+ selectedTopic: 'topic1',
+ topics: [ '/display/control', '/sound/playsound', 'topic3', 'topic4', 'topic5', 'topic6', 'topic7', 'topic8', 'topic9', 'topic10' ] // Liste des topics
+ }
+},
+ methods: {
+ publishMessage() {
+ publishMessage(this.selectedTopic, this.message) }
}
}
\ No newline at end of file
diff --git a/ui/src/components/MqttButton.vue b/ui/src/components/MqttButton.vue
index bb8acec..c778ccf 100644
--- a/ui/src/components/MqttButton.vue
+++ b/ui/src/components/MqttButton.vue
@@ -1,22 +1,22 @@
-
-
-
+
+
+
diff --git a/ui/src/components/RouterMenu.vue b/ui/src/components/RouterMenu.vue
index 4bf991d..79b5a6f 100644
--- a/ui/src/components/RouterMenu.vue
+++ b/ui/src/components/RouterMenu.vue
@@ -1,8 +1,8 @@
-
diff --git a/ui/src/plugins/router.js b/ui/src/plugins/router.js
index 76ba658..b8a96dc 100644
--- a/ui/src/plugins/router.js
+++ b/ui/src/plugins/router.js
@@ -3,32 +3,30 @@ import HomeView from '../views/HomeView.vue'
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
- routes: [
- {
- path: '/',
- name: 'Accueil',
- component: HomeView
- },
- {
- path: '/game/control',
- name: 'Game Control (Présentateur)',
- component: () => import('@/views/GameControl.vue')
- },
- {
- path: '/game/display',
- name: 'Game Display (Projection)',
- component: () => import('@/views/GameDisplay.vue')
- },
- {
- path: '/mqtt-debugger',
- name: 'Debugger MQTT',
- component: () => import('@/views/MQTTDebugView.vue')
- },
- {
- path: '/settings',
- name: 'Paramètres',
- component: () => import('@/views/SettingsView.vue')
- }
+ routes: [ {
+ path: '/',
+ name: 'Accueil',
+ component: HomeView
+ },
+ {
+ path: '/game/control',
+ name: 'Game Control (Présentateur)',
+ component: () => import('@/views/GameControl.vue')
+ },
+ {
+ path: '/game/display',
+ name: 'Game Display (Projection)',
+ component: () => import('@/views/GameDisplay.vue')
+ },
+ {
+ path: '/mqtt-debugger',
+ name: 'Debugger MQTT',
+ component: () => import('@/views/MQTTDebugView.vue')
+ },
+ {
+ path: '/settings',
+ name: 'Paramètres',
+ component: () => import('@/views/SettingsView.vue') }
]
})
diff --git a/ui/src/plugins/vuetify.js b/ui/src/plugins/vuetify.js
index fabbca8..cd1192a 100644
--- a/ui/src/plugins/vuetify.js
+++ b/ui/src/plugins/vuetify.js
@@ -13,46 +13,45 @@ import { createVuetify } from 'vuetify'
const CustomThemeDark = {
dark: true,
- colors: {
- background: '#121212',
- primary: '#d42828',
- secondary: '#F44336',
- accent: '#FFC107',
- error: '#e91e1e',
- warning: '#FFC107',
- info: '#607D8B',
- success: '#e91e1e',
- BuzzerBlue: '#2867d4',
- BuzzerOrange: '#d48f28',
- BuzzerRed: '#d42828',
+ colors: {
+ background: '#121212',
+ primary: '#d42828',
+ secondary: '#F44336',
+ accent: '#FFC107',
+ error: '#e91e1e',
+ warning: '#FFC107',
+ info: '#607D8B',
+ success: '#e91e1e',
+ BuzzerBlue: '#2867d4',
+ BuzzerOrange: '#d48f28',
+ BuzzerRed: '#d42828',
BuzzerGreen: '#28d42e',
}
}
const CustomThemeLight = {
dark: false,
- colors: {
- background: '#ffffff',
- primary: '#d42828',
- secondary: '#F44336',
- accent: '#FFC107',
- error: '#e91e1e',
- warning: '#FFC107',
- info: '#607D8B',
- success: '#4CAF50',
- BuzzerBlue: '#2867d4',
- BuzzerOrange: '#d48f28',
- BuzzerRed: '#d42828',
+ colors: {
+ background: '#ffffff',
+ primary: '#d42828',
+ secondary: '#F44336',
+ accent: '#FFC107',
+ error: '#e91e1e',
+ warning: '#FFC107',
+ info: '#607D8B',
+ success: '#4CAF50',
+ BuzzerBlue: '#2867d4',
+ BuzzerOrange: '#d48f28',
+ BuzzerRed: '#d42828',
BuzzerGreen: '#28d42e',
}
}
// https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides
export default createVuetify({
- theme: {
- defaultTheme: 'CustomThemeDark',
- themes: {
- CustomThemeDark,
- CustomThemeLight,
- },
+ theme: {
+ defaultTheme: 'CustomThemeDark',
+ themes: {
+ CustomThemeDark,
+ CustomThemeLight, },
},
})
diff --git a/ui/src/quizz/geography-history/Q-1.jpeg b/ui/src/quizz/geography-history/Q-1.jpeg
new file mode 100644
index 0000000..cc7560b
Binary files /dev/null and b/ui/src/quizz/geography-history/Q-1.jpeg differ
diff --git a/ui/src/quizz/geography-history/Q-2.jpeg b/ui/src/quizz/geography-history/Q-2.jpeg
new file mode 100644
index 0000000..2c3e668
Binary files /dev/null and b/ui/src/quizz/geography-history/Q-2.jpeg differ
diff --git a/ui/src/quizz/geography-history/Q-3.jpeg b/ui/src/quizz/geography-history/Q-3.jpeg
new file mode 100644
index 0000000..d8dc340
Binary files /dev/null and b/ui/src/quizz/geography-history/Q-3.jpeg differ
diff --git a/ui/src/quizz/geography-history/Q-4.jpeg b/ui/src/quizz/geography-history/Q-4.jpeg
new file mode 100644
index 0000000..e1d1e21
Binary files /dev/null and b/ui/src/quizz/geography-history/Q-4.jpeg differ
diff --git a/ui/src/quizz/geography-history/Q-5.jpeg b/ui/src/quizz/geography-history/Q-5.jpeg
new file mode 100644
index 0000000..8036c7e
Binary files /dev/null and b/ui/src/quizz/geography-history/Q-5.jpeg differ
diff --git a/ui/src/quizz/geography-history/config.yml b/ui/src/quizz/geography-history/config.yml
new file mode 100644
index 0000000..0323c06
--- /dev/null
+++ b/ui/src/quizz/geography-history/config.yml
@@ -0,0 +1,27 @@
+name: "Histoire & Géographie"
+questions:
+ 1:
+ Q: "Quelle bataille célèbre s'est déroulée en 1815, marquant la défaite de Napoléon Bonaparte ?"
+ T: "Elle a eu lieu en Belgique"
+ R: "La bataille de Waterloo."
+ P: "Q-1.jpeg"
+ 2:
+ Q: "Quelle est la capitale de l'Australie ?"
+ T: "Le nom de cette ville commence par la lettre 'C'"
+ R: "Canberra."
+ P: "Q-2.jpeg"
+ 3:
+ Q: "En quelle année la Seconde Guerre mondiale a-t-elle pris fin ?"
+ T: "C'est au milieu des années 40."
+ R: "En 1945."
+ P: "Q-3.jpeg"
+ 4:
+ Q: "Quel fleuve traverse la ville du Caire en Égypte ?"
+ T: "C'est l'un des plus longs fleuves du monde"
+ R: "Le Nil."
+ P: "Q-4.jpeg"
+ 5:
+ Q: "Quel pays a été divisé par un mur de 1961 à 1989 ?"
+ T: "Sa chute a marqué la fin de la guerre froide."
+ R: "L'Allemagne (le mur de Berlin)."
+ P: "Q-5.jpeg"
diff --git a/ui/src/quizz/geography-history/originales/Q-1.webp b/ui/src/quizz/geography-history/originales/Q-1.webp
new file mode 100644
index 0000000..1373149
Binary files /dev/null and b/ui/src/quizz/geography-history/originales/Q-1.webp differ
diff --git a/ui/src/quizz/geography-history/originales/Q-2.webp b/ui/src/quizz/geography-history/originales/Q-2.webp
new file mode 100644
index 0000000..cc14b62
Binary files /dev/null and b/ui/src/quizz/geography-history/originales/Q-2.webp differ
diff --git a/ui/src/quizz/geography-history/originales/Q-3.webp b/ui/src/quizz/geography-history/originales/Q-3.webp
new file mode 100644
index 0000000..1579431
Binary files /dev/null and b/ui/src/quizz/geography-history/originales/Q-3.webp differ
diff --git a/ui/src/quizz/geography-history/originales/Q-4.webp b/ui/src/quizz/geography-history/originales/Q-4.webp
new file mode 100644
index 0000000..f6c29ec
Binary files /dev/null and b/ui/src/quizz/geography-history/originales/Q-4.webp differ
diff --git a/ui/src/quizz/geography-history/originales/Q-5.webp b/ui/src/quizz/geography-history/originales/Q-5.webp
new file mode 100644
index 0000000..eaa6ad7
Binary files /dev/null and b/ui/src/quizz/geography-history/originales/Q-5.webp differ
diff --git a/ui/src/quizz/movies-series/config.yml b/ui/src/quizz/movies-series/config.yml
new file mode 100644
index 0000000..e69de29
diff --git a/ui/src/quizz/music/config.yml b/ui/src/quizz/music/config.yml
new file mode 100644
index 0000000..e69de29
diff --git a/ui/src/quizz/nature-animals/config.yml b/ui/src/quizz/nature-animals/config.yml
new file mode 100644
index 0000000..e69de29
diff --git a/ui/src/quizz/science-technology/config.yml b/ui/src/quizz/science-technology/config.yml
new file mode 100644
index 0000000..e69de29
diff --git a/ui/src/quizz/sport/config.yml b/ui/src/quizz/sport/config.yml
new file mode 100644
index 0000000..e69de29
diff --git a/ui/src/quizz/video-games/Original/Q-1.jpg b/ui/src/quizz/video-games/Original/Q-1.jpg
new file mode 100644
index 0000000..721ac20
Binary files /dev/null and b/ui/src/quizz/video-games/Original/Q-1.jpg differ
diff --git a/ui/src/quizz/video-games/Original/Q-2.jpg b/ui/src/quizz/video-games/Original/Q-2.jpg
new file mode 100644
index 0000000..52c5bdd
Binary files /dev/null and b/ui/src/quizz/video-games/Original/Q-2.jpg differ
diff --git a/ui/src/quizz/video-games/Original/Q-3.webp b/ui/src/quizz/video-games/Original/Q-3.webp
new file mode 100644
index 0000000..430f83e
Binary files /dev/null and b/ui/src/quizz/video-games/Original/Q-3.webp differ
diff --git a/ui/src/quizz/video-games/Original/Q-4.webp b/ui/src/quizz/video-games/Original/Q-4.webp
new file mode 100644
index 0000000..0543b2a
Binary files /dev/null and b/ui/src/quizz/video-games/Original/Q-4.webp differ
diff --git a/ui/src/quizz/video-games/Original/Q-5.webp b/ui/src/quizz/video-games/Original/Q-5.webp
new file mode 100644
index 0000000..f8396fb
Binary files /dev/null and b/ui/src/quizz/video-games/Original/Q-5.webp differ
diff --git a/ui/src/quizz/video-games/Q-1.jpeg b/ui/src/quizz/video-games/Q-1.jpeg
new file mode 100644
index 0000000..8b9e7f1
Binary files /dev/null and b/ui/src/quizz/video-games/Q-1.jpeg differ
diff --git a/ui/src/quizz/video-games/Q-2.jpeg b/ui/src/quizz/video-games/Q-2.jpeg
new file mode 100644
index 0000000..52aab10
Binary files /dev/null and b/ui/src/quizz/video-games/Q-2.jpeg differ
diff --git a/ui/src/quizz/video-games/Q-3.jpeg b/ui/src/quizz/video-games/Q-3.jpeg
new file mode 100644
index 0000000..67a2a1c
Binary files /dev/null and b/ui/src/quizz/video-games/Q-3.jpeg differ
diff --git a/ui/src/quizz/video-games/Q-4.jpeg b/ui/src/quizz/video-games/Q-4.jpeg
new file mode 100644
index 0000000..1c4f164
Binary files /dev/null and b/ui/src/quizz/video-games/Q-4.jpeg differ
diff --git a/ui/src/quizz/video-games/Q-5.jpeg b/ui/src/quizz/video-games/Q-5.jpeg
new file mode 100644
index 0000000..cd5599a
Binary files /dev/null and b/ui/src/quizz/video-games/Q-5.jpeg differ
diff --git a/ui/src/quizz/video-games/config.yml b/ui/src/quizz/video-games/config.yml
new file mode 100644
index 0000000..8e42117
--- /dev/null
+++ b/ui/src/quizz/video-games/config.yml
@@ -0,0 +1,27 @@
+name: "Jeux vidéos"
+questions:
+ 1:
+ Q: "Quel personnage de jeu vidéo est un plombier moustachu qui saute sur des ennemis pour sauver une princesse ?"
+ T: "C’est le personnage le plus célèbre de Nintendo, son nom commence par 'M'."
+ R: "Mario."
+ P: "Q-1.jpeg"
+ 2:
+ Q: "Quel jeu vidéo multijoueur de football avec des voitures est très populaire ?"
+ T: "Il s'agit d'un mélange de sport et de voitures rapides."
+ R: "Rocket League."
+ P: "Q-2.jpeg"
+ 3:
+ Q: "Quel jeu vidéo mobile consiste à faire exploser des bonbons en alignant trois pièces identiques ?"
+ T: "Son nom fait référence aux bonbons."
+ R: "Candy Crush Saga."
+ P: "Q-3.jpeg"
+ 4:
+ Q: "Quel est le nom du célèbre personnage bleu de SEGA qui court à une vitesse incroyable ?"
+ T: "Son nom commence par la lettre 'S' et c'est un hérisson."
+ R: "Sonic"
+ P: "Q-4.jpeg"
+ 5:
+ Q: "Quel jeu permet de construire et explorer un monde fait de blocs, tout en survivant face à des monstres ?"
+ T: "Le monde est entièrement fait de blocs carrés."
+ R: "Minecraft."
+ P: "Q-5.jpeg"
diff --git a/ui/src/services/buzzerWatcher.js b/ui/src/services/buzzerWatcher.js
index cb11e9f..a1bdcb3 100644
--- a/ui/src/services/buzzerWatcher.js
+++ b/ui/src/services/buzzerWatcher.js
@@ -6,43 +6,43 @@ import ping from 'ping';
Vue.use(Vuex);
const store = new Vuex.Store({
- state: {
- buzzerRedState: '',
- buzzerBlueState: '',
- buzzerOrangeState: '',
+ state: {
+ buzzerRedState: '',
+ buzzerBlueState: '',
+ buzzerOrangeState: '',
buzzerGreenState: ''
},
- mutations: {
- setBuzzerRedState(state, newState) {
- state.buzzerRedState = newState;
- },
- setBuzzerBlueState(state, newState) {
- state.buzzerBlueState = newState;
- },
- setBuzzerOrangeState(state, newState) {
- state.buzzerOrangeState = newState;
- },
- setBuzzerGreenState(state, newState) {
- state.buzzerGreenState = newState;
+ mutations: {
+ setBuzzerRedState(state, newState) {
+ state.buzzerRedState = newState;
+ },
+ setBuzzerBlueState(state, newState) {
+ state.buzzerBlueState = newState;
+ },
+ setBuzzerOrangeState(state, newState) {
+ state.buzzerOrangeState = newState;
+ },
+ setBuzzerGreenState(state, newState) {
+ state.buzzerGreenState = newState;
}
},
- actions: {
- updateBuzzerStates({ commit }, { index, newState }) {
- switch (index) {
- case 0:
- commit('setBuzzerRedState', newState);
- break;
- case 1:
- commit('setBuzzerBlueState', newState);
- break;
- case 2:
- commit('setBuzzerOrangeState', newState);
- break;
- case 3:
- commit('setBuzzerGreenState', newState);
- break;
- default:
- console.error('Index de buzzer invalide:', index);
+ actions: {
+ updateBuzzerStates({ commit }, { index, newState }) {
+ switch (index) {
+ case 0:
+ commit('setBuzzerRedState', newState);
+ break;
+ case 1:
+ commit('setBuzzerBlueState', newState);
+ break;
+ case 2:
+ commit('setBuzzerOrangeState', newState);
+ break;
+ case 3:
+ commit('setBuzzerGreenState', newState);
+ break;
+ default:
+ console.error('Index de buzzer invalide:', index);
}
}
}
@@ -51,13 +51,11 @@ const store = new Vuex.Store({
const hosts = ['192.168.1.1', '192.168.1.2', '192.168.1.3', '192.168.1.4'];
async function pingHosts() {
- hosts.forEach(async (host, index) => {
- try {
- const res = await ping.promise.probe(host);
- store.dispatch('updateBuzzerStates', { index, newState: res.alive ? 'ON' : 'OFF' });
- } catch (error) {
- console.error(`Erreur lors du ping de ${host}:`, error.message);
- }
+ hosts.forEach(async (host, index) => { try {
+ const res = await ping.promise.probe(host);
+ store.dispatch('updateBuzzerStates', {index, newState: res.alive ? 'ON' : 'OFF' }); }
+ catch (error) {
+ console.error(`Erreur lors du ping de ${host}:`, error.message); }
});
}
diff --git a/ui/src/services/mqttService.js b/ui/src/services/mqttService.js
index 19fca6a..de5f1f8 100644
--- a/ui/src/services/mqttService.js
+++ b/ui/src/services/mqttService.js
@@ -13,7 +13,6 @@ export function publishMessage(topic, message) {
// Fonction pour s'abonner à un topic MQTT et écouter les messages entrants
export function subscribeToTopic(topic, callback) {
client.subscribe(topic)
- client.on('message', (receivedTopic, message) => {
- callback(receivedTopic.toString(), message.toString())
+ client.on('message', (receivedTopic, message) => { callback(receivedTopic.toString(), message.toString())
})
}
diff --git a/ui/src/services/pictureEngine.js b/ui/src/services/pictureEngine.js
new file mode 100644
index 0000000..ae09768
--- /dev/null
+++ b/ui/src/services/pictureEngine.js
@@ -0,0 +1,43 @@
+import express from 'express';
+import { promises as fs } from 'fs';
+import path from 'path';
+import { fileURLToPath } from 'url';
+
+const app = express();
+const port = 3000;
+
+// Obtenir le chemin du répertoire parent
+const __filename = fileURLToPath(import.meta.url);
+const __dirname = path.dirname(__filename);
+
+// Middleware pour gérer les requêtes depuis le frontend
+app.use((req, res, next) => {
+ res.setHeader('Access-Control-Allow-Origin', '*');
+ res.setHeader('Access-Control-Allow-Methods', 'GET, POST');
+ next();
+ });
+
+// Le dossier assets est situé un niveau au-dessus du dossier services
+const assetsDir = path.join(__dirname, '..', 'quizz/geography-history');
+console.log(assetsDir)
+
+// Middleware pour servir les fichiers statiques
+app.use('/images', express.static(assetsDir));
+
+// API pour lister les fichiers d'image
+app.get('/images-list', async (req, res) => {
+ try {
+ const files = await fs.readdir(assetsDir);
+
+ // Filtrer pour ne renvoyer que les fichiers d'image (par ex : .jpg, .png)
+ const images = files.filter(file => /\.(jpg|jpeg|png|gif)$/.test(file));
+ res.json(images);
+ } catch (err) {
+
+ res.status(500).send('Erreur lors de la lecture du dossier');
+ }
+});
+
+app.listen(port, () => {
+ console.log(`Serveur démarré sur http://localhost:${port}`);
+});
diff --git a/ui/src/variables.js b/ui/src/variables.js
index be7f82a..a9bf3cc 100644
--- a/ui/src/variables.js
+++ b/ui/src/variables.js
@@ -23,10 +23,5 @@ export default {
};
// Variables localStorage
-export const localStorageVars = {
- // Exemple de variable localStorage
- RedScorelocal: localStorage.getItem('RedScore') || '',
- BlueScorelocal: localStorage.getItem('BlueScore') || '',
- OrangeScorelocal: localStorage.getItem('OrangeScore') || '',
- GreenScorelocal: localStorage.getItem('GreenScore') || '',
+export const localStorageVars = { // Exemple de variable localStorage RedScorelocal: localStorage.getItem('RedScore') || '', BlueScorelocal: localStorage.getItem('BlueScore') || '', OrangeScorelocal: localStorage.getItem('OrangeScore') || '', GreenScorelocal: localStorage.getItem('GreenScore') || '',
};
\ No newline at end of file
diff --git a/ui/src/views/GameControl.vue b/ui/src/views/GameControl.vue
index 518a77b..f767f59 100644
--- a/ui/src/views/GameControl.vue
+++ b/ui/src/views/GameControl.vue
@@ -1,23 +1,22 @@
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
@@ -33,49 +32,45 @@ import CardButtonScore from '@/components/CardButtonScore.vue'
+
\ No newline at end of file
diff --git a/ui/src/views/MQTTDebugView.vue b/ui/src/views/MQTTDebugView.vue
index e5db1b3..6de63ea 100644
--- a/ui/src/views/MQTTDebugView.vue
+++ b/ui/src/views/MQTTDebugView.vue
@@ -1,10 +1,6 @@
-
-
-
-
-
-
+
@@ -13,24 +9,18 @@ import PublishMQTTComponent from '@/components/MQTTDebugPublish.vue' // Importer
import MQTTConsoleComponent from '@/components/MQTTDebugConsole.vue' // Importer le composant pour la console MQTT
export default {
- components: {
- PublishMQTTComponent, // Composant pour publier sur MQTT
- MQTTConsoleComponent // Composant pour la console MQTT
+ components: { PublishMQTTComponent, // Composant pour publier sur MQTT MQTTConsoleComponent // Composant pour la console MQTT
}
}
diff --git a/ui/src/views/SettingsView.vue b/ui/src/views/SettingsView.vue
index 891e8bd..01ac092 100644
--- a/ui/src/views/SettingsView.vue
+++ b/ui/src/views/SettingsView.vue
@@ -1,39 +1,32 @@
-
- Paramètres
-
- Son
-
-
-
-
- Affichage
-
-
-
-
-
-
- MQTT
-
-
- mdi-record
- Etat du serveur MQTT
- Debugger
-
-
-
- Jeu
-
-
-
-
-
-
+
+ Paramètres
+
+ Son
+
+
+
+ Affichage
+
+
+
+
+ MQTT
+
+ mdi-record
+ Etat du serveur MQTT
+ Debugger
+
+
+ Jeu
+
+
+
+
@@ -51,92 +44,89 @@
const ErrorPlay = ref(false);
const router = useRouter();
- const goToDebugRoute = () => {
- router.push({ name: 'Debugger MQTT' }); // Redirige vers la route nommée 'debugger'
- };
+ const goToDebugRoute = () => {
+ router.push({
+ name: 'Debugger MQTT'
+ }); // Redirige vers la route nommée 'debugger'
+ };
- onMounted(() => {
- if (localStorage.getItem('EmbeddedSound')) {
- EmbeddedSound.value = localStorage.getItem('EmbeddedSound') === 'true'; // Si l'état de la case à cocher est stocké, le mettre dans la référence
- }
- if (localStorage.getItem('MQTTSound')) {
- MQTTSound.value = localStorage.getItem('MQTTSound') === 'true'; // Si l'état de la case à cocher est stocké, le mettre dans la référence
- }
- if (localStorage.getItem('EmbeddedSoundVolume')) {
- EmbeddedSoundVolume.value = localStorage.getItem('EmbeddedSoundVolume'); // Si l'état de la case à cocher est stocké, le mettre dans la référence
- }
- if (localStorage.getItem('SattelitesDisplay')) {
- SattelitesDisplay.value = localStorage.getItem('SattelitesDisplay') === 'true'; // Added a default value for this switch
- }
- if (localStorage.getItem('SuccessPlay')) {
- SuccessPlay.value = localStorage.getItem('SuccessPlay') === 'true'; // Added a default value for this switch
- }
- if (localStorage.getItem('ErrorPlay')) {
- ErrorPlay.value = localStorage.getItem('ErrorPlay') === 'true'; // Added a default value for this switch
- }
+ onMounted(() => {
+ if (localStorage.getItem('EmbeddedSound')) {
+ EmbeddedSound.value = localStorage.getItem('EmbeddedSound') === 'true'; // Si l'état de la case à cocher est stocké, le mettre dans la référence
+ }
+ if (localStorage.getItem('MQTTSound')) {
+ MQTTSound.value = localStorage.getItem('MQTTSound') === 'true'; // Si l'état de la case à cocher est stocké, le mettre dans la référence
+ }
+ if (localStorage.getItem('EmbeddedSoundVolume')) {
+ EmbeddedSoundVolume.value = localStorage.getItem('EmbeddedSoundVolume'); // Si l'état de la case à cocher est stocké, le mettre dans la référence
+ }
+ if (localStorage.getItem('SattelitesDisplay')) {
+ SattelitesDisplay.value = localStorage.getItem('SattelitesDisplay') === 'true'; // Added a default value for this switch
+ }
+ if (localStorage.getItem('SuccessPlay')) {
+ SuccessPlay.value = localStorage.getItem('SuccessPlay') === 'true'; // Added a default value for this switch
+ }
+ if (localStorage.getItem('ErrorPlay')) {
+ ErrorPlay.value = localStorage.getItem('ErrorPlay') === 'true'; // Added a default value for this switch
+ }
});
- watch(EmbeddedSound, (EmbeddedSoundNewValue) => {
- if (EmbeddedSoundNewValue !== null) {
- localStorage.setItem('EmbeddedSound', EmbeddedSoundNewValue); // Mettre à jour l'état de la case à cocher dans le LocalStorage chaque fois qu'il change.
- }
- });
-
- watch(EmbeddedSoundVolume, (EmbeddedSoundVolumeNewValue) => {
- if (EmbeddedSoundVolumeNewValue !== null) {
- localStorage.setItem('EmbeddedSoundVolume', EmbeddedSoundVolumeNewValue); // Mettre à jour l'état de la case à cocher dans le LocalStorage chaque fois qu'il change.
- }
- });
-
- watch(MQTTSound, (MQTTSoundNewValue) => {
-
- if (MQTTSoundNewValue !== null) {
- localStorage.setItem('MQTTSound', MQTTSoundNewValue); // Mettre à jour l'état de la case à cocher dans le LocalStorage chaque fois qu'il change.
- }
- });
- watch(SattelitesDisplay, (SattelitesDisplaynewValue) => {
- if (SattelitesDisplaynewValue !== null) {
- localStorage.setItem('SattelitesDisplay', SattelitesDisplaynewValue); // Added a default value for this switch
- }
- });
-
- watch(SuccessPlay, (SuccessPlaynewValue) => {
- if (SuccessPlaynewValue !== null) {
- localStorage.setItem('SuccessPlay', SuccessPlaynewValue); // Added a default value for this switch
- }
- });
-
- watch(ErrorPlay, (ErrorPlaynewValue) => {
- if (ErrorPlaynewValue !== null) {
- localStorage.setItem('ErrorPlay', ErrorPlaynewValue); // Added a default value for this switch
- }
- });
+ watch(EmbeddedSound, (EmbeddedSoundNewValue) => {
+ if (EmbeddedSoundNewValue !== null) {
+ localStorage.setItem('EmbeddedSound', EmbeddedSoundNewValue); // Mettre à jour l'état de la case à cocher dans le LocalStorage chaque fois qu'il change.
+ }
+ });
+ watch(EmbeddedSoundVolume, (EmbeddedSoundVolumeNewValue) => {
+ if (EmbeddedSoundVolumeNewValue !== null) {
+ localStorage.setItem('EmbeddedSoundVolume', EmbeddedSoundVolumeNewValue); // Mettre à jour l'état de la case à cocher dans le LocalStorage chaque fois qu'il change.
+ }
+ });
+ watch(MQTTSound, (MQTTSoundNewValue) => {
+ if (MQTTSoundNewValue !== null) {
+ localStorage.setItem('MQTTSound', MQTTSoundNewValue); // Mettre à jour l'état de la case à cocher dans le LocalStorage chaque fois qu'il change.
+ }
+ });
+ watch(SattelitesDisplay, (SattelitesDisplaynewValue) => {
+ if (SattelitesDisplaynewValue !== null) {
+ localStorage.setItem('SattelitesDisplay', SattelitesDisplaynewValue); // Added a default value for this switch
+ }
+ });
+ watch(SuccessPlay, (SuccessPlaynewValue) => {
+ if (SuccessPlaynewValue !== null) {
+ localStorage.setItem('SuccessPlay', SuccessPlaynewValue); // Added a default value for this switch
+ }
+ });
+ watch(ErrorPlay, (ErrorPlaynewValue) => {
+ if (ErrorPlaynewValue !== null) {
+ localStorage.setItem('ErrorPlay', ErrorPlaynewValue); // Added a default value for this switch
+ }
+ });
\ No newline at end of file
diff --git a/ui/vite.config.js b/ui/vite.config.js
index 9418ac8..1035793 100644
--- a/ui/vite.config.js
+++ b/ui/vite.config.js
@@ -9,24 +9,9 @@ import { defineConfig } from 'vite'
// https://vitejs.dev/config/
export default defineConfig({
- plugins: [
- vue({
- template: { transformAssetUrls }
- }),
- Vuetify(),
- ViteFonts({
- google: {
- families: [{
- name: 'Roboto',
- styles: 'wght@100;300;400;500;700;900',
- }]
- }
- }),
+ plugins: [ vue({ template: { transformAssetUrls } }), Vuetify(), ViteFonts({ google: { families: [{ name: 'Roboto', styles: 'wght@100;300;400;500;700;900', }] } }),
],
define: { 'process.env': {} },
- resolve: {
- alias: {
- '@': fileURLToPath(new URL('./src', import.meta.url))
- }
+ resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)) }
}
})