summaryrefslogtreecommitdiff
path: root/index.html
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-12-01 18:16:09 -0800
committerGitHub <[email protected]>2025-12-01 18:16:09 -0800
commit6c81abf8b182ce677b74cf2c570281ffea7f63f8 (patch)
treec8d289dc53d26b27dac63980fbf332ea97c178d6 /index.html
downloadrysk-6c81abf8b182ce677b74cf2c570281ffea7f63f8.tar.xz
rysk-6c81abf8b182ce677b74cf2c570281ffea7f63f8.zip
Add files via upload
Diffstat (limited to 'index.html')
-rw-r--r--index.html348
1 files changed, 348 insertions, 0 deletions
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..379dd92
--- /dev/null
+++ b/index.html
@@ -0,0 +1,348 @@
+<!DOCTYPE html><!-- updated index.html v2024-05-20 --><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script src="js/tf-core.js"></script><script src="js/tf-converter.js"></script><script src="js/tf-backend-cpu.js"></script><script src="js/face-landmarks-detection.js"></script><script src="js/bootstrap.bundle.min.js"></script>
+ <link href="css/bootstrap.min.css" rel="stylesheet">
+ <title>Incel Solutions</title>
+
+ <style>
+ html, body, body > div {
+ height: 100%;
+ }
+
+ .loading {
+ display: flex;
+ align-items: center;
+ }
+ .loading > div {
+ flex-grow: 1;
+ }
+ .loading > .spinner-border {
+ height: 8em !important;
+ width: 8em !important;
+ flex-grow: 0;
+ }
+ img {
+ height: auto;
+ width: 25% !important;
+ }
+
+ .perfect {
+ color: springgreen;
+ }
+ .deviation-0 {
+ color: darkkhaki;
+ }
+ .deviation-1 {
+ color: darkorange;
+ }
+ .deviation-2 {
+ color: darksalmon;
+ }
+ .deviation-3 {
+ color: coral;
+ }
+ .deviation-4 {
+ color: orangered;
+ }
+ /* 👉 Paste the following rules here 👇 */
+table {
+ table-layout: auto;
+ width: 100%;
+}
+
+th, td {
+ padding: 0.5rem;
+ vertical-align: middle;
+ white-space: nowrap;
+}
+
+/* Column 1: checkbox (tightest fit) */
+th:first-child,
+td:first-child {
+ width: 1%;
+}
+
+/* Column 2: feature (expand just enough for longest label) */
+th:nth-child(2),
+td:nth-child(2) {
+ white-space: nowrap;
+}
+
+/* Column 3: rating (auto resize as needed) */
+th:nth-child(3),
+td:nth-child(3) {
+ white-space: nowrap;
+}
+
+/* Columns 4 & 5: measurement and ideal (fixed narrow width) */
+th:nth-child(4),
+td:nth-child(4),
+th:nth-child(5),
+td:nth-child(5) {
+ width: 120px;
+ text-align: center;
+}
+
+ .badge {
+ display: inline-block;
+ max-width: 100%;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+</style>
+
+ </head>
+ <body>
+ <div id="loading" class="loading" style="display: none;">
+ <div></div>
+ <div class="spinner-border">
+ <span class="visually-hidden">Loading...</span>
+ </div>
+ <div></div>
+ </div>
+
+ <div class="container">
+
+ <div class="row">
+ <div class="col-md">
+ <label for="image-file">
+ Choose an image to analyze
+ </label>
+ <input type="file" id="image-file" class="form-control">
+ </div>
+ <div class="col-md">
+ <label for="image-url">
+ or paste an URL
+ </label>
+ <input type="text" id="image-url" class="form-control">
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col">
+ <br>
+ </div>
+ </div>
+
+<div class="container">
+ <table class="table table-bordered">
+ <thead>
+ <tr>
+ <th style="width: 50px;">
+ <input type="checkbox" id="select-all" class="form-check-input">
+ </th>
+ <th>Feature</th>
+ <th>Rating</th>
+ <th>Measurement</th>
+ <th>Ideal</th>
+ </tr>
+ </thead>
+
+ <tfoot>
+ <tr>
+ <td>
+ <div class="form-check form-switch">
+ <input class="form-check-input" type="checkbox" id="grading-toggle" checked="">
+ </div>
+ </td>
+ <td><strong>Total</strong></td>
+ <td id="total-score"></td>
+ <td id="total-breakdown"></td>
+ <td id="total-psl"></td>
+ </tr>
+</tfoot>
+
+
+
+ <tbody>
+ <tr>
+ <td><input type="checkbox" id="toggle-midface-ratio" class="form-check-input" checked=""></td>
+ <td>Midface ratio</td>
+ <td id="assessment-midface-ratio"></td>
+ <td id="value-midface-ratio"></td>
+ <td id="ideal-midface-ratio"></td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" id="toggle-facial-width-to-height-ratio" class="form-check-input" checked=""></td>
+ <td>Facial width to height ratio</td>
+ <td id="assessment-facial-width-to-height-ratio"></td>
+ <td id="value-facial-width-to-height-ratio"></td>
+ <td id="ideal-facial-width-to-height-ratio"></td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" id="toggle-chin-to-philtrum-ratio" class="form-check-input" checked=""></td>
+ <td>Chin to philtrum ratio</td>
+ <td id="assessment-chin-to-philtrum-ratio"></td>
+ <td id="value-chin-to-philtrum-ratio"></td>
+ <td id="ideal-chin-to-philtrum-ratio"></td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" id="toggle-canthal-tilt" class="form-check-input" checked=""></td>
+ <td>Canthal tilt</td>
+ <td id="assessment-canthal-tilt"></td>
+ <td id="value-canthal-tilt"></td>
+ <td id="ideal-canthal-tilt"></td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" id="toggle-mouth-to-nose-ratio" class="form-check-input" checked=""></td>
+ <td>Mouth to nose ratio</td>
+ <td id="assessment-mouth-to-nose-ratio"></td>
+ <td id="value-mouth-to-nose-ratio"></td>
+ <td id="ideal-mouth-to-nose-ratio"></td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" id="toggle-bigonial-width" class="form-check-input" checked=""></td>
+ <td>Bigonial width</td>
+ <td id="assessment-bigonial-width"></td>
+ <td id="value-bigonial-width"></td>
+ <td id="ideal-bigonial-width"></td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" id="toggle-lip-ratio" class="form-check-input" checked=""></td>
+ <td>Lip ratio</td>
+ <td id="assessment-lip-ratio"></td>
+ <td id="value-lip-ratio"></td>
+ <td id="ideal-lip-ratio"></td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" id="toggle-eye-separation-ratio" class="form-check-input" checked=""></td>
+ <td>Eye separation ratio</td>
+ <td id="assessment-eye-separation-ratio"></td>
+ <td id="value-eye-separation-ratio"></td>
+ <td id="ideal-eye-separation-ratio"></td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" id="toggle-eye-to-mouth-angle" class="form-check-input" checked=""></td>
+ <td>Eye to mouth angle</td>
+ <td id="assessment-eye-to-mouth-angle"></td>
+ <td id="value-eye-to-mouth-angle"></td>
+ <td id="ideal-eye-to-mouth-angle"></td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" id="toggle-lower-third-height" class="form-check-input" checked=""></td>
+ <td>Lower third height</td>
+ <td id="assessment-lower-third-height"></td>
+ <td id="value-lower-third-height"></td>
+ <td id="ideal-lower-third-height"></td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" id="toggle-palpebral-fissure-length" class="form-check-input" checked=""></td>
+ <td>Palpebral fissure length</td>
+ <td id="assessment-palpebral-fissure-length"></td>
+ <td id="value-palpebral-fissure-length"></td>
+ <td id="ideal-palpebral-fissure-length"></td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" id="toggle-eye-color" class="form-check-input" checked=""></td>
+ <td>Eye color</td>
+ <td id="assessment-eye-color"></td>
+ <td id="value-eye-color">
+ <canvas height="0" width="0"></canvas>
+ <canvas height="0" width="0"></canvas>
+ </td>
+ <td id="ideal-eye-color"></td>
+ </tr>
+ </tbody>
+
+
+
+ </table>
+</div>
+
+ <!-- JavaScript for Select All -->
+ <script>
+ // Select All Checkbox
+ const selectAllCheckbox = document.getElementById('select-all');
+
+ // Get all checkboxes in the table body
+ const checkboxes = document.querySelectorAll('tbody input[type="checkbox"]');
+
+ // Event Listener for Select All
+ selectAllCheckbox.addEventListener('change', function () {
+ checkboxes.forEach(checkbox => {
+ checkbox.checked = selectAllCheckbox.checked; // Toggle all checkboxes
+ });
+ });
+
+ // Update "Select All" if any checkbox is unchecked
+ checkboxes.forEach(checkbox => {
+ checkbox.addEventListener('change', function () {
+ selectAllCheckbox.checked = [...checkboxes].every(cb => cb.checked);
+ });
+ });
+ </script>
+
+
+ <div id="introduction" class="row mt-3">
+ <div class="col text-center">
+ <h3>$INCEL Technology</h3>
+ <p>
+ Introducing the latest advancement in incel technology: a full facial structure analysis completed in just a few seconds from a single picture. It's completely private and runs securely on your browser; no data is sent to our servers.
+ </p>
+ <p>
+ This project has been funded by INCEL COIN, contract address <a href="https://dexscreener.com/solana/c1juapdfrwcufhzfbtltvaz7gvvwpgrbn1zyb4vwnrpn">GACL2mEL9BR4baJBbYWfNKa5mxBYXRdU4ZthedKcVkx1</a> and the <a href="https://open.spotify.com/show/0iv1GFQLGn2FNCd3UvGKuo">Vers and Lukas Podcast</a>
+ </p>
+ <p>There is no meme. I love you.</p>
+
+<p>If Vers or Lukas or og dev want me to take this down, just let me know. I just missed the site :)</p>
+<p>
+
+</p><div class="container d-flex justify-content-center my-4">
+ <table class="table table-bordered text-center" style="width: auto;">
+ <thead>
+ <tr>
+ <th>Dex Name</th>
+ <th>Link</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>El Dorito</td>
+ <td>
+ <a href="https://app.eldorito.club/swap?in=sol.sol&out=sol.incel-gacl2mel9br4bajbbywfnka5mxbyxrdu4zthedkcvkx1" target="_blank">
+ Visit El Dorito
+ </a>
+ </td>
+ </tr>
+ <tr>
+ <td>Jupiter</td>
+ <td>
+ <a href="https://jup.ag/swap/SOL-GACL2mEL9BR4baJBbYWfNKa5mxBYXRdU4ZthedKcVkx1" target="_blank">
+ Visit Jupiter
+ </a>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<p></p>
+
+<p><img class="img-thumbnail" src="images/before.jpg"> <span class="fs-4"> � </span> <img class="img-thumbnail" src="images/after.jpg"></p>
+</div>
+</div>
+
+<div class="row d-none mt-5" id="analyzing">
+<div class="col text-center">
+<div>
+<div class="loading">
+<div></div>
+
+<div class="spinner-border"></div>
+
+<div></div>
+</div>
+
+<div class="mt-3 fs-5">
+<div id="analyzing-status"></div>
+</div>
+</div>
+</div>
+</div>
+
+<div class="row" id="render">
+<div class="col"><canvas id="canvas"></canvas></div>
+</div>
+</div>
+<script src="js/analysis.js"></script>
+<script src="js/index.js"></script>
+<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'9a774f9d0a75fff2',t:'MTc2NDY0MTY2OC4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
+</body></html> \ No newline at end of file