Spaces:
Running
Running
Add 1 files
Browse files- index.html +184 -11
index.html
CHANGED
@@ -16,6 +16,10 @@
|
|
16 |
dark: '#1F2937',
|
17 |
light: '#F3F4F6',
|
18 |
accent: '#F59E0B',
|
|
|
|
|
|
|
|
|
19 |
}
|
20 |
}
|
21 |
}
|
@@ -54,6 +58,18 @@
|
|
54 |
border-color: #4F46E5;
|
55 |
box-shadow: 0 4px 6px -1px rgba(79, 70, 229, 0.3);
|
56 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
</style>
|
58 |
</head>
|
59 |
<body class="bg-gray-50 font-sans">
|
@@ -98,11 +114,14 @@
|
|
98 |
<div class="relative w-64 h-64">
|
99 |
<svg class="w-full h-full" viewBox="0 0 160 160">
|
100 |
<circle cx="80" cy="80" r="70" stroke="#E5E7EB" stroke-width="10" fill="none"/>
|
101 |
-
<circle id="score-ring" class="score-ring" cx="80" cy="80" r="70" stroke="#4F46E5" stroke-width="10" fill="none" stroke-dashoffset="
|
102 |
</svg>
|
103 |
<div class="absolute inset-0 flex flex-col items-center justify-center">
|
104 |
-
<
|
105 |
-
|
|
|
|
|
|
|
106 |
</div>
|
107 |
</div>
|
108 |
</div>
|
@@ -174,7 +193,91 @@
|
|
174 |
</div>
|
175 |
</section>
|
176 |
|
177 |
-
<!--
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
<section class="bg-white rounded-xl shadow-lg p-8 mb-12">
|
179 |
<div class="flex items-center mb-6">
|
180 |
<div class="w-12 h-12 bg-blue-100 text-blue-600 rounded-full flex items-center justify-center mr-4">
|
@@ -531,9 +634,25 @@
|
|
531 |
longevity: 0,
|
532 |
borrowing: 0,
|
533 |
licenseTier: null,
|
534 |
-
revenueStreams: []
|
|
|
535 |
};
|
536 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
537 |
// Social media connections
|
538 |
const socialCards = document.querySelectorAll('.social-card');
|
539 |
socialCards.forEach(card => {
|
@@ -577,6 +696,36 @@
|
|
577 |
});
|
578 |
});
|
579 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
580 |
// Community buttons
|
581 |
const communityBtns = document.querySelectorAll('.community-btn');
|
582 |
communityBtns.forEach(btn => {
|
@@ -686,23 +835,33 @@
|
|
686 |
if (scores.licenseTier === 'professional') licenseBonus = 30;
|
687 |
if (scores.licenseTier === 'enterprise') licenseBonus = 50;
|
688 |
|
|
|
|
|
|
|
|
|
|
|
|
|
689 |
// Revenue streams bonus
|
690 |
const revenueBonus = scores.revenueStreams.length * 5;
|
691 |
|
692 |
-
// Main score (weighted average with heavy emphasis on licensing)
|
693 |
scores.main = Math.min(100,
|
694 |
-
(scores.content * 0.
|
695 |
-
(scores.engagement * 0.
|
696 |
-
(scores.longevity * 0.
|
697 |
(licenseBonus * 1.5) + // 1.5x weight for licensing
|
|
|
698 |
revenueBonus
|
699 |
);
|
700 |
|
701 |
-
// Borrowing power (based on main score with multiplier for licensing)
|
702 |
let borrowingMultiplier = 1;
|
703 |
if (scores.licenseTier === 'professional') borrowingMultiplier = 1.5;
|
704 |
if (scores.licenseTier === 'enterprise') borrowingMultiplier = 2;
|
705 |
|
|
|
|
|
|
|
706 |
scores.borrowing = Math.floor(Math.pow(scores.main, 1.5) * 100 * borrowingMultiplier);
|
707 |
|
708 |
// Update UI
|
@@ -712,9 +871,17 @@
|
|
712 |
// Update UI with scores
|
713 |
function updateScoreUI() {
|
714 |
// Main score
|
715 |
-
|
|
|
716 |
document.getElementById('score-ring').style.strokeDashoffset = 440 - (440 * scores.main / 100);
|
717 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
718 |
// Sub-scores
|
719 |
document.getElementById('content-score').textContent = Math.round(scores.content);
|
720 |
document.getElementById('content-score-bar').style.width = `${scores.content}%`;
|
@@ -738,6 +905,12 @@
|
|
738 |
if (professionalTier) {
|
739 |
professionalTier.click();
|
740 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
741 |
});
|
742 |
</script>
|
743 |
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=privateuserh/dynrep1-0" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
|
|
|
16 |
dark: '#1F2937',
|
17 |
light: '#F3F4F6',
|
18 |
accent: '#F59E0B',
|
19 |
+
platinum: '#E5E4E2',
|
20 |
+
gold: '#FFD700',
|
21 |
+
silver: '#C0C0C0',
|
22 |
+
bronze: '#CD7F32'
|
23 |
}
|
24 |
}
|
25 |
}
|
|
|
58 |
border-color: #4F46E5;
|
59 |
box-shadow: 0 4px 6px -1px rgba(79, 70, 229, 0.3);
|
60 |
}
|
61 |
+
.greek-letter {
|
62 |
+
font-family: 'Times New Roman', Times, serif;
|
63 |
+
font-style: italic;
|
64 |
+
}
|
65 |
+
.boost-card {
|
66 |
+
transition: all 0.3s ease;
|
67 |
+
background: linear-gradient(135deg, rgba(79, 70, 229, 0.1) 0%, rgba(16, 185, 129, 0.1) 100%);
|
68 |
+
}
|
69 |
+
.boost-card:hover {
|
70 |
+
transform: translateY(-5px);
|
71 |
+
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
|
72 |
+
}
|
73 |
</style>
|
74 |
</head>
|
75 |
<body class="bg-gray-50 font-sans">
|
|
|
114 |
<div class="relative w-64 h-64">
|
115 |
<svg class="w-full h-full" viewBox="0 0 160 160">
|
116 |
<circle cx="80" cy="80" r="70" stroke="#E5E7EB" stroke-width="10" fill="none"/>
|
117 |
+
<circle id="score-ring" class="score-ring" cx="80" cy="80" r="70" stroke="#4F46E5" stroke-width="10" fill="none" stroke-dashoffset="440"/>
|
118 |
</svg>
|
119 |
<div class="absolute inset-0 flex flex-col items-center justify-center">
|
120 |
+
<div class="flex items-end">
|
121 |
+
<span id="main-score" class="text-5xl font-bold text-dark">0</span>
|
122 |
+
<span id="greek-letter" class="greek-letter text-2xl ml-1 mb-1 text-primary"></span>
|
123 |
+
</div>
|
124 |
+
<span id="level-title" class="text-gray-500">Novice Creator</span>
|
125 |
</div>
|
126 |
</div>
|
127 |
</div>
|
|
|
193 |
</div>
|
194 |
</section>
|
195 |
|
196 |
+
<!-- Boost Section -->
|
197 |
+
<section class="bg-white rounded-xl shadow-lg p-8 mb-12">
|
198 |
+
<div class="flex items-center mb-6">
|
199 |
+
<div class="w-12 h-12 bg-purple-100 text-purple-600 rounded-full flex items-center justify-center mr-4">
|
200 |
+
<i class="fas fa-bolt text-xl"></i>
|
201 |
+
</div>
|
202 |
+
<div>
|
203 |
+
<h2 class="text-3xl font-bold text-dark">Boost Your Score</h2>
|
204 |
+
<p class="text-gray-600">Annuitize your earnings for stable income verification with unspent.cash</p>
|
205 |
+
</div>
|
206 |
+
</div>
|
207 |
+
|
208 |
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
|
209 |
+
<div class="boost-card border border-gray-200 rounded-xl p-6 cursor-pointer" data-boost="basic">
|
210 |
+
<div class="flex justify-between items-start mb-4">
|
211 |
+
<div>
|
212 |
+
<h3 class="font-bold text-lg">Basic Stability</h3>
|
213 |
+
<p class="text-gray-500 text-sm">3-month annuitization</p>
|
214 |
+
</div>
|
215 |
+
<div class="bg-purple-100 text-purple-800 px-3 py-1 rounded-full text-xs font-bold">+5 pts</div>
|
216 |
+
</div>
|
217 |
+
<ul class="text-sm text-gray-600 space-y-2 mb-4">
|
218 |
+
<li class="flex items-center"><i class="fas fa-check-circle text-purple-500 mr-2"></i> 3-month income verification</li>
|
219 |
+
<li class="flex items-center"><i class="fas fa-check-circle text-purple-500 mr-2"></i> Basic unspent.cash integration</li>
|
220 |
+
<li class="flex items-center"><i class="fas fa-check-circle text-purple-500 mr-2"></i> Small boost to reputation</li>
|
221 |
+
</ul>
|
222 |
+
<div class="text-center">
|
223 |
+
<button class="select-boost-btn w-full py-2 px-4 border border-gray-300 rounded-lg hover:bg-gray-50">
|
224 |
+
Connect to unspent.app
|
225 |
+
</button>
|
226 |
+
</div>
|
227 |
+
</div>
|
228 |
+
|
229 |
+
<div class="boost-card border border-gray-200 rounded-xl p-6 cursor-pointer" data-boost="professional">
|
230 |
+
<div class="flex justify-between items-start mb-4">
|
231 |
+
<div>
|
232 |
+
<h3 class="font-bold text-lg">Professional Stability</h3>
|
233 |
+
<p class="text-gray-500 text-sm">6-month annuitization</p>
|
234 |
+
</div>
|
235 |
+
<div class="bg-purple-100 text-purple-800 px-3 py-1 rounded-full text-xs font-bold">+15 pts</div>
|
236 |
+
</div>
|
237 |
+
<ul class="text-sm text-gray-600 space-y-2 mb-4">
|
238 |
+
<li class="flex items-center"><i class="fas fa-check-circle text-purple-500 mr-2"></i> 6-month income verification</li>
|
239 |
+
<li class="flex items-center"><i class="fas fa-check-circle text-purple-500 mr-2"></i> Full unspent.cash integration</li>
|
240 |
+
<li class="flex items-center"><i class="fas fa-check-circle text-purple-500 mr-2"></i> Medium boost to reputation</li>
|
241 |
+
</ul>
|
242 |
+
<div class="text-center">
|
243 |
+
<button class="select-boost-btn w-full py-2 px-4 bg-purple-600 text-white rounded-lg hover:bg-purple-700">
|
244 |
+
Connect to unspent.app
|
245 |
+
</button>
|
246 |
+
</div>
|
247 |
+
</div>
|
248 |
+
|
249 |
+
<div class="boost-card border border-gray-200 rounded-xl p-6 cursor-pointer" data-boost="enterprise">
|
250 |
+
<div class="flex justify-between items-start mb-4">
|
251 |
+
<div>
|
252 |
+
<h3 class="font-bold text-lg">Enterprise Stability</h3>
|
253 |
+
<p class="text-gray-500 text-sm">12-month annuitization</p>
|
254 |
+
</div>
|
255 |
+
<div class="bg-purple-100 text-purple-800 px-3 py-1 rounded-full text-xs font-bold">+30 pts</div>
|
256 |
+
</div>
|
257 |
+
<ul class="text-sm text-gray-600 space-y-2 mb-4">
|
258 |
+
<li class="flex items-center"><i class="fas fa-check-circle text-purple-500 mr-2"></i> 12-month income verification</li>
|
259 |
+
<li class="flex items-center"><i class="fas fa-check-circle text-purple-500 mr-2"></i> Premium unspent.cash features</li>
|
260 |
+
<li class="flex items-center"><i class="fas fa-check-circle text-purple-500 mr-2"></i> Large boost to reputation</li>
|
261 |
+
</ul>
|
262 |
+
<div class="text-center">
|
263 |
+
<button class="select-boost-btn w-full py-2 px-4 border border-gray-300 rounded-lg hover:bg-gray-50">
|
264 |
+
Connect to unspent.app
|
265 |
+
</button>
|
266 |
+
</div>
|
267 |
+
</div>
|
268 |
+
</div>
|
269 |
+
|
270 |
+
<div class="mt-6 bg-purple-50 rounded-lg p-4">
|
271 |
+
<h3 class="font-bold text-purple-800 mb-2">How Annuitization Boosts Your Score</h3>
|
272 |
+
<p class="text-purple-700 text-sm">
|
273 |
+
By connecting your unspent.cash account and annuitizing a portion of your earnings, you demonstrate
|
274 |
+
stable income streams to lenders. This significantly improves your reputation score by verifying
|
275 |
+
your ability to repay loans. The longer the annuitization period, the greater the boost to your score.
|
276 |
+
</p>
|
277 |
+
</div>
|
278 |
+
</section>
|
279 |
+
|
280 |
+
<!-- Licensing Activity Section -->
|
281 |
<section class="bg-white rounded-xl shadow-lg p-8 mb-12">
|
282 |
<div class="flex items-center mb-6">
|
283 |
<div class="w-12 h-12 bg-blue-100 text-blue-600 rounded-full flex items-center justify-center mr-4">
|
|
|
634 |
longevity: 0,
|
635 |
borrowing: 0,
|
636 |
licenseTier: null,
|
637 |
+
revenueStreams: [],
|
638 |
+
boostTier: null
|
639 |
};
|
640 |
|
641 |
+
// Greek letters for levels
|
642 |
+
const greekLetters = ['α', 'β', 'γ', 'δ', 'ε', 'ζ', 'η', 'θ', 'ι', 'κ', 'λ', 'μ', 'ν', 'ξ', 'ο', 'π', 'ρ', 'σ', 'τ', 'υ', 'φ', 'χ', 'ψ', 'ω'];
|
643 |
+
|
644 |
+
// Level titles
|
645 |
+
const levelTitles = [
|
646 |
+
"Novice Creator",
|
647 |
+
"Emerging Creator",
|
648 |
+
"Established Creator",
|
649 |
+
"Professional Creator",
|
650 |
+
"Influential Creator",
|
651 |
+
"Premium Creator",
|
652 |
+
"Elite Creator",
|
653 |
+
"Top-Tier Creator"
|
654 |
+
];
|
655 |
+
|
656 |
// Social media connections
|
657 |
const socialCards = document.querySelectorAll('.social-card');
|
658 |
socialCards.forEach(card => {
|
|
|
696 |
});
|
697 |
});
|
698 |
|
699 |
+
// Boost tiers
|
700 |
+
const boostCards = document.querySelectorAll('.boost-card');
|
701 |
+
const selectBoostBtns = document.querySelectorAll('.select-boost-btn');
|
702 |
+
|
703 |
+
boostCards.forEach(card => {
|
704 |
+
card.addEventListener('click', function() {
|
705 |
+
// Remove active class from all boost cards
|
706 |
+
boostCards.forEach(c => c.classList.remove('border-purple-500'));
|
707 |
+
|
708 |
+
// Add active class to clicked card
|
709 |
+
this.classList.add('border-purple-500');
|
710 |
+
|
711 |
+
// Update selected boost tier
|
712 |
+
scores.boostTier = this.dataset.boost;
|
713 |
+
|
714 |
+
// Update button states
|
715 |
+
selectBoostBtns.forEach(btn => {
|
716 |
+
btn.classList.remove('bg-purple-600', 'text-white');
|
717 |
+
btn.classList.add('border', 'border-gray-300');
|
718 |
+
});
|
719 |
+
|
720 |
+
// Highlight the selected button
|
721 |
+
const btn = this.querySelector('.select-boost-btn');
|
722 |
+
btn.classList.add('bg-purple-600', 'text-white');
|
723 |
+
btn.classList.remove('border', 'border-gray-300');
|
724 |
+
|
725 |
+
calculateScore();
|
726 |
+
});
|
727 |
+
});
|
728 |
+
|
729 |
// Community buttons
|
730 |
const communityBtns = document.querySelectorAll('.community-btn');
|
731 |
communityBtns.forEach(btn => {
|
|
|
835 |
if (scores.licenseTier === 'professional') licenseBonus = 30;
|
836 |
if (scores.licenseTier === 'enterprise') licenseBonus = 50;
|
837 |
|
838 |
+
// Boost bonus (annuitization)
|
839 |
+
let boostBonus = 0;
|
840 |
+
if (scores.boostTier === 'basic') boostBonus = 5;
|
841 |
+
if (scores.boostTier === 'professional') boostBonus = 15;
|
842 |
+
if (scores.boostTier === 'enterprise') boostBonus = 30;
|
843 |
+
|
844 |
// Revenue streams bonus
|
845 |
const revenueBonus = scores.revenueStreams.length * 5;
|
846 |
|
847 |
+
// Main score (weighted average with heavy emphasis on licensing and boost)
|
848 |
scores.main = Math.min(100,
|
849 |
+
(scores.content * 0.25) +
|
850 |
+
(scores.engagement * 0.15) +
|
851 |
+
(scores.longevity * 0.15) +
|
852 |
(licenseBonus * 1.5) + // 1.5x weight for licensing
|
853 |
+
(boostBonus * 1.2) + // 1.2x weight for boost
|
854 |
revenueBonus
|
855 |
);
|
856 |
|
857 |
+
// Borrowing power (based on main score with multiplier for licensing and boost)
|
858 |
let borrowingMultiplier = 1;
|
859 |
if (scores.licenseTier === 'professional') borrowingMultiplier = 1.5;
|
860 |
if (scores.licenseTier === 'enterprise') borrowingMultiplier = 2;
|
861 |
|
862 |
+
if (scores.boostTier === 'professional') borrowingMultiplier *= 1.2;
|
863 |
+
if (scores.boostTier === 'enterprise') borrowingMultiplier *= 1.5;
|
864 |
+
|
865 |
scores.borrowing = Math.floor(Math.pow(scores.main, 1.5) * 100 * borrowingMultiplier);
|
866 |
|
867 |
// Update UI
|
|
|
871 |
// Update UI with scores
|
872 |
function updateScoreUI() {
|
873 |
// Main score
|
874 |
+
const roundedScore = Math.round(scores.main);
|
875 |
+
document.getElementById('main-score').textContent = roundedScore;
|
876 |
document.getElementById('score-ring').style.strokeDashoffset = 440 - (440 * scores.main / 100);
|
877 |
|
878 |
+
// Determine Greek letter and level
|
879 |
+
const levelIndex = Math.min(Math.floor(roundedScore / 15), greekLetters.length - 1);
|
880 |
+
const titleIndex = Math.min(Math.floor(roundedScore / 15), levelTitles.length - 1);
|
881 |
+
|
882 |
+
document.getElementById('greek-letter').textContent = greekLetters[levelIndex];
|
883 |
+
document.getElementById('level-title').textContent = levelTitles[titleIndex];
|
884 |
+
|
885 |
// Sub-scores
|
886 |
document.getElementById('content-score').textContent = Math.round(scores.content);
|
887 |
document.getElementById('content-score-bar').style.width = `${scores.content}%`;
|
|
|
905 |
if (professionalTier) {
|
906 |
professionalTier.click();
|
907 |
}
|
908 |
+
|
909 |
+
// Auto-select professional boost by default
|
910 |
+
const professionalBoost = document.querySelector('.boost-card[data-boost="professional"]');
|
911 |
+
if (professionalBoost) {
|
912 |
+
professionalBoost.click();
|
913 |
+
}
|
914 |
});
|
915 |
</script>
|
916 |
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=privateuserh/dynrep1-0" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
|