jclyo1 commited on
Commit
fa843b5
1 Parent(s): 42413d3
Files changed (2) hide show
  1. static/index.html +102 -94
  2. static/style.css +94 -1
static/index.html CHANGED
@@ -75,7 +75,7 @@
75
  <div class="container-fluid" id="body">
76
  <div class="container">
77
  <div class="row">
78
- <div class="col">
79
  <div class="display-generate">
80
  <div class="image-container">
81
  <img src="images/placeholder.png" class="placeholder" />
@@ -110,19 +110,25 @@
110
  </div>
111
  </div>
112
  <div class="display-verify">
113
- <div class="row mt-5 pb-4" id="original-image">
114
- <div class="col flex-grow-0">
115
- <img id="uploaded-image" class="thumbnail" />
 
 
116
  </div>
117
- <div class="col">
118
- <strong>Uploaded image</strong><br />
119
- Content Credentials <span id="contentCredentialResults"></span
120
- ><br />
121
- Digital watermark <span id="digitalWatermarkResults"></span>
 
 
 
 
122
  </div>
123
  </div>
124
  <div class="mt-3" id="resultLabel">
125
- <strong>Result</strong>
126
  <div
127
  class="alert alert-secondary"
128
  role="alert"
@@ -137,94 +143,94 @@
137
  style="display: none"
138
  />
139
  </div>
140
- <div class="output-container" style="display:none;">
141
- <h3>Verification Output</h3>
142
- <div id="verification-output"></div>
143
-
144
- <h3>Certificates</h3>
145
- <div class="certificate" id="certificate-output">
146
- <p>
147
- Details about the certificate used for signing.<br />
148
- Truepic maintains the first and only purpose-built C2PA
149
- certificate authority.
150
- </p>
151
-
152
- <p>
153
- <strong style="font-weight: 600">Certificate chain</strong>
154
- </p>
155
- <ul id="certificate-list"></ul>
156
- <p><strong style="font-weight: 600">Details</strong></p>
157
- <div class="details">
158
- <strong>Basic info</strong>
159
- <div>
160
- <label>Type</label>
161
- X.509 Certificate
162
- </div>
163
- <div>
164
- <label>Serial Number</label>
165
- <div class="serialNumber"></div>
166
- </div>
167
- <div>
168
- <label>Issued</label>
169
- <div class="issued"></div>
170
- </div>
171
- <div>
172
- <label>Expired</label>
173
- <div class="expired"></div>
174
- </div>
175
- <strong>Subject</strong>
176
- <div>
177
- <label>Common Name</label>
178
- <div class="subjectCommonName"></div>
179
- </div>
180
- <div>
181
- <label>Organization</label>
182
- <div class="subjectOrganization"></div>
183
- </div>
184
- <div>
185
- <label>Organization Unit</label>
186
- <div class="subjectOrganizationUnit"></div>
187
- </div>
188
- <div>
189
- <label>Country</label>
190
- <div class="subjectCountry"></div>
191
- </div>
192
-
193
- <strong>Issuer</strong>
194
- <div>
195
- <label>Common Name</label>
196
- <div class="issuerCommonName"></div>
197
- </div>
198
- <div>
199
- <label>Organization</label>
200
- <div class="issuerOrganization"></div>
201
- </div>
202
- <div>
203
- <label>Organization Unit</label>
204
- <div class="issuerOrganizationUnit"></div>
205
- </div>
206
- <div>
207
- <label>Country</label>
208
- <div class="issuerCountry"></div>
209
- </div>
210
- <strong>Public Key Info</strong>
211
-
212
- <div>
213
- <label>Algorithm</label>
214
- <div class="algorithm"></div>
215
- </div>
216
- <div id="modulusContainer">
217
- <label>Modulus</label>
218
- <div class="modulus"></div>
219
- </div>
220
- <div id="curveContainer">
221
- <label>Curve</label>
222
- <div class="namedCurve"></div>
 
223
  </div>
224
  </div>
225
  </div>
226
  </div>
227
- </div>
228
  </div>
229
  <div class="col right-column">
230
  <div class="display-generate">
@@ -428,6 +434,8 @@
428
  spinner.style.display = "block";
429
 
430
  outputContainer.style.display = "none";
 
 
431
 
432
  const formData = new FormData(uploadForm);
433
 
 
75
  <div class="container-fluid" id="body">
76
  <div class="container">
77
  <div class="row">
78
+ <div class="col" style="min-width: 0; padding-right: 0">
79
  <div class="display-generate">
