Subham9126 commited on
Commit
bace4b8
·
verified ·
1 Parent(s): 0228696

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +181 -18
index.html CHANGED
@@ -1,19 +1,182 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>PBAGE</title>
7
+ <style>
8
+ body {
9
+ font-family: Arial, sans-serif;
10
+ line-height: 1.6;
11
+ margin: 0;
12
+ padding: 20px;
13
+ background-color: #f4f4f4;
14
+ }
15
+ .container {
16
+ max-width: 800px;
17
+ margin: auto;
18
+ background: white;
19
+ padding: 20px;
20
+ border-radius: 8px;
21
+ box-shadow: 0 0 10px rgba(0,0,0,0.1);
22
+ }
23
+ h1 {
24
+ color: #333;
25
+ }
26
+ .result-item {
27
+ display: flex;
28
+ align-items: center;
29
+ margin-bottom: 10px;
30
+ padding: 10px;
31
+ border: 1px solid #ddd;
32
+ border-radius: 4px;
33
+ }
34
+ .result-item button {
35
+ margin-left: 10px;
36
+ padding: 5px 10px;
37
+ border: none;
38
+ border-radius: 4px;
39
+ cursor: pointer;
40
+ }
41
+ .relevant { background-color: #d4edda; }
42
+ .irrelevant { background-color: #f8d7da; }
43
+ .oos { border: 2px solid #ffeeba; }
44
+ .repeating { border: 2px dashed #b8daff; }
45
+ .null { background-color: #f1f1f1; }
46
+ .active {
47
+ background-color: #34C759;
48
+ color: #fff;
49
+ }
50
+ #annotation {
51
+ margin-top: 20px;
52
+ padding: 10px;
53
+ border-radius: 4px;
54
+ font-weight: bold;
55
+ }
56
+ .excellent { background-color: #d4edda; color: #155724; }
57
+ .good { background-color: #cce5ff; color: #004085; }
58
+ .average { background-color: #fff3cd; color: #856404; }
59
+ .bad { background-color: #f8d7da; color: #721c24; }
60
+ .poor { background-color: #f1f1f1; color: #5a5a5a; }
61
+ #reset-button {
62
+ margin-top: 20px;
63
+ padding: 10px 20px;
64
+ border: none;
65
+ border-radius: 4px;
66
+ cursor: pointer;
67
+ background-color: #4CAF50;
68
+ color: #fff;
69
+ }
70
+ </style>
71
+ </head>
72
+ <body>
73
+ <div class="container">
74
+ <h1>PBAGE</h1>
75
+ <div id="results"></div>
76
+ <div id="annotation"></div>
77
+ <button id="reset-button">Reset</button>
78
+ </div>
79
+
80
+ <script>
81
+ const results = Array(8).fill().map(() => ({
82
+ isRelevant: true,
83
+ isOOS: false,
84
+ isRepeating: false,
85
+ isNull: false
86
+ }));
87
+
88
+ function updateUI() {
89
+ const resultsContainer = document.getElementById('results');
90
+ resultsContainer.innerHTML = results.map((result, index) => `
91
+ <div class="result-item ${result.isRelevant ? 'relevant' : 'irrelevant'} ${result.isOOS ? 'oos' : ''} ${result.isRepeating ? 'repeating' : ''} ${result.isNull ? 'null' : ''}">
92
+ Result ${index + 1}:
93
+ ${result.isRelevant ? 'Relevant' : 'Irrelevant'}
94
+ ${result.isOOS ? '(OOS)' : ''}
95
+ ${result.isRepeating ? '(Repeating)' : ''}
96
+ ${result.isNull ? '(Null)' : ''}
97
+ <button class="${result.isRelevant ? 'active' : ''}" onclick="toggleRelevance(${index})">Toggle Relevance</button>
98
+ <button class="${result.isOOS ? 'active' : ''}" onclick="toggleOOS(${index})">Toggle OOS</button>
99
+ <button class="${result.isRepeating ? 'active' : ''}" onclick="toggleRepeating(${index})">Toggle Repeating</button>
100
+ <button class="${result.isNull ? 'active' : ''}" onclick="toggleNull(${index})">Toggle Null</button>
101
+ </div>
102
+ `).join('');
103
+
104
+ const annotation = getAnnotation();
105
+ const annotationElement = document.getElementById('annotation');
106
+ annotationElement.textContent = `Annotation: ${annotation}`;
107
+ annotationElement.className = annotation.toLowerCase();
108
+ }
109
+
110
+ function toggleRelevance(index) {
111
+ results[index].isRelevant = !results[index].isRelevant;
112
+ updateUI();
113
+ }
114
+
115
+ function toggleOOS(index) {
116
+ results[index].isOOS = !results[index].isOOS;
117
+ updateUI();
118
+ }
119
+
120
+ function toggleRepeating(index) {
121
+ results[index].isRepeating = !results[index].isRepeating;
122
+ updateUI();
123
+ }
124
+
125
+ function toggleNull(index) {
126
+ results[index].isNull = !results[index].isNull;
127
+ updateUI();
128
+ }
129
+
130
+ function getAnnotation() {
131
+ const relevantCount = results.filter(r => r.isRelevant).length;
132
+ const oosCount = results.filter(r => r.isOOS).length;
133
+ const repeatingCount = results.filter(r => r.isRepeating).length;
134
+ const nullCount = results.filter(r => r.isNull).length;
135
+ const oosInTop5 = results.slice(0, 5).filter(r => r.isOOS).length;
136
+ const oosInTop4 = results.slice(0, 4).filter(r => r.isOOS).length;
137
+
138
+ if (relevantCount === 8 && oosCount === 0 && repeatingCount === 0 && nullCount === 0) return "Excellent";
139
+
140
+ if (relevantCount >= 7 && oosCount === 0 && repeatingCount === 0 && nullCount <= 1) return "Good";
141
+
142
+ if (results.slice(0, 5).every(r => r.isRelevant) && results.slice(5).every(r => r.isOOS)) return "Average";
143
+
144
+ if (results.slice(0, 5).every(r => r.isRelevant) && repeatingCount === 3) return "Average";
145
+
146
+ if (oosInTop4 >= 2) return "Bad";
147
+
148
+ if (relevantCount >= 5 && results.slice(5).some(r => !r.isRelevant)) return "Good";
149
+
150
+ if (relevantCount >= 5 && oosCount === 3 && results.slice(5).every(r => r.isOOS)) return "Average";
151
+
152
+ if (relevantCount >= 5 && repeatingCount === 3) return "Average";
153
+
154
+ if (relevantCount >= 4 && repeatingCount < 4) return "Average";
155
+
156
+ if (oosInTop5 === 1 || (oosCount === 2 && results[3].isOOS && results[4].isOOS)) return "Average";
157
+
158
+ if (relevantCount < 4 || repeatingCount >= 4) return "Bad";
159
+
160
+ if (nullCount > 4) return "Poor";
161
+
162
+ if (relevantCount >= 4 && nullCount >= 2) return "Poor";
163
+
164
+ if (relevantCount >= 5 && nullCount >= 1) return "Average";
165
+
166
+ return "Poor";
167
+ }
168
+
169
+ document.getElementById('reset-button').addEventListener('click', () => {
170
+ results.forEach(result => {
171
+ result.isRelevant = true;
172
+ result.isOOS = false;
173
+ result.isRepeating = false;
174
+ result.isNull = false;
175
+ });
176
+ updateUI();
177
+ });
178
+
179
+ updateUI();
180
+ </script>
181
+ </body>
182
  </html>