Browse Source

Error handling (n css a bit)

Brendan Abolivier 9 years ago
parent
commit
d2ffb3d1da
3 changed files with 73 additions and 29 deletions
  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 View File

10
   text-decoration: none;
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
 header {
17
 header {
37
   vertical-align: middle;
37
   vertical-align: middle;
38
 }
38
 }
39
 
39
 
40
-section#navbar li:first-child {
40
+section#navbar li:first-child a {
41
   margin-left:20px;
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
 section#navbar li {
52
 section#navbar li {
45
   display: block;
53
   display: block;
46
   float:left;
54
   float:left;
47
   padding-top:17px;
55
   padding-top:17px;
48
-  padding-left:50px;
49
-  padding-right:50px;
50
-  padding-bottom: ;
51
   height: 53px;
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
   background: #9556f9;
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
 section#navbar li:last-child {
69
 section#navbar li:last-child {
60
   display: block;
70
   display: block;
61
   float: right;
71
   float: right;
62
   text-align:right;
72
   text-align:right;
63
-  margin-right:0px;
64
-  padding-right:70px;
65
-  padding-left:70px;
66
   background: #ff9619;
73
   background: #ff9619;
67
 }
74
 }
68
 
75
 
69
-section#navbar li:last-child:hover {
76
+section#navbar li:last-child:hover a {
70
   background: #ffab19;
77
   background: #ffab19;
71
 }
78
 }
72
 
79
 
84
   text-indent: 30px;
91
   text-indent: 30px;
85
 }
92
 }
86
 
93
 
87
-.button {
88
-  display:inline-block;
94
+.button a {
95
+  display:block;
89
   background: #09b22b;
96
   background: #09b22b;
90
   color: white;
97
   color: white;
91
   border: none;
98
   border: none;
95
   margin-right:15px;
102
   margin-right:15px;
96
   margin-left:15px;
103
   margin-left:15px;
97
   text-align:center;
104
   text-align:center;
105
+  float: left;
98
 }
106
 }
99
 
107
 
100
 .firstword {
108
 .firstword {
101
   font-size:200%;
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
   margin:auto;
113
   margin:auto;
110
 }
114
 }

+ 3
- 3
web/index.htm View File

12
     <section id="navbar">
12
     <section id="navbar">
13
       <ul>
13
       <ul>
14
         <li class="current"><a href="#">Accueil</a></li>
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
       </ul>
18
       </ul>
19
     </section>
19
     </section>
20
     <section id="page">
20
     <section id="page">

+ 47
- 7
web/js/game.js View File

10
 var reponseUser = -1, bonneReponse;
10
 var reponseUser = -1, bonneReponse;
11
 var canClick = true;
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
 function apiReq() {
60
 function apiReq() {
14
   $.ajax({
61
   $.ajax({
15
     async: false,
62
     async: false,
112
   }
159
   }
113
 }
160
 }
114
 
161
 
115
-function play() {
116
-  $("#play").remove();
117
-  $("#multi").remove();
118
-  apiReq();
119
-  loadCat(id_cat);
120
-}
121
-
122
 function startTimer() {
162
 function startTimer() {
123
   $("#timer").css("width", "100%");
163
   $("#timer").css("width", "100%");
124
   baseWidth = $("#timer").width();
164
   baseWidth = $("#timer").width();