privateuserh commited on
Commit
1e51ae4
·
verified ·
1 Parent(s): bf5be37

Add 2 files

Browse files
Files changed (2) hide show
  1. index.html +163 -111
  2. prompts.txt +2 -1
index.html CHANGED
@@ -482,6 +482,94 @@
482
  text-align: left;
483
  }
484
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
485
  @media (max-width: 768px) {
486
  .token-amount-options {
487
  grid-template-columns: repeat(2, 1fr);
@@ -493,64 +581,24 @@
493
  bottom: 1rem;
494
  }
495
 
496
- .floating-button, .list-vessel-button {
497
- right: 1rem;
498
  bottom: 1rem;
499
- }
500
-
501
- .list-vessel-button {
502
- bottom: 5rem;
503
  }
504
  }
505
  </style>
506
  </head>
507
  <body class="font-sans bg-gray-50">
508
- <!-- Header -->
509
- <header class="gradient-bg text-white sticky top-0 z-50">
510
- <div class="container mx-auto px-4 py-4">
511
- <div class="flex justify-between items-center">
512
- <div class="flex items-center space-x-2">
513
- <i class="fas fa-ship text-2xl"></i>
514
- <h1 class="text-2xl font-bold">UMBR Vessel Exchange</h1>
515
  </div>
516
- <nav class="hidden md:flex space-x-6 items-center">
517
- <a href="#" class="nav-link hover:underline">Home</a>
518
- <a href="#how-it-works" class="nav-link hover:underline">How It Works</a>
519
- <a href="#list-vessel" class="nav-link hover:underline">List Vessel</a>
520
- <a href="#yield-farming" class="nav-link hover:underline">Yield Farming</a>
521
- <a href="#buy-umbr" class="nav-link hover:underline">Buy UMBR</a>
522
- <a href="#about" class="nav-link hover:underline">About</a>
523
- <a href="#faq" class="nav-link hover:underline">FAQ</a>
524
- </nav>
525
- <button id="mobileMenuButton" class="md:hidden text-2xl focus:outline-none">
526
- <i class="fas fa-bars"></i>
527
- </button>
528
- </div>
529
-
530
- <!-- Mobile Menu -->
531
- <div id="mobileMenu" class="mobile-menu md:hidden bg-blue-700 rounded-lg mt-2">
532
- <div class="flex flex-col space-y-2 p-4">
533
- <a href="#" class="block py-2 px-4 rounded hover:bg-blue-600 transition" onclick="closeMobileMenu()">Home</a>
534
- <a href="#how-it-works" class="block py-2 px-4 rounded hover:bg-blue-600 transition" onclick="closeMobileMenu()">How It Works</a>
535
- <a href="#list-vessel" class="block py-2 px-4 rounded hover:bg-blue-600 transition" onclick="closeMobileMenu()">List Vessel</a>
536
- <a href="#yield-farming" class="block py-2 px-4 rounded hover:bg-blue-600 transition" onclick="closeMobileMenu()">Yield Farming</a>
537
- <a href="#buy-umbr" class="block py-2 px-4 rounded hover:bg-blue-600 transition" onclick="closeMobileMenu()">Buy UMBR</a>
538
- <a href="#about" class="block py-2 px-4 rounded hover:bg-blue-600 transition" onclick="closeMobileMenu()">About</a>
539
- <a href="#faq" class="block py-2 px-4 rounded hover:bg-blue-600 transition" onclick="closeMobileMenu()">FAQ</a>
540
- </div>
541
- </div>
542
-
543
- <div class="mt-12 mb-20 text-center">
544
- <h2 class="text-4xl md:text-5xl font-bold mb-4">Sell your Vessel(s)</h2>
545
  <p class="text-xl mb-8 max-w-2xl mx-auto">The secure platform for vessel transactions on the Bitcoin Cash blockchain</p>
546
- <div class="flex flex-col md:flex-row justify-center space-y-4 md:space-y-0 md:space-x-4">
547
- <a href="#list-vessel" class="bg-white text-blue-600 px-6 py-3 rounded-lg font-semibold hover:bg-gray-100 transition duration-300">
548
- <i class="fas fa-plus-circle mr-2"></i> List Your Vessel
549
- </a>
550
- <a href="#buy-umbr" class="bg-transparent border-2 border-white text-white px-6 py-3 rounded-lg font-semibold hover:bg-white hover:bg-opacity-10 transition duration-300">
551
- <i class="fas fa-coins mr-2"></i> Buy UMBR Tokens
552
- </a>
553
- </div>
554
  </div>
555
  <div class="wave-bg">
556
  <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none">
@@ -558,7 +606,7 @@
558
  </svg>
559
  </div>
560
  </div>
561
- </header>
562
 
563
  <!-- Stats Section -->
564
  <section class="py-12 bg-white">
@@ -568,10 +616,10 @@
568
  <div class="stat-card p-8 text-center">
569
  <div class="text-5xl font-bold text-blue-600 mb-4">12+</div>
570
  <h3 class="text-xl font-semibold mb-2">Vessel Types Accepted</h3>
571
- <p class="text-gray-600">We accept a wide variety of vessels including yachts, sail boats, cargo ships, fishing vessels, and more specialized watercraft.</p>
572
  </div>
573
  <div class="stat-card p-8 text-center">
574
- <div class="text-5xl font-bold text-blue-600 mb-4">$1M-$50M</div>
575
  <h3 class="text-xl font-semibold mb-2">Typical Transaction Value</h3>
576
  <p class="text-gray-600">Our platform specializes in mid to high-value vessel transactions with UMBR tokens.</p>
577
  </div>
@@ -651,7 +699,7 @@
651
  </div>
652
 
653
  <div class="mb-6">
654
- <label class="block text-gray-700 mb-2">Your BCH Cash Token Aware Address</label>
655
  <input type="text" id="bchAddress" class="token-input w-full p-3" placeholder="bitcoincash:qpm2..." pattern="^(bitcoincash:)?[qp][a-z0-9]{41}$">
656
  <p class="text-sm text-gray-500 mt-1">Enter a Bitcoin Cash address that supports Cash Tokens</p>
657
  </div>
@@ -1232,15 +1280,29 @@
1232
  </div>
1233
  </footer>
1234
 
1235
- <!-- Floating List Vessel Button -->
1236
- <div id="listVesselButton" class="list-vessel-button">
1237
- <i class="fas fa-plus-circle text-2xl"></i>
1238
- <span class="list-vessel-tooltip">List Your Vessel</span>
1239
- </div>
1240
-
1241
- <!-- Floating Swap Button -->
1242
- <div id="swapButton" class="floating-button">
1243
- <i class="fas fa-exchange-alt text-2xl"></i>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1244
  </div>
1245
 
1246
  <!-- Swap Window -->
@@ -1260,36 +1322,23 @@
1260
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/qrious.min.js"></script>
1261
 
1262
  <script>
1263
- // Mobile menu functionality
1264
- const mobileMenuButton = document.getElementById('mobileMenuButton');
1265
- const mobileMenu = document.getElementById('mobileMenu');
1266
-
1267
- function toggleMobileMenu() {
1268
- mobileMenu.classList.toggle('open');
1269
- // Change icon based on menu state
1270
- const icon = mobileMenuButton.querySelector('i');
1271
- if (mobileMenu.classList.contains('open')) {
1272
- icon.classList.remove('fa-bars');
1273
- icon.classList.add('fa-times');
1274
- } else {
1275
- icon.classList.remove('fa-times');
1276
- icon.classList.add('fa-bars');
1277
- }
1278
- }
1279
-
1280
- function closeMobileMenu() {
1281
- mobileMenu.classList.remove('open');
1282
- const icon = mobileMenuButton.querySelector('i');
1283
- icon.classList.remove('fa-times');
1284
- icon.classList.add('fa-bars');
1285
- }
1286
-
1287
- mobileMenuButton.addEventListener('click', toggleMobileMenu);
1288
-
1289
- // Close mobile menu when clicking outside
1290
  document.addEventListener('click', (e) => {
1291
- if (!mobileMenu.contains(e.target) && e.target !== mobileMenuButton) {
1292
- closeMobileMenu();
 
 
1293
  }
1294
  });
1295
 
@@ -1325,9 +1374,6 @@
1325
 
1326
  const targetElement = document.querySelector(targetId);
1327
  if (targetElement) {
1328
- // Close mobile menu if open
1329
- closeMobileMenu();
1330
-
1331
  targetElement.scrollIntoView({
1332
  behavior: 'smooth'
1333
  });
@@ -1336,17 +1382,10 @@
1336
  });
1337
 
1338
  // Swap window functionality
1339
- const swapButton = document.getElementById('swapButton');
1340
  const swapWindow = document.getElementById('swapWindow');
1341
  const swapToggle = document.getElementById('swapToggle');
1342
  const swapHeader = document.getElementById('swapHeader');
1343
 
1344
- // Toggle swap window
1345
- swapButton.addEventListener('click', () => {
1346
- swapWindow.classList.remove('collapsed');
1347
- swapWindow.classList.add('expanded');
1348
- });
1349
-
1350
  // Toggle swap window collapse
1351
  swapToggle.addEventListener('click', (e) => {
1352
  e.stopPropagation();
@@ -1356,7 +1395,7 @@
1356
 
1357
  // Close swap window when clicking outside
1358
  document.addEventListener('click', (e) => {
1359
- if (!swapWindow.contains(e.target) && e.target !== swapButton) {
1360
  swapWindow.classList.add('collapsed');
1361
  swapWindow.classList.remove('expanded');
1362
  }
@@ -1367,14 +1406,6 @@
1367
  e.stopPropagation();
1368
  });
1369
 
1370
- // List Vessel Button functionality
1371
- const listVesselButton = document.getElementById('listVesselButton');
1372
- listVesselButton.addEventListener('click', () => {
1373
- document.getElementById('list-vessel').scrollIntoView({
1374
- behavior: 'smooth'
1375
- });
1376
- });
1377
-
1378
  // Token Purchase Functionality
1379
  const tokenAmountInput = document.getElementById('tokenAmount');
1380
  const tokenAmountSlider = document.getElementById('tokenAmountSlider');
@@ -1388,4 +1419,25 @@
1388
  const paymentDetails = document.getElementById('paymentDetails');
1389
  const paymentSuccess = document.getElementById('paymentSuccess');
1390
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1391
  </html>
 
482
  text-align: left;
483
  }
484
 
485
+ /* Floating Action Buttons */
486
+ .fab-container {
487
+ position: fixed;
488
+ bottom: 2rem;
489
+ right: 2rem;
490
+ display: flex;
491
+ flex-direction: column;
492
+ align-items: flex-end;
493
+ z-index: 1000;
494
+ }
495
+
496
+ .fab-main {
497
+ width: 60px;
498
+ height: 60px;
499
+ border-radius: 50%;
500
+ background: linear-gradient(135deg, var(--primary-light) 0%, var(--primary) 100%);
501
+ color: white;
502
+ display: flex;
503
+ align-items: center;
504
+ justify-content: center;
505
+ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
506
+ cursor: pointer;
507
+ transition: all 0.3s ease;
508
+ z-index: 1001;
509
+ }
510
+
511
+ .fab-main:hover {
512
+ transform: scale(1.1);
513
+ }
514
+
515
+ .fab-menu {
516
+ display: flex;
517
+ flex-direction: column;
518
+ align-items: flex-end;
519
+ margin-bottom: 10px;
520
+ transition: all 0.3s ease;
521
+ transform-origin: bottom;
522
+ transform: scaleY(0);
523
+ opacity: 0;
524
+ height: 0;
525
+ }
526
+
527
+ .fab-menu.open {
528
+ transform: scaleY(1);
529
+ opacity: 1;
530
+ height: auto;
531
+ }
532
+
533
+ .fab-item {
534
+ width: 50px;
535
+ height: 50px;
536
+ border-radius: 50%;
537
+ background: white;
538
+ color: var(--primary);
539
+ display: flex;
540
+ align-items: center;
541
+ justify-content: center;
542
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
543
+ cursor: pointer;
544
+ margin-top: 10px;
545
+ transition: all 0.3s ease;
546
+ }
547
+
548
+ .fab-item:hover {
549
+ transform: translateY(-3px);
550
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
551
+ }
552
+
553
+ .fab-tooltip {
554
+ position: absolute;
555
+ right: 60px;
556
+ background: white;
557
+ color: var(--primary);
558
+ padding: 6px 10px;
559
+ border-radius: 6px;
560
+ font-size: 12px;
561
+ font-weight: 600;
562
+ white-space: nowrap;
563
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
564
+ opacity: 0;
565
+ transition: opacity 0.3s ease;
566
+ pointer-events: none;
567
+ }
568
+
569
+ .fab-item:hover .fab-tooltip {
570
+ opacity: 1;
571
+ }
572
+
573
  @media (max-width: 768px) {
574
  .token-amount-options {
575
  grid-template-columns: repeat(2, 1fr);
 
581
  bottom: 1rem;
582
  }
583
 
584
+ .fab-container {
 
585
  bottom: 1rem;
586
+ right: 1rem;
 
 
 
587
  }
588
  }
589
  </style>
590
  </head>
591
  <body class="font-sans bg-gray-50">
592
+ <!-- Hero Section -->
593
+ <section class="gradient-bg text-white relative pb-20">
594
+ <div class="container mx-auto px-4 pt-12">
595
+ <div class="text-center">
596
+ <div class="flex justify-center items-center mb-4">
597
+ <i class="fas fa-ship text-3xl mr-2"></i>
598
+ <h1 class="text-3xl font-bold">UMBR Vessel Exchange</h1>
599
  </div>
600
+ <h2 class="text-4xl md:text-5xl font-bold mb-4">Sell or Buy Vessels with UMBR Tokens</h2>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
601
  <p class="text-xl mb-8 max-w-2xl mx-auto">The secure platform for vessel transactions on the Bitcoin Cash blockchain</p>
 
 
 
 
 
 
 
 
602
  </div>
603
  <div class="wave-bg">
604
  <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none">
 
606
  </svg>
607
  </div>
608
  </div>
609
+ </section>
610
 
611
  <!-- Stats Section -->
612
  <section class="py-12 bg-white">
 
616
  <div class="stat-card p-8 text-center">
617
  <div class="text-5xl font-bold text-blue-600 mb-4">12+</div>
618
  <h3 class="text-xl font-semibold mb-2">Vessel Types Accepted</h3>
619
+ <p class="text-gray-600">We accept a wide variety of vessels including yachts, cargo ships, fishing vessels, and more specialized watercraft.</p>
620
  </div>
621
  <div class="stat-card p-8 text-center">
622
+ <div class="text-5xl font-bold text-blue-600 mb-4">$10K-$10M</div>
623
  <h3 class="text-xl font-semibold mb-2">Typical Transaction Value</h3>
624
  <p class="text-gray-600">Our platform specializes in mid to high-value vessel transactions with UMBR tokens.</p>
625
  </div>
 
699
  </div>
700
 
701
  <div class="mb-6">
702
+ <label class="block text-gray-700 mb-2">Your BCH Cash Token Address</label>
703
  <input type="text" id="bchAddress" class="token-input w-full p-3" placeholder="bitcoincash:qpm2..." pattern="^(bitcoincash:)?[qp][a-z0-9]{41}$">
704
  <p class="text-sm text-gray-500 mt-1">Enter a Bitcoin Cash address that supports Cash Tokens</p>
705
  </div>
 
1280
  </div>
1281
  </footer>
1282
 
1283
+ <!-- Floating Action Buttons -->
1284
+ <div class="fab-container">
1285
+ <div class="fab-menu" id="fabMenu">
1286
+ <div class="fab-item relative" onclick="window.location.href='#buy-umbr'">
1287
+ <i class="fas fa-coins"></i>
1288
+ <span class="fab-tooltip">Buy UMBR</span>
1289
+ </div>
1290
+ <div class="fab-item relative" onclick="window.location.href='#list-vessel'">
1291
+ <i class="fas fa-ship"></i>
1292
+ <span class="fab-tooltip">List Vessel</span>
1293
+ </div>
1294
+ <div class="fab-item relative" onclick="window.location.href='#yield-farming'">
1295
+ <i class="fas fa-chart-line"></i>
1296
+ <span class="fab-tooltip">Yield Farming</span>
1297
+ </div>
1298
+ <div class="fab-item relative" onclick="window.location.href='#faq'">
1299
+ <i class="fas fa-question"></i>
1300
+ <span class="fab-tooltip">FAQ</span>
1301
+ </div>
1302
+ </div>
1303
+ <div class="fab-main" id="fabMain">
1304
+ <i class="fas fa-bars" id="fabIcon"></i>
1305
+ </div>
1306
  </div>
1307
 
1308
  <!-- Swap Window -->
 
1322
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/qrious.min.js"></script>
1323
 
1324
  <script>
1325
+ // Floating Action Button functionality
1326
+ const fabMain = document.getElementById('fabMain');
1327
+ const fabMenu = document.getElementById('fabMenu');
1328
+ const fabIcon = document.getElementById('fabIcon');
1329
+
1330
+ fabMain.addEventListener('click', () => {
1331
+ fabMenu.classList.toggle('open');
1332
+ fabIcon.classList.toggle('fa-bars');
1333
+ fabIcon.classList.toggle('fa-times');
1334
+ });
1335
+
1336
+ // Close FAB menu when clicking outside
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1337
  document.addEventListener('click', (e) => {
1338
+ if (!fabMain.contains(e.target) && !fabMenu.contains(e.target)) {
1339
+ fabMenu.classList.remove('open');
1340
+ fabIcon.classList.remove('fa-times');
1341
+ fabIcon.classList.add('fa-bars');
1342
  }
1343
  });
1344
 
 
1374
 
1375
  const targetElement = document.querySelector(targetId);
1376
  if (targetElement) {
 
 
 
1377
  targetElement.scrollIntoView({
1378
  behavior: 'smooth'
1379
  });
 
1382
  });
1383
 
1384
  // Swap window functionality
 
1385
  const swapWindow = document.getElementById('swapWindow');
1386
  const swapToggle = document.getElementById('swapToggle');
1387
  const swapHeader = document.getElementById('swapHeader');
1388
 
 
 
 
 
 
 
1389
  // Toggle swap window collapse
1390
  swapToggle.addEventListener('click', (e) => {
1391
  e.stopPropagation();
 
1395
 
1396
  // Close swap window when clicking outside
1397
  document.addEventListener('click', (e) => {
1398
+ if (!swapWindow.contains(e.target)) {
1399
  swapWindow.classList.add('collapsed');
1400
  swapWindow.classList.remove('expanded');
1401
  }
 
1406
  e.stopPropagation();
1407
  });
1408
 
 
 
 
 
 
 
 
 
1409
  // Token Purchase Functionality
1410
  const tokenAmountInput = document.getElementById('tokenAmount');
1411
  const tokenAmountSlider = document.getElementById('tokenAmountSlider');
 
1419
  const paymentDetails = document.getElementById('paymentDetails');
1420
  const paymentSuccess = document.getElementById('paymentSuccess');
1421
 
1422
+ // Token price calculation
1423
+ const tokenPriceBCH = 0.00004153;
1424
+ const tokenPriceUSD = 0.0098;
1425
+
1426
+ function calculateAmounts() {
1427
+ const tokenAmount = parseFloat(tokenAmountInput.value) || 0;
1428
+ const bchAmount = tokenAmount * tokenPriceBCH;
1429
+ const usdAmount = tokenAmount * tokenPriceUSD;
1430
+
1431
+ bchAmountDisplay.textContent = bchAmount.toFixed(8) + ' BCH';
1432
+ usdAmountDisplay.textContent = `(~$${usdAmount.toFixed(2)} USD)`;
1433
+ }
1434
+
1435
+ // Update amounts when inputs change
1436
+ tokenAmountInput.addEventListener('input', () => {
1437
+ tokenAmountSlider.value = tokenAmountInput.value;
1438
+ calculateAmounts();
1439
+ });
1440
+
1441
+ tokenAmountSlider.addEventListener('input', () => {
1442
+
1443
  </html>
prompts.txt CHANGED
@@ -1 +1,2 @@
1
- Make the layout more user friendly and fine tune the purchasing module to complete the purchase via the site without escrow add a BCH Cash token aware address the user can input to receive UMBR tokens reference https://cashtokens.org/docs/spec/chip https://cashtokens.org/docs/spec/chip/#token-aware-transaction-validation
 
 
1
+ Make the layout more user friendly and fine tune the purchasing module to complete the purchase via the site without escrow add a BCH Cash token aware address the user can input to receive UMBR tokens reference https://cashtokens.org/docs/spec/chip https://cashtokens.org/docs/spec/chip/#token-aware-transaction-validation
2
+ Use floating buttons to make the site more user friendly and remove the top panel in the layout