80
  <div class="image-container">
81
  <img src="images/placeholder.png" class="placeholder" />
 
110
  </div>
111
  </div>
112
  <div class="display-verify">
113
+ <div id="original-image">
114
+ <div class="row mt-5">
115
+ <div class="col mb-4">
116
+ <h2>Uploaded image</h2>
117
+ </div>
118
  </div>
119
+ <div class="row pb-4">
120
+ <div class="col flex-grow-0">
121
+ <img id="uploaded-image" class="thumbnail" />
122
+ </div>
123
+ <div class="col">
124
+ Content Credentials
125
+ <span id="contentCredentialResults"></span><br />
126
+ Digital watermark <span id="digitalWatermarkResults"></span>
127
+ </div>
128
  </div>
129
  </div>
130
  <div class="mt-3" id="resultLabel">
131
+ <h2 class="mb-4">Result</h2>
132
  <div
133
  class="alert alert-secondary"
134
  role="alert"
 
143
  style="display: none"
144
  />
145
  </div>
146
+ <div class="output-container mt-5" style="display: none">
147
+ <h3>Verification Output</h3>
148
+ <div id="verification-output"></div>
149
+
150
+ <h3>Certificates</h3>
151
+ <div class="certificate" id="certificate-output">
152
+ <p>
153
+ Details about the certificate used for signing.<br />
154
+ Truepic maintains the first and only purpose-built C2PA
155
+ certificate authority.
156
+ </p>
157
+
158
+ <p>
159
+ <strong style="font-weight: 600">Certificate chain</strong>
160
+ </p>
161
+ <ul id="certificate-list"></ul>
162
+ <p><strong style="font-weight: 600">Details</strong></p>
163
+ <div class="details">
164
+ <strong>Basic info</strong>
165
+ <div>
166
+ <label>Type</label>
167
+ X.509 Certificate
168
+ </div>
169
+ <div>
170
+ <label>Serial Number</label>
171
+ <div class="serialNumber"></div>
172
+ </div>
173
+ <div>
174
+ <label>Issued</label>
175
+ <div class="issued"></div>
176
+ </div>
177
+ <div>
178
+ <label>Expired</label>
179
+ <div class="expired"></div>
180
+ </div>
181
+ <strong>Subject</strong>
182
+ <div>
183
+ <label>Common Name</label>
184
+ <div class="subjectCommonName"></div>
185
+ </div>
186
+ <div>
187
+ <label>Organization</label>
188
+ <div class="subjectOrganization"></div>
189
+ </div>
190
+ <div>
191
+ <label>Organization Unit</label>
192
+ <div class="subjectOrganizationUnit"></div>
193
+ </div>
194
+ <div>
195
+ <label>Country</label>
196
+ <div class="subjectCountry"></div>
197
+ </div>
198
+
199
+ <strong>Issuer</strong>
200
+ <div>
201
+ <label>Common Name</label>
202
+ <div class="issuerCommonName"></div>
203
+ </div>
204
+ <div>
205
+ <label>Organization</label>
206
+ <div class="issuerOrganization"></div>
207
+ </div>
208
+ <div>
209
+ <label>Organization Unit</label>
210
+ <div class="issuerOrganizationUnit"></div>
211
+ </div>
212
+ <div>
213
+ <label>Country</label>
214
+ <div class="issuerCountry"></div>
215
+ </div>
216
+ <strong>Public Key Info</strong>
217
+
218
+ <div>
219
+ <label>Algorithm</label>
220
+ <div class="algorithm"></div>
221
+ </div>
222
+ <div id="modulusContainer">
223
+ <label>Modulus</label>
224
+ <div class="modulus"></div>
225
+ </div>
226
+ <div id="curveContainer">
227
+ <label>Curve</label>
228
+ <div class="namedCurve"></div>
229
+ </div>
230
  </div>
231
  </div>
232
  </div>
233
  </div>
 
234
  </div>
235
  <div class="col right-column">
236
  <div class="display-generate">
 
434
  spinner.style.display = "block";
435
 
436
  outputContainer.style.display = "none";
437
+ document.getElementById("resultLabel").style.display = "none";
438
+ uploadedImageContainer.style.display = "none";
439
 
440
  const formData = new FormData(uploadForm);
441
 
static/style.css CHANGED
@@ -18,6 +18,16 @@ h1 {
18
  font-size: 26px;
19
  }
20
 
 
 
 
 
 
 
 
 
 
 
21
  p {
22
  font-weight: 400;
23
  font-size: 16px;
@@ -53,7 +63,7 @@ p {
53
  }
54
 
55
  .image-container {
56
- margin: 2rem 1rem 0 0;
57
  background: rgba(247, 249, 250, 1);
58
  display: flex;
59
  justify-content: center;
@@ -118,6 +128,7 @@ img.thumbnail {
118
  #original-image {
119
  border-bottom: 1px solid rgba(227, 234, 240, 1);
120
  display: none;
 
121
  }
122
 
123
  #resultLabel {
@@ -162,6 +173,17 @@ img.thumbnail {
162
  margin-bottom: 0;
163
  }
164
 
 
 
 
 
 
 
 
 
 
 
 
165
  .how-it-works {
166
  margin-top: 3rem;
167
  font-size: 12px;
@@ -171,4 +193,75 @@ img.thumbnail {
171
  .how-it-works strong {
172
  font-weight: 600;
173
  color: black;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
174
  }
 
18
  font-size: 26px;
19
  }
20
 
21
+ h2 {
22
+ font-weight: 600;
23
+ font-size: 16px;
24
+ }
25
+
26
+ h3 {
27
+ font-weight: 600;
28
+ font-size: 18px;
29
+ }
30
+
31
  p {
32
  font-weight: 400;
33
  font-size: 16px;
 
63
  }
64
 
65
  .image-container {
66
+ margin: 2rem 2rem 0 0;
67
  background: rgba(247, 249, 250, 1);
68
  display: flex;
69
  justify-content: center;
 
128
  #original-image {
129
  border-bottom: 1px solid rgba(227, 234, 240, 1);
130
  display: none;
131
+ flex-direction: column;
132
  }
133
 
134
  #resultLabel {
 
173
  margin-bottom: 0;
174
  }
175
 
176
+ .alert-secondary {
177
+ border-color: #DDE9FF;
178
+ background-color: #F4F8FF;
179
+ }
180
+
181
+ .alert-secondary p {
182
+ font-size: 14px;
183
+ color: #1F2937;
184
+ }
185
+
186
+
187
  .how-it-works {
188
  margin-top: 3rem;
189
  font-size: 12px;
 
193
  .how-it-works strong {
194
  font-weight: 600;
195
  color: black;
196
+ }
197
+
198
+ #verification-output {
199
+ height: 480px;
200
+ background: #f7f9fa;
201
+ border: 1px solid #d8dfe5;
202
+ overflow-y: auto;
203
+ }
204
+
205
+ .certificate .details {
206
+ color: rgba(86, 104, 122, 1);
207
+ font-size: 12px;
208
+ font-weight: 400;
209
+ margin: 0;
210
+ padding: 1rem;
211
+ }
212
+
213
+ .certificate .details > div {
214
+ clear: both;
215
+ padding: 0.4rem 0;
216
+ }
217
+
218
+ .certificate .details strong {
219
+ padding: 0.5rem 0;
220
+ display: block;
221
+ color: black;
222
+ }
223
+
224
+ .certificate .details div label {
225
+ float: left;
226
+ width: 175px;
227
+ font-size: 12px;
228
+ font-weight: 400;
229
+ }
230
+
231
+ .certificate #certificate-list {
232
+ padding: 0;
233
+ margin: 0 0 32px 0;
234
+ border-bottom: 1px solid #d8dfe5;
235
+ }
236
+
237
+ .certificate #certificate-list li {
238
+ border: 1px solid #d8dfe5;
239
+ border-bottom: none;
240
+ list-style: none;
241
+ padding: 0.8rem 0 0.8rem 1.5rem;
242
+ font-size: 14px;
243
+ }
244
+
245
+ .certificate #certificate-list li:not(:first-child) {
246
+ background: url(images/li.svg) no-repeat 2.5rem 50%;
247
+ padding: 0.8rem 0 0.8rem 4.5rem;
248
+ }
249
+
250
+ .certificate #certificate-list li.active {
251
+ background-color: #f7f9fa;
252
+ font-weight: 600;
253
+ }
254
+
255
+ .certificate #certificate-list li:hover,
256
+ .certificate #certificate-list li.active:hover {
257
+ background-color: #e9f4ff;
258
+ cursor: pointer;
259
+ }
260
+
261
+ .output-container {
262
+ border-top: 1px solid rgba(227, 234, 240, 1);
263
+ }
264
+
265
+ .alert#verifyResultDescription {
266
+ margin-right: 2rem;
267
  }