Przeglądaj źródła

Error handling (n css a bit)

Brendan Abolivier 9 lat temu
rodzic
commit
d2ffb3d1da
3 zmienionych plików z 73 dodań i 29 usunięć
  1. 23
    19
      web/css/main.css
  2. 3
    3
      web/index.htm
  3. 47
    7
      web/js/game.js

+ 23
- 19
web/css/main.css Wyświetl plik

@@ -10,8 +10,8 @@ a, a:visited {
10 10
   text-decoration: none;
11 11
 }
12 12
 
13
-a:hover {
14
-  text-decoration: underline;
13
+section#navbar a:hover {
14
+  text-decoration:none;
15 15
 }
16 16
 
17 17
 header {
@@ -37,36 +37,43 @@ section#navbar ul {
37 37
   vertical-align: middle;
38 38
 }
39 39
 
40
-section#navbar li:first-child {
40
+section#navbar li:first-child a {
41 41
   margin-left:20px;
42 42
 }
43 43
 
44
+section#navbar a {
45
+  padding-top:17px;
46
+  padding-left:50px;
47
+  padding-right:50px;
48
+  padding-bottom:18px;
49
+  margin-right: 10px;
50
+}
51
+
44 52
 section#navbar li {
45 53
   display: block;
46 54
   float:left;
47 55
   padding-top:17px;
48
-  padding-left:50px;
49
-  padding-right:50px;
50
-  padding-bottom: ;
51 56
   height: 53px;
52
-  vertical-align:middle;
53 57
 }
54 58
 
55
-section#navbar li:hover, section#navbar li.current {
59
+section#navbar li:hover a, section#navbar li.current a {
56 60
   background: #9556f9;
57 61
 }
58 62
 
63
+section#navbar li:last-child a {
64
+  margin-right:0px;
65
+  padding-right:70px;
66
+  padding-left:70px;
67
+}
68
+
59 69
 section#navbar li:last-child {
60 70
   display: block;
61 71
   float: right;
62 72
   text-align:right;
63
-  margin-right:0px;
64
-  padding-right:70px;
65
-  padding-left:70px;
66 73
   background: #ff9619;
67 74
 }
68 75
 
69
-section#navbar li:last-child:hover {
76
+section#navbar li:last-child:hover a {
70 77
   background: #ffab19;
71 78
 }
72 79
 
@@ -84,8 +91,8 @@ section#page p {
84 91
   text-indent: 30px;
85 92
 }
86 93
 
87
-.button {
88
-  display:inline-block;
94
+.button a {
95
+  display:block;
89 96
   background: #09b22b;
90 97
   color: white;
91 98
   border: none;
@@ -95,16 +102,13 @@ section#page p {
95 102
   margin-right:15px;
96 103
   margin-left:15px;
97 104
   text-align:center;
105
+  float: left;
98 106
 }
99 107
 
100 108
 .firstword {
101 109
   font-size:200%;
102 110
 }
103 111
 
104
-input[type="submit"]:hover {
105
-  cursor: pointer;
106
-}
107
-
108
-div#buttons {
112
+article#jouer {
109 113
   margin:auto;
110 114
 }

+ 3
- 3
web/index.htm Wyświetl plik

@@ -12,9 +12,9 @@
12 12
     <section id="navbar">
13 13
       <ul>
14 14
         <li class="current"><a href="#">Accueil</a></li>
15
-        <li>Règles</li>
16
-        <li>Meilleurs scores</li>
17
-        <li>Jouer</li>
15
+        <li><a href="#">Règles</a></li>
16
+        <li><a href="#">Meilleurs scores</a></li>
17
+        <li><a href="#">Jouer</a></li>
18 18
       </ul>
19 19
     </section>
20 20
     <section id="page">

+ 47
- 7
web/js/game.js Wyświetl plik

@@ -10,6 +10,53 @@ var score = 0;
10 10
 var reponseUser = -1, bonneReponse;
11 11
 var canClick = true;
12 12
 
13
+function play() {
14
+  $("#play").remove();
15
+  $("#multi").remove();
16
+  apiReq();
17
+  if(json.status != 1) {
18
+    var message;
19
+    switch(json.source) {
20
+      case 'PDO':
21
+        message = "Erreur lors de la connexion à la base de donnée : "+json.message;
22
+        break;
23
+      case 'Connector':
24
+        message = "Erreur de requête SQL : "
25
+        switch(json.message) {
26
+          case 'wrong_arg_nmbr_where':
27
+            message += "Mauvais nombre d'arguments dans la clause WHERE.";
28
+            break;
29
+          case 'wrong_arg_nmbr_order_by':
30
+            message += "Mauvais nombre d'arguments dans la clause ORDER BY.";
31
+            break;
32
+          case 'wrong_arg_numbr_limit':
33
+            message += "Mauvais nombre d'arguments dans la clause LIMIT.";
34
+            break;
35
+          case 'unknown_arg':
36
+            message += "Argument inconnu détecté.";
37
+            break;
38
+        }
39
+        break;
40
+      case 'Questset':
41
+        message = "Erreur dans le chargement du jeu de questions : "
42
+        if(json.message == 'expected_questset_array') {
43
+          message += "Un tableau de réponses est attendu."
44
+        }
45
+        break;
46
+      case 'Categorie':
47
+        if(json.message == 'cant_find_cat') {
48
+          message = "Erreur dans le chargement de la catégorie : Impossible de trouver la catégorie.";
49
+        }
50
+        break;
51
+    }
52
+
53
+    $("#game").addClass("error");
54
+    $("#game").html(message);
55
+  } else {
56
+    loadCat(id_cat);
57
+  }
58
+}
59
+
13 60
 function apiReq() {
14 61
   $.ajax({
15 62
     async: false,
@@ -112,13 +159,6 @@ function nextQuestion() {
112 159
   }
113 160
 }
114 161
 
115
-function play() {
116
-  $("#play").remove();
117
-  $("#multi").remove();
118
-  apiReq();
119
-  loadCat(id_cat);
120
-}
121
-
122 162
 function startTimer() {
123 163
   $("#timer").css("width", "100%");
124 164
   baseWidth = $("#timer").width();