dbeck22 commited on
Commit
8922787
·
verified ·
1 Parent(s): c95fe7b

what happened to the error coin identifier? that is the most important part ! bring all that back! and it will be called Marcus Mint The ai Coin Expert

Browse files
Files changed (3) hide show
  1. index.html +108 -31
  2. script.js +33 -4
  3. style.css +27 -4
index.html CHANGED
@@ -3,8 +3,8 @@
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Error Coin Explorer</title>
7
- <link rel="stylesheet" href="style.css">
8
  <script src="https://cdn.tailwindcss.com"></script>
9
  <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
  <script src="https://unpkg.com/feather-icons"></script>
@@ -25,47 +25,124 @@
25
  <div class="container mx-auto px-4 py-12">
26
  <header class="text-center mb-16">
27
  <h1 class="text-4xl md:text-5xl font-bold text-gray-800 mb-4">
28
- <i data-feather="dollar-sign" class="inline mr-2"></i>
29
- Error Coin Explorer
30
  </h1>
31
  <p class="text-lg text-gray-600 max-w-2xl mx-auto">
32
- Discover the fascinating world of error coins and learn how they can be valuable collectibles.
33
  </p>
34
- </header>
35
-
36
  <main class="flex flex-col items-center">
37
- <div class="bg-white rounded-xl shadow-lg p-8 w-full max-w-md mb-8 text-center">
38
- <i data-feather="search" class="w-12 h-12 text-primary mx-auto mb-4"></i>
39
- <h2 class="text-2xl font-semibold text-gray-800 mb-4">Learn About Error Coins</h2>
40
- <p class="text-gray-600 mb-6">
41
- Discover the most valuable error coins and what makes them special.
42
- </p>
43
- <a href="https://valuablecoinlist.com"
44
- class="inline-block bg-primary hover:bg-primary-600 text-white font-medium py-3 px-6 rounded-lg transition duration-300">
45
- Explore Valuable Coins
46
- </a>
47
- </div>
48
-
49
- <div class="bg-white rounded-xl shadow-lg p-8 w-full max-w-md text-center">
50
- <i data-feather="trending-up" class="w-12 h-12 text-secondary mx-auto mb-4"></i>
51
- <h2 class="text-2xl font-semibold text-gray-800 mb-4">Profit from Error Coins</h2>
52
- <p class="text-gray-600 mb-6">
53
- Learn how to identify and sell error coins for profit.
54
- </p>
55
- <a href="https://richofferrorcoins.com"
56
- class="inline-block bg-secondary hover:bg-secondary-600 text-white font-medium py-3 px-6 rounded-lg transition duration-300">
57
- Learn to Earn
58
- </a>
 
 
 
 
 
 
 
 
 
 
 
59
  </div>
60
- </main>
61
 
62
  <footer class="mt-20 text-center text-gray-500 text-sm">
63
  <p>© 2023 Error Coin Explorer. All rights reserved.</p>
64
  </footer>
65
  </div>
66
-
67
  <script>
68
  feather.replace();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  </script>
70
  <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
71
  </body>
 
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Marcus Mint - AI Coin Expert</title>
7
+ <link rel="stylesheet" href="style.css">
8
  <script src="https://cdn.tailwindcss.com"></script>
9
  <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
  <script src="https://unpkg.com/feather-icons"></script>
 
25
  <div class="container mx-auto px-4 py-12">
26
  <header class="text-center mb-16">
27
  <h1 class="text-4xl md:text-5xl font-bold text-gray-800 mb-4">
28
+ <i data-feather="award" class="inline mr-2"></i>
29
+ Marcus Mint
30
  </h1>
31
  <p class="text-lg text-gray-600 max-w-2xl mx-auto">
32
+ AI-powered coin identification and valuation expert for collectors and investors.
33
  </p>
34
+ </header>
 
35
  <main class="flex flex-col items-center">
36
+ <div class="bg-white rounded-xl shadow-lg p-8 w-full max-w-2xl mb-8">
37
+ <div class="text-center mb-6">
38
+ <i data-feather="camera" class="w-12 h-12 text-primary mx-auto mb-4"></i>
39
+ <h2 class="text-2xl font-semibold text-gray-800 mb-2">Coin Identifier</h2>
40
+ <p class="text-gray-600">Upload an image of your coin for instant analysis</p>
41
+ </div>
42
+
43
+ <div class="flex flex-col md:flex-row gap-6">
44
+ <div class="flex-1">
45
+ <div class="border-2 border-dashed border-gray-300 rounded-lg p-6 text-center mb-4">
46
+ <div id="preview" class="hidden mb-4">
47
+ <img id="previewImage" src="#" alt="Preview" class="max-h-64 mx-auto">
48
+ </div>
49
+ <label for="coinImage" class="cursor-pointer">
50
+ <i data-feather="upload" class="w-8 h-8 mx-auto text-gray-400 mb-2"></i>
51
+ <p class="text-gray-500">Click to upload coin image</p>
52
+ <input type="file" id="coinImage" accept="image/*" class="hidden">
53
+ </label>
54
+ </div>
55
+ <button id="analyzeBtn" class="w-full bg-primary hover:bg-primary-600 text-white font-medium py-3 px-6 rounded-lg transition duration-300">
56
+ Analyze Coin
57
+ </button>
58
+ </div>
59
+
60
+ <div class="flex-1">
61
+ <div class="bg-gray-50 rounded-lg p-6 h-full">
62
+ <h3 class="font-medium text-gray-700 mb-3">Analysis Results</h3>
63
+ <div id="results" class="text-gray-600">
64
+ <p class="text-center py-8">Your coin details will appear here after analysis</p>
65
+ </div>
66
+ </div>
67
+ </div>
68
+ </div>
69
  </div>
70
+ </main>
71
 
72
  <footer class="mt-20 text-center text-gray-500 text-sm">
73
  <p>© 2023 Error Coin Explorer. All rights reserved.</p>
74
  </footer>
75
  </div>
 
76
  <script>
77
  feather.replace();
78
+
79
+ document.getElementById('coinImage').addEventListener('change', function(e) {
80
+ const file = e.target.files[0];
81
+ if (file) {
82
+ const reader = new FileReader();
83
+ reader.onload = function(event) {
84
+ const preview = document.getElementById('preview');
85
+ const previewImage = document.getElementById('previewImage');
86
+ previewImage.src = event.target.result;
87
+ preview.classList.remove('hidden');
88
+ }
89
+ reader.readAsDataURL(file);
90
+ }
91
+ });
92
+
93
+ document.getElementById('analyzeBtn').addEventListener('click', function() {
94
+ const fileInput = document.getElementById('coinImage');
95
+ if (!fileInput.files[0]) {
96
+ alert('Please upload a coin image first');
97
+ return;
98
+ }
99
+
100
+ // Show loading state
101
+ const results = document.getElementById('results');
102
+ results.innerHTML = `
103
+ <div class="flex items-center justify-center py-8">
104
+ <div class="animate-spin rounded-full h-8 w-8 border-b-2 border-primary mr-3"></div>
105
+ <span>Analyzing your coin...</span>
106
+ </div>
107
+ `;
108
+
109
+ // Simulate API call (replace with actual API integration)
110
+ setTimeout(() => {
111
+ // Mock response - replace with real data from your API
112
+ const mockResponse = {
113
+ coinType: "2005 Kansas State Quarter",
114
+ errorType: "Die Break Error",
115
+ rarity: "Rare (1 in 10,000)",
116
+ estimatedValue: "$50 - $200",
117
+ description: "This coin shows a clear die break error on the obverse side, creating an extra metal protrusion near the date. These errors occur when part of the die breaks off during the minting process."
118
+ };
119
+
120
+ results.innerHTML = `
121
+ <div class="space-y-3">
122
+ <div>
123
+ <p class="text-sm text-gray-500">Coin Type</p>
124
+ <p class="font-medium">${mockResponse.coinType}</p>
125
+ </div>
126
+ <div>
127
+ <p class="text-sm text-gray-500">Error Type</p>
128
+ <p class="font-medium">${mockResponse.errorType}</p>
129
+ </div>
130
+ <div>
131
+ <p class="text-sm text-gray-500">Rarity</p>
132
+ <p class="font-medium">${mockResponse.rarity}</p>
133
+ </div>
134
+ <div>
135
+ <p class="text-sm text-gray-500">Estimated Value</p>
136
+ <p class="font-medium text-primary">${mockResponse.estimatedValue}</p>
137
+ </div>
138
+ <div>
139
+ <p class="text-sm text-gray-500">Description</p>
140
+ <p>${mockResponse.description}</p>
141
+ </div>
142
+ </div>
143
+ `;
144
+ }, 2000);
145
+ });
146
  </script>
147
  <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
148
  </body>
script.js CHANGED
@@ -1,8 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  // Document ready function
2
  document.addEventListener('DOMContentLoaded', function() {
3
- // Add any JavaScript functionality here if needed
4
-
5
- // Example: Smooth scroll for anchor links
6
  document.querySelectorAll('a[href^="#"]').forEach(anchor => {
7
  anchor.addEventListener('click', function (e) {
8
  e.preventDefault();
@@ -11,4 +37,7 @@ document.addEventListener('DOMContentLoaded', function() {
11
  });
12
  });
13
  });
14
- });
 
 
 
 
1
+
2
+ // Coin analysis API integration
3
+ async function analyzeCoin(imageFile) {
4
+ // Replace with your actual API endpoint
5
+ const apiUrl = 'https://api.example.com/coin-analysis';
6
+
7
+ const formData = new FormData();
8
+ formData.append('image', imageFile);
9
+
10
+ try {
11
+ const response = await fetch(apiUrl, {
12
+ method: 'POST',
13
+ body: formData
14
+ });
15
+
16
+ if (!response.ok) {
17
+ throw new Error('Analysis failed');
18
+ }
19
+
20
+ return await response.json();
21
+ } catch (error) {
22
+ console.error('Error analyzing coin:', error);
23
+ return {
24
+ error: 'Failed to analyze coin. Please try again.'
25
+ };
26
+ }
27
+ }
28
+
29
  // Document ready function
30
  document.addEventListener('DOMContentLoaded', function() {
31
+ // Smooth scroll for anchor links
 
 
32
  document.querySelectorAll('a[href^="#"]').forEach(anchor => {
33
  anchor.addEventListener('click', function (e) {
34
  e.preventDefault();
 
37
  });
38
  });
39
  });
40
+
41
+ // Real implementation would use the analyzeCoin function above
42
+ // Currently using mock data in the HTML file for demonstration
43
+ });
style.css CHANGED
@@ -2,18 +2,41 @@
2
  body {
3
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
4
  }
 
 
 
 
 
5
 
6
- /* Animation for buttons */
7
- a[href^="https://"] {
 
 
 
 
 
8
  transition: all 0.3s ease;
9
- transform: translateY(0);
10
  }
11
 
12
- a[href^="https://"]:hover {
 
 
 
 
 
13
  transform: translateY(-2px);
14
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
15
  }
16
 
 
 
 
 
 
 
 
 
 
17
  /* Responsive adjustments */
18
  @media (max-width: 640px) {
19
  .container {
 
2
  body {
3
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
4
  }
5
+ /* Coin upload area styling */
6
+ #previewImage {
7
+ max-width: 100%;
8
+ border-radius: 0.5rem;
9
+ }
10
 
11
+ #coinImage + label:hover {
12
+ background-color: #f8fafc;
13
+ }
14
+
15
+ /* Analysis results styling */
16
+ #results {
17
+ min-height: 200px;
18
  transition: all 0.3s ease;
 
19
  }
20
 
21
+ /* Animation for buttons */
22
+ button, a[href^="https://"] {
23
+ transition: all 0.3s ease;
24
+ transform: translateY(0);
25
+ }
26
+ button:hover, a[href^="https://"]:hover {
27
  transform: translateY(-2px);
28
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
29
  }
30
 
31
+ /* Loading spinner */
32
+ @keyframes spin {
33
+ 0% { transform: rotate(0deg); }
34
+ 100% { transform: rotate(360deg); }
35
+ }
36
+
37
+ .animate-spin {
38
+ animation: spin 1s linear infinite;
39
+ }
40
  /* Responsive adjustments */
41
  @media (max-width: 640px) {
42
  .container {