Skip to content

Commit f5e1dbf

Browse files
committed
Add TasksPage and enhance tokenomics documentation
TasksPage Features: - Complete task management system with developer registration - Real task examples with difficulty, category, and reward information - Contact form modal for developer interest registration - Filter system by status, difficulty, and category - Mobile-responsive design with proper styling - Integration with GitHub issues concept Menu Integration: - Added Tasks link to Developers menu in taskbar - Added to mobile navigation menu - Route configured in App.tsx Enhanced Tokenomics Documentation: - Expanded token utility and use cases section - Added comprehensive economic model with revenue streams - Detailed vesting and distribution information - Token burn mechanism explanation - Getting started guide with links to tasks - Improved styling with dedicated CSS classes - Better visual organization and readability The /tasks page is now ready for developers to browse opportunities and register interest in contributing to the project.
1 parent cba55ef commit f5e1dbf

File tree

6 files changed

+1287
-4
lines changed

6 files changed

+1287
-4
lines changed

frontend/src/App.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import ExchangePage from './pages/ExchangePage';
1616
import ThreeDPage from './pages/ThreeDPage';
1717
import TokenPage from './pages/TokenPage';
1818
import ContributionsPage from './pages/ContributionsPage';
19+
import TasksPage from './pages/TasksPage';
1920
import ClaudeChat from './components/ClaudeChat';
2021
import SpreadsheetTaskbar from './components/SpreadsheetTaskbar';
2122
import SpreadsheetExchangeView from './components/SpreadsheetExchangeView';
@@ -199,6 +200,7 @@ function App() {
199200
<Route path="/3d" element={<ThreeDPage />} />
200201
<Route path="/token" element={<TokenPage />} />
201202
<Route path="/contributions" element={<ContributionsPage />} />
203+
<Route path="/tasks" element={<TasksPage />} />
202204
<Route path="/auth/handcash/callback" element={<HandCashCallback />} />
203205
<Route path="/*" element={
204206
isLoading ? (

frontend/src/components/SpreadsheetTaskbar.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,7 @@ const SpreadsheetTaskbar: React.FC<TaskbarProps> = ({
250250
{ label: 'BSV SDK Docs', href: 'https://docs.bsvblockchain.org' },
251251
{ label: 'HandCash SDK Docs', href: 'https://docs.handcash.io' },
252252
{ label: '$BSHEETS Token', href: '/token' },
253+
{ label: 'Tasks', href: '/tasks' },
253254
{ label: 'Contributions', href: '/contributions' },
254255
{ divider: true },
255256
{ label: 'GitHub Repository', href: 'https://github.com/bitcoin-apps-suite/bitcoin-spreadsheet' },
@@ -501,6 +502,7 @@ const SpreadsheetTaskbar: React.FC<TaskbarProps> = ({
501502
<div style={{ display: 'flex', flexDirection: 'column', gap: '8px' }}>
502503
<button onClick={() => { navigate('/docs'); setActiveMenu(null); }} style={{ padding: '10px', background: 'rgba(255, 255, 255, 0.05)', border: 'none', borderRadius: '8px', color: '#fff', textAlign: 'left' }}>Documentation</button>
503504
<button onClick={() => { navigate('/token'); setActiveMenu(null); }} style={{ padding: '10px', background: 'rgba(255, 255, 255, 0.05)', border: 'none', borderRadius: '8px', color: '#fff', textAlign: 'left' }}>$BSHEETS Token</button>
505+
<button onClick={() => { navigate('/tasks'); setActiveMenu(null); }} style={{ padding: '10px', background: 'rgba(255, 255, 255, 0.05)', border: 'none', borderRadius: '8px', color: '#fff', textAlign: 'left' }}>Tasks</button>
504506
<button onClick={() => { navigate('/contributions'); setActiveMenu(null); }} style={{ padding: '10px', background: 'rgba(255, 255, 255, 0.05)', border: 'none', borderRadius: '8px', color: '#fff', textAlign: 'left' }}>Contributions</button>
505507
{isAuthenticated ? (
506508
<button onClick={() => { onLogout(); setActiveMenu(null); }} style={{ padding: '10px', background: 'rgba(255, 0, 0, 0.1)', border: 'none', borderRadius: '8px', color: '#ff6666', textAlign: 'left' }}>Sign Out</button>

frontend/src/pages/DocsPage.css

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,78 @@
386386
font-size: 14px;
387387
}
388388

389+
/* Enhanced Tokenomics Styles */
390+
.vesting-info {
391+
background: rgba(135, 206, 235, 0.05);
392+
border: 1px solid rgba(135, 206, 235, 0.2);
393+
border-radius: 12px;
394+
padding: 20px;
395+
margin: 16px 0;
396+
}
397+
398+
.vesting-info p {
399+
margin: 8px 0;
400+
color: rgba(255, 255, 255, 0.9);
401+
}
402+
403+
.economic-model {
404+
display: grid;
405+
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
406+
gap: 24px;
407+
margin: 24px 0;
408+
}
409+
410+
.model-section {
411+
background: rgba(15, 19, 41, 0.3);
412+
border: 1px solid rgba(135, 206, 235, 0.1);
413+
border-radius: 12px;
414+
padding: 20px;
415+
}
416+
417+
.model-section h5 {
418+
color: #87CEEB;
419+
font-size: 16px;
420+
margin: 0 0 12px 0;
421+
font-weight: 500;
422+
}
423+
424+
.model-section ul {
425+
margin: 0;
426+
padding-left: 20px;
427+
}
428+
429+
.model-section li {
430+
margin-bottom: 8px;
431+
color: rgba(255, 255, 255, 0.8);
432+
line-height: 1.5;
433+
}
434+
435+
.getting-started-tokens {
436+
background: rgba(76, 175, 80, 0.05);
437+
border: 1px solid rgba(76, 175, 80, 0.2);
438+
border-radius: 12px;
439+
padding: 20px;
440+
margin: 24px 0;
441+
}
442+
443+
.getting-started-tokens p {
444+
margin: 12px 0;
445+
color: rgba(255, 255, 255, 0.9);
446+
line-height: 1.6;
447+
}
448+
449+
.inline-link {
450+
color: #87CEEB;
451+
text-decoration: none;
452+
font-weight: 500;
453+
transition: color 0.2s ease;
454+
}
455+
456+
.inline-link:hover {
457+
color: #4682B4;
458+
text-decoration: underline;
459+
}
460+
389461
/* Mobile Responsiveness */
390462
@media (max-width: 768px) {
391463
.docs-container {

frontend/src/pages/DocsPage.tsx

Lines changed: 51 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,58 @@ const DocsPage: React.FC = () => {
9292

9393
<h4>Token Allocation Guidelines:</h4>
9494
<ul>
95-
<li><strong>Major Features (0.5-1%)</strong>: New core functionality, blockchain integration</li>
96-
<li><strong>Medium Features (0.2-0.5%)</strong>: UI improvements, formula functions, optimizations</li>
97-
<li><strong>Minor Features (0.05-0.2%)</strong>: Bug fixes, documentation, small enhancements</li>
98-
<li><strong>Critical Fixes (0.1-0.3%)</strong>: Security fixes, performance improvements</li>
95+
<li><strong>Major Features (0.5-1%)</strong>: New core functionality, blockchain integration, real-time collaboration</li>
96+
<li><strong>Medium Features (0.2-0.5%)</strong>: UI improvements, formula functions, mobile optimization, testing suites</li>
97+
<li><strong>Minor Features (0.05-0.2%)</strong>: Bug fixes, documentation, small enhancements, accessibility improvements</li>
98+
<li><strong>Critical Fixes (0.1-0.3%)</strong>: Security fixes, performance improvements, data integrity patches</li>
9999
</ul>
100+
101+
<h4>Token Utility & Use Cases:</h4>
102+
<ul>
103+
<li><strong>Governance Rights</strong>: Vote on protocol changes and feature prioritization</li>
104+
<li><strong>Premium Features</strong>: Access advanced spreadsheet functions and templates</li>
105+
<li><strong>Revenue Sharing</strong>: Earn dividends from platform revenue based on token holdings</li>
106+
<li><strong>Marketplace Currency</strong>: Buy/sell spreadsheet templates and formulas in our marketplace</li>
107+
<li><strong>Staking Rewards</strong>: Stake tokens to validate spreadsheet data and earn rewards</li>
108+
<li><strong>API Credits</strong>: Pay for API usage and blockchain storage costs</li>
109+
</ul>
110+
111+
<h4>Vesting & Distribution:</h4>
112+
<div className="vesting-info">
113+
<p><strong>Developer Tokens:</strong> 100% unlocked upon PR merge - no vesting period</p>
114+
<p><strong>Company Reserve:</strong> 4-year linear vesting with 1-year cliff</p>
115+
<p><strong>Initial Distribution:</strong> Tokens distributed via Bitcoin SV smart contracts</p>
116+
<p><strong>Future Issuance:</strong> Capped at 1B total supply - no additional minting</p>
117+
</div>
118+
119+
<h4>Economic Model:</h4>
120+
<div className="economic-model">
121+
<div className="model-section">
122+
<h5>Revenue Streams:</h5>
123+
<ul>
124+
<li>Premium subscription plans (10% of revenue to token holders)</li>
125+
<li>Enterprise licenses and custom deployments</li>
126+
<li>Marketplace transaction fees (2.5% per transaction)</li>
127+
<li>API usage fees and blockchain storage costs</li>
128+
<li>NFT spreadsheet royalties (5% per trade)</li>
129+
</ul>
130+
</div>
131+
132+
<div className="model-section">
133+
<h5>Token Burn Mechanism:</h5>
134+
<ul>
135+
<li>25% of platform revenue used for quarterly token burns</li>
136+
<li>Deflationary pressure to increase token value over time</li>
137+
<li>Transparent burn tracking on Bitcoin SV blockchain</li>
138+
</ul>
139+
</div>
140+
</div>
141+
142+
<h4>Getting Started:</h4>
143+
<div className="getting-started-tokens">
144+
<p>Ready to earn $BSHEETS tokens? Check out our <a href="/tasks" className="inline-link">Tasks page</a> to find development opportunities, or browse our <a href="https://github.com/bitcoin-apps-suite/bitcoin-spreadsheet/issues" target="_blank" rel="noopener noreferrer" className="inline-link">GitHub issues</a> for specific tasks with token rewards listed.</p>
145+
<p>All token distributions are subject to code review and community approval. Quality contributions that advance the platform will be rewarded generously.</p>
146+
</div>
100147
</div>
101148
</section>
102149

0 commit comments

Comments
 (0)