diff --git a/app/projects/credit/page.tsx b/app/projects/credit/page.tsx deleted file mode 100644 index 07823bba..00000000 --- a/app/projects/credit/page.tsx +++ /dev/null @@ -1,110 +0,0 @@ -'use client'; - -import React from 'react'; -import { NextSection } from '@/components/navigation/NextSection'; - -export default function Credit() { - return ( -
-

Credit Workflow Automation

- -
-

- Streamline your credit operations with our AI-powered workflow automation solution. - Monitor portfolio companies, analyze financial data, and make informed decisions faster. -

-
- -
-

Key Features

-
-
-

Automated Reporting

-

- Automatically ingest and process regular reports from portfolio companies, saving time - and reducing errors. -

-
-
-

Debt Monitoring

-

- Track and analyze debt metrics in real-time with automated alerts for key thresholds. -

-
-
-

Financial Analysis

-

- Comprehensive analysis of financials, KPIs, and qualitative factors including investor - information. -

-
-
-
- -
-

How It Works

-
-
-
-
- 1 -
-
-
-

Data Integration

-

- Connect your portfolio companies' reporting systems for automated data ingestion. -

-
-
-
-
-
- 2 -
-
-
-

AI Analysis

-

- Our AI processes financial data, identifies trends, and generates insights - automatically. -

-
-
-
-
-
- 3 -
-
-
-

Monitoring Dashboard

-

- Access real-time insights and alerts through an intuitive dashboard interface. -

-
-
-
-
- -
-

Ready to Transform Your Workflow?

-

- Let us help you automate your credit operations and make better decisions faster. -

- - Contact Us - -
- - -
- ); -} diff --git a/app/projects/finance/page.tsx b/app/projects/finance/page.tsx deleted file mode 100644 index 171cf043..00000000 --- a/app/projects/finance/page.tsx +++ /dev/null @@ -1,111 +0,0 @@ -'use client'; - -import React from 'react'; -import { NextSection } from '@/components/navigation/NextSection'; - -export default function ProjectFinance() { - return ( -
-
-
-

- Project Finance -

-

- A revolutionary platform for transparent project finance and management. Start projects, - manage funding, and track progress with complete public visibility. Every transaction, - decision, and milestone is open to the public, fostering trust and accountability. -

-
- -
-
-

Easy Project Creation

-

- Start any project with a few clicks. Define goals, milestones, and funding needs with - our intuitive interface. -

-
- -
-

Multiple Funding Sources

-

- Accept donations, credit, or investments. Track all contributions transparently and - provide real-time updates to stakeholders. -

-
- -
-

Public Financial Dashboard

-

- Real-time visibility into project finances, tasks, and progress. Monitor every - transaction and milestone in real-time. -

-
- -
-

Task Management

-

- Break down projects into tasks, assign costs, and track completion. Every task's - budget and progress is visible to all stakeholders. -

-
- -
-

Public Audit Trail

-

- Complete transparency with every transaction logged and visible. Built-in tools for - financial stewardship and accountability. -

-
- -
-

Insights and Analytics

-

- Data-driven insights into project performance, spending patterns, and milestone - achievement rates. -

-
-
- -
-

How It Works

-
-
-

1. Project Setup

-

- Create your project with a clear description, goals, and funding requirements. Break - down the project into tasks, each with its own budget and timeline. All this - information is immediately public and searchable. -

-
- -
-

2. Funding Collection

-

- Accept multiple types of funding: donations, investments, or credit. Each - contribution is tracked and displayed in real-time. Donors and investors can see - exactly how their money is being used. -

-
- -
-

3. Transparent Execution

-

- As the project progresses, every transaction and task update is automatically - recorded and displayed. Stakeholders can track progress, view financial statements, - and monitor milestone completion in real-time. -

-
-
-
- - -
-
- ); -} diff --git a/app/projects/governance/README.md b/app/projects/governance/README.md deleted file mode 100644 index a4507a46..00000000 --- a/app/projects/governance/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# Solon Governance Project - -This is a Next.js implementation of the Solon decentralized direct democracy platform, showcasing the key features and vision of this governance system. - -## Features - -- **Open Pay**: Public timeline of all government transactions with social interaction features -- **Open Law**: Laws with problem statements, KPIs, timeframes, and political accountability tracking -- **Open Service**: Competitive bidding system for government functions -- **Open Vote**: Citizen voting on laws, budgets, and policies -- **Portal**: Central hub for citizen interaction with all Solon products - -## Implementation Details - -### Products - -- `page.tsx`: Main landing page component -- `layout.tsx`: Layout component with metadata -- Helper components: - - `VisionCard`: Displays core vision pillars - - `RoadmapItem`: Shows implementation timeline phases - -### Folder Structure - -- `/open-pay`: Open payment and transaction tracking system -- `/open-law`: Open law creation and tracking framework -- `/open-service`: Public service marketplace -- `/open-vote`: Direct democracy voting system -- `/portal`: Unified citizen portal with modular architecture - - `/components`: Portal-specific component modules - - `MetricsGrid.tsx`: Dashboard metrics display - - `ComponentCards.tsx`: Navigation cards for Solon modules - - `ActivityFeed.tsx`: Recent user activity tracking - - `TaxFlow.tsx`: Tax allocation visualization - - `ActionCenter.tsx`: Pending user actions - - `TabsContainer.tsx`: Tab system with filter capability - - `ComponentPreview.tsx`: Preview cards for Solon modules -- `/components`: Shared components used across the application -- `/whitepaper`: Documentation and vision -- `/build`: Developer resources and contribution guidelines - -### Technical Stack - -- Next.js 14.2 -- React -- TypeScript -- TailwindCSS - -## Future Development - -This is a frontend prototype. Future development will include: - -- Backend API integration -- Authentication system -- Interactive transaction and voting systems -- Mobile responsiveness enhancements - -## TypeScript Interfaces - -```typescript -interface VisionCardProps { - title: string; - description: string; - icon: React.ReactNode; -} - -interface RoadmapItemProps { - phase: string; - title: string; - description: string; - timeline: string; - current?: boolean; -} -``` diff --git a/app/projects/governance/agencies/[id]/page.tsx b/app/projects/governance/agencies/[id]/page.tsx deleted file mode 100644 index 327ecb83..00000000 --- a/app/projects/governance/agencies/[id]/page.tsx +++ /dev/null @@ -1,68 +0,0 @@ -'use client'; - -import React from 'react'; -import { useRouter } from 'next/navigation'; -import Link from 'next/link'; -import AgencyProfile from '../../components/AgencyProfile'; -import { sampleAgencies } from '../../data/sampleData'; - -export default function AgencyDetailPage({ params }: { params: Promise<{ id: string }> }) { - const _router = useRouter(); - const { id: agencyId } = React.use(params); - - const agency = sampleAgencies.find((a) => a.id === agencyId); - - if (!agency) { - return ( -
-
-

Agency Not Found

-

- The agency you are looking for does not exist or has been moved. -

-
- - View All Agencies - -
-
-
- ); - } - - return ( -
-
- - - -
-
- ); -} diff --git a/app/projects/governance/agencies/page.tsx b/app/projects/governance/agencies/page.tsx deleted file mode 100644 index c61e91e0..00000000 --- a/app/projects/governance/agencies/page.tsx +++ /dev/null @@ -1,221 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; -import { sampleAgencies } from '../data/sampleData'; -import { formatCurrency, formatNumber } from '@/lib/format'; - -const AgenciesPage = () => { - return ( -
-
-
-

Government Agencies

-

- Explore all government agencies, their performance metrics, and transparency scores. -

-
- -
-
-

Agency Transparency Index

-

- Complete, accessible profiles of all government agencies and their operations. -

-
-
-
- {sampleAgencies.map((agency) => ( - -
-

{agency.name}

- = 90 - ? 'bg-green-100 text-green-800' - : agency.transparencyScore >= 70 - ? 'bg-blue-100 text-blue-800' - : agency.transparencyScore >= 50 - ? 'bg-yellow-100 text-yellow-800' - : 'bg-red-100 text-red-800' - }`} - > - T-Score: {agency.transparencyScore} - -
-

{agency.description}

-
-
- Budget: - - {formatCurrency(agency.budget.total, { compact: true })} - -
-
- Spent: - - {formatCurrency(agency.budget.spent, { compact: true })} - -
-
-
-
-
-
-
- Est. {agency.establishment.split(' ')[0]} -
-
- View Details → -
-
- - ))} -
-
-
- -
-
-

Comparative Analysis

-

- How agencies compare across key metrics and performance indicators. -

-
-
-
- - - - - - - - - - - - - {sampleAgencies - .sort((a, b) => b.transparencyScore - a.transparencyScore) - .map((agency) => ( - - - - - - - - - ))} - -
- Agency - - Transparency - - Budget Efficiency - - Citizens Served - - Response Time - - Satisfaction -
- - {agency.name} - - -
= 90 - ? 'bg-green-100 text-green-800' - : agency.transparencyScore >= 70 - ? 'bg-blue-100 text-blue-800' - : agency.transparencyScore >= 50 - ? 'bg-yellow-100 text-yellow-800' - : 'bg-red-100 text-red-800' - }`} - > - {agency.transparencyScore}/100 -
-
-
- {Math.round((agency.budget.spent / agency.budget.allocated) * 100)}% -
-
-
- {formatNumber(agency.citizenImpact.citizensServed)} -
-
-
- {agency.citizenImpact.avgResponseTime} -
-
-
= 90 - ? 'text-green-600' - : agency.citizenImpact.satisfactionScore >= 70 - ? 'text-blue-600' - : agency.citizenImpact.satisfactionScore >= 50 - ? 'text-yellow-600' - : 'text-red-600' - }`} - > - - - - {agency.citizenImpact.satisfactionScore}% -
-
-
-
-
-
-
- ); -}; - -export default AgenciesPage; diff --git a/app/projects/governance/citizen/page.tsx b/app/projects/governance/citizen/page.tsx deleted file mode 100644 index 6a90d784..00000000 --- a/app/projects/governance/citizen/page.tsx +++ /dev/null @@ -1,41 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; -import CitizenProfile from '../components/CitizenProfile'; -import { sampleCitizen, sampleAgencies } from '../data/sampleData'; - -export default function CitizenProfilePage() { - return ( -
-
- - - -
-
- ); -} diff --git a/app/projects/governance/components/AgencyProfile.tsx b/app/projects/governance/components/AgencyProfile.tsx deleted file mode 100644 index ef654c38..00000000 --- a/app/projects/governance/components/AgencyProfile.tsx +++ /dev/null @@ -1,477 +0,0 @@ -'use client'; - -import React, { useState } from 'react'; -import Link from 'next/link'; -import { EnhancedTransaction } from './TransactionWithTraceability'; -import { formatCurrency } from '@/lib/format'; - -export interface AgencyTeamMember { - id: string; - name: string; - position: string; - department: string; - imageUrl?: string; - bio: string; - yearsOfService: number; - salary: number; - transparency: number; // 0-100 score - responsibilities: string[]; - contact: { - email?: string; - phone?: string; - office?: string; - }; -} - -export interface AgencyRegulation { - id: string; - title: string; - description: string; - dateEnacted: string; - lastUpdated: string; - status: 'active' | 'proposed' | 'revoked'; - purpose: string; - kpis: Array<{ - metric: string; - target: string; - current: string; - status: 'achieved' | 'on-track' | 'at-risk' | 'failed'; - }>; - enablingLawId: string; - enablingLawName: string; -} - -export interface AgencyData { - id: string; - name: string; - description: string; - transparencyScore: number; - establishment: string; - budget: { - total: number; - allocated: number; - spent: number; - fiscalYear: string; - }; - metrics: Array<{ - name: string; - value: string; - change: string; - trend: 'up' | 'down' | 'neutral'; - }>; - transactions: EnhancedTransaction[]; - regulations: AgencyRegulation[]; - team: AgencyTeamMember[]; - citizenImpact: { - servicesProvided: number; - citizensServed: number; - satisfactionScore: number; - avgResponseTime: string; - }; -} - -interface AgencyProfileProps { - agency: AgencyData; -} - -const AgencyProfile: React.FC = ({ agency }) => { - const [activeTab, setActiveTab] = useState('overview'); - - return ( -
- {/* Agency Header */} -
-
-
-
-

- {agency.name} -

-
-
- Established: {agency.establishment} -
-
- Budget: {formatCurrency(agency.budget.total)}/yr -
-
-
= 80 - ? 'bg-green-100 text-green-800' - : agency.transparencyScore >= 60 - ? 'bg-yellow-100 text-yellow-800' - : 'bg-red-100 text-red-800' - }`} - > - Transparency Score: {agency.transparencyScore}/100 -
-
-
-
-
- - - - - - -
-
-
-
- - {/* Tab Navigation */} -
-
- -
-
- - {/* Agency Content */} -
- {/* Overview Tab */} - {activeTab === 'overview' && ( -
-
-
-

Agency Overview

-

{agency.description}

-
-
-
-
-
Budget Allocation
-
-
-
- Allocated: {formatCurrency(agency.budget.allocated)} - Spent: {formatCurrency(agency.budget.spent)} -
-
-
-
-
-

- Fiscal Year: {agency.budget.fiscalYear} -

-
-
-
-
Services Impact
-
-
-
- - {agency.citizenImpact.servicesProvided.toLocaleString()} - - Services Provided -
-
- - {agency.citizenImpact.citizensServed.toLocaleString()} - - Citizens Served -
-
- - {agency.citizenImpact.satisfactionScore}% - - Satisfaction Score -
-
- - {agency.citizenImpact.avgResponseTime} - - Average Response Time -
-
-
-
-
-
-
- - {/* Agency Metrics */} -
- {agency.metrics.map((metric, index) => ( -
-
-
{metric.name}
-
{metric.value}
-
- {metric.change} -
-
-
- ))} -
-
- )} - - {/* Transactions Tab */} - {activeTab === 'transactions' && ( -
-
-
    - {agency.transactions.map((transaction) => ( -
  • - -
    -
    -
    -

    - {transaction.description} -

    -
    -

    - {transaction.status} -

    -
    -
    -
    - {formatCurrency(transaction.amount)} -
    -
    -
    -
    -

    - To: {transaction.recipient} -

    -
    -
    -

    {transaction.date}

    -
    -
    -
    - -
  • - ))} -
-
-
- )} - - {/* Regulations Tab */} - {activeTab === 'regulations' && ( -
-
-
    - {agency.regulations.map((regulation) => ( -
  • -
    -
    -

    - {regulation.title} -

    -
    -

    - {regulation.status.charAt(0).toUpperCase() + regulation.status.slice(1)} -

    -
    -
    -

    - {regulation.description} -

    - -
    -
    -

    - Enacted: {regulation.dateEnacted} | Last Updated:{' '} - {regulation.lastUpdated} -

    -

    - Enabling Law:{' '} - - {regulation.enablingLawName} - -

    -
    -
    - - {/* KPIs */} -
    -

    Performance Metrics:

    -
    - {regulation.kpis.map((kpi, idx) => ( -
    -
    -
    -
    -

    {kpi.metric}

    -

    - {kpi.current} / {kpi.target} -

    -
    -
    -
    - ))} -
    -
    -
    -
  • - ))} -
-
-
- )} - - {/* Team Tab */} - {activeTab === 'team' && ( -
-
    - {agency.team.map((member) => ( -
  • -
    -
    - {member.imageUrl ? ( - /* eslint-disable-next-line @next/next/no-img-element -- Dynamic external image URL from data */ - {member.name} - ) : ( -
    - {member.name.charAt(0)} -
    - )} -
    -

    {member.name}

    -
    -
    Position
    -
    {member.position}
    -
    Department
    -
    {member.department}
    -
    - = 80 - ? 'bg-green-100 text-green-800' - : member.transparency >= 60 - ? 'bg-yellow-100 text-yellow-800' - : 'bg-red-100 text-red-800' - }`} - > - T-Score: {member.transparency}/100 - -
    -
    -
    -
    -
    -
    - - View Profile - -
    -
    - {member.contact.email && ( - - Contact - - )} -
    -
    -
    -
  • - ))} -
-
- )} -
-
- ); -}; - -export default AgencyProfile; diff --git a/app/projects/governance/components/ApplicationsSection.tsx b/app/projects/governance/components/ApplicationsSection.tsx deleted file mode 100644 index 4cf19858..00000000 --- a/app/projects/governance/components/ApplicationsSection.tsx +++ /dev/null @@ -1,445 +0,0 @@ -'use client'; - -import React from 'react'; - -/** - * Applications section component for Solon Governance platform - * Showing how the platform can be applied at different levels of government - */ -const ApplicationsSection: React.FC = () => { - return ( -
-
-
-

Application Areas

-

- Solon's versatile platform adapts to governance needs across various levels of - government and specialized jurisdictions. -

-
- -
- {/* Municipal Government */} -
-
-
- - - -
-

Municipal Governance

-
-

- Local governments can implement direct democracy for enhancing community engagement - and transparency. -

-
    -
  • - - - - Local budget allocation through citizen voting -
  • -
  • - - - - Infrastructure project prioritization -
  • -
  • - - - - Community service evaluation and improvement -
  • -
  • - - - - Local ordinance creation and review -
  • -
-
-
- - - - 23 municipalities currently implementing Solon -
-
-
- - {/* State/Provincial Level */} -
-
-
- - - -
-

State/Provincial Level

-
-

- State governments can leverage the platform for broader policy implementation and - regional coordination. -

-
    -
  • - - - - State budget transparency and allocation -
  • -
  • - - - - Legislative review and creation by citizens -
  • -
  • - - - - Public service efficiency tracking -
  • -
  • - - - - Resource allocation optimization -
  • -
-
-
- - - - 7 states/provinces in pilot program -
-
-
- - {/* Federal Transparency */} -
-
-
- - - -
-

Federal Transparency

-
-

- National governments can provide unprecedented transparency through integrated - oversight systems. -

-
    -
  • - - - - National budget transparency and oversight -
  • -
  • - - - - Law creation with direct citizen input -
  • -
  • - - - - Program effectiveness measurement -
  • -
  • - - - - Corruption prevention through public oversight -
  • -
-
-
- - - - 3 countries exploring implementation -
-
-
- - {/* Special Districts */} -
-
-
- - - -
-

Special Districts

-
-

- Special jurisdictions can optimize service delivery through targeted governance - modules. -

-
    -
  • - - - - School district resource allocation -
  • -
  • - - - - Utility board management and oversight -
  • -
  • - - - - Transportation planning and execution -
  • -
  • - - - - Special-purpose governance entities -
  • -
-
-
- - - - 42 special districts using customized solutions -
-
-
-
- -
-
-
-

Custom Implementation

-

- Every governmental entity has unique needs. Our team works with you to implement a - custom Solon solution designed for your specific governance context, legal - requirements, and community needs. -

-
-
- -
-
-
-
-
- ); -}; - -export default ApplicationsSection; diff --git a/app/projects/governance/components/CTASection.tsx b/app/projects/governance/components/CTASection.tsx deleted file mode 100644 index ea174be4..00000000 --- a/app/projects/governance/components/CTASection.tsx +++ /dev/null @@ -1,123 +0,0 @@ -'use client'; - -import React from 'react'; - -/** - * Call-to-Action section component for Solon Governance platform - * Encouraging users to request a demo or learn more - */ -const CTASection: React.FC = () => { - return ( -
-
-
-

- Ready to Transform Governance? -

-

- Join the future of decentralized direct democracy. Contact us to learn more about - implementing Solon in your jurisdiction. -

- -
-
-

Request a Demo

-

- See Solon in action with a live demonstration tailored to your governance needs. -

- -
- -
-

Consultation

-

- Speak with our governance experts about implementing Solon in your community. -

- -
-
- -
-
-
-

Join Our Newsletter

-

- Stay updated on Solon's latest developments, case studies, and governance - innovations. -

-
-
-
- - -
-
-
-
-
- -
-
-
- - - -
-

Contact Us

-

info@solondemocracy.org

-

+1 (555) 123-4567

-
- -
-
- - - -
-

Community

-

Join our Discord community

-

Follow us on Twitter @SolonDemocracy

-
- -
-
- - - -
-

Resources

-

Download our whitepaper

-

View case studies

-
-
-
-
- ); -}; - -export default CTASection; diff --git a/app/projects/governance/components/CitizenProfile.tsx b/app/projects/governance/components/CitizenProfile.tsx deleted file mode 100644 index e010bcbc..00000000 --- a/app/projects/governance/components/CitizenProfile.tsx +++ /dev/null @@ -1,115 +0,0 @@ -'use client'; - -import { useState, useEffect } from 'react'; -import { - type CitizenData, - type AdvisoryDistribution, - type CitizenProfileTab, -} from '@/types/governance'; -import { type AgencyData } from './AgencyProfile'; -import { - CitizenProfileHeader, - CitizenProfileTabs, - CitizenOverviewTab, - CitizenTaxTab, - CitizenBenefitsTab, - CitizenAdvisoryTab, -} from './citizen'; - -// Re-export types for backward compatibility -export type { - TaxPayment, - CitizenContribution, - CitizenBenefit, - CitizenData, - AdvisoryDistribution, -} from '@/types/governance'; - -interface CitizenProfileProps { - citizen: CitizenData; - agencies: AgencyData[]; -} - -const CitizenProfile: React.FC = ({ citizen, agencies: _agencies }) => { - const [activeTab, setActiveTab] = useState('overview'); - const [advisoryDistribution, setAdvisoryDistribution] = useState([]); - const [sliderTotal, setSliderTotal] = useState(100); - const [hasChanges, setHasChanges] = useState(false); - - // Initialize advisory distribution from citizen contributions - useEffect(() => { - if (citizen.contributions.length > 0) { - const initialDistribution = citizen.contributions.map((contribution) => ({ - agencyId: contribution.agencyId, - agencyName: contribution.agencyName, - currentPercentage: contribution.percentage, - advisoryPercentage: contribution.percentage, - difference: 0, - })); - // eslint-disable-next-line react-hooks/set-state-in-effect -- seeds editable advisory distribution from the citizen prop - setAdvisoryDistribution(initialDistribution); - } - }, [citizen.contributions]); - - const handleDistributionChange = (agencyId: string, value: number) => { - const updatedDistribution = advisoryDistribution.map((item) => { - if (item.agencyId === agencyId) { - return { - ...item, - advisoryPercentage: value, - difference: value - item.currentPercentage, - }; - } - return item; - }); - - const newTotal = updatedDistribution.reduce((sum, item) => sum + item.advisoryPercentage, 0); - setSliderTotal(newTotal); - setAdvisoryDistribution(updatedDistribution); - setHasChanges(true); - }; - - const resetAdvisoryDistribution = () => { - const resetDistribution = advisoryDistribution.map((item) => ({ - ...item, - advisoryPercentage: item.currentPercentage, - difference: 0, - })); - setAdvisoryDistribution(resetDistribution); - setSliderTotal(100); - setHasChanges(false); - }; - - const submitAdvisoryDistribution = () => { - alert('Tax distribution preferences submitted! (This is an advisory recommendation only)'); - setHasChanges(false); - }; - - return ( -
- - - -
- {activeTab === 'overview' && } - - {activeTab === 'tax' && } - - {activeTab === 'benefits' && } - - {activeTab === 'advisory' && ( - - )} -
-
- ); -}; - -export default CitizenProfile; diff --git a/app/projects/governance/components/CoreComponentsSection.tsx b/app/projects/governance/components/CoreComponentsSection.tsx deleted file mode 100644 index 7faee1fb..00000000 --- a/app/projects/governance/components/CoreComponentsSection.tsx +++ /dev/null @@ -1,308 +0,0 @@ -'use client'; - -import React, { useState } from 'react'; -import Link from 'next/link'; - -/** - * Core Components section component for Solon Governance platform - * Showcasing the four main technical components of the platform - */ -const CoreComponentsSection: React.FC = () => { - const [activeTab, setActiveTab] = useState('transparency'); - - const components = [ - { - id: 'transparency', - name: 'Transparent Transaction System', - icon: ( - - - - ), - description: - 'Track and verify every government transaction with complete transparency. Our blockchain-based system ensures all financial activities are immutable, traceable, and publicly accessible.', - features: [ - 'Real-time transaction visibility', - 'Tamper-proof audit trail', - 'Automated verification', - 'Role-based access control', - 'Public dashboards and reports', - ], - stats: [ - { label: 'Corruption Reduction', value: '68%' }, - { label: 'Cost Savings', value: '$4.2M' }, - { label: 'Trust Increase', value: '+47%' }, - ], - link: '/projects/governance/transparency' as const, - }, - { - id: 'law', - name: 'Law Transparency Framework', - icon: ( - - - - ), - description: - 'Measure and track the effectiveness of legislation with our innovative framework. Every law is tied to specific, measurable outcomes that can be monitored in real-time.', - features: [ - 'Outcome-based legislation', - 'Real-time effectiveness tracking', - 'Automated compliance monitoring', - 'Impact assessment tools', - 'Performance dashboards', - ], - stats: [ - { label: 'Policy Effectiveness', value: '82%' }, - { label: 'Compliance Rate', value: '94%' }, - { label: 'Cost Reduction', value: '$2.8M' }, - ], - link: '/projects/governance/open-law' as const, - }, - { - id: 'marketplace', - name: 'Open Service Marketplace', - icon: ( - - - - ), - description: - 'A decentralized marketplace for government services. Connect citizens with service providers through smart contracts and automated verification.', - features: [ - 'Smart contract automation', - 'Service provider ratings', - 'Automated payments', - 'Quality assurance', - 'Performance tracking', - ], - stats: [ - { label: 'Service Delivery', value: '95%' }, - { label: 'Cost Efficiency', value: '45%' }, - { label: 'User Satisfaction', value: '92%' }, - ], - link: '/projects/governance/open-service' as const, - }, - { - id: 'voting', - name: 'Open Vote System', - icon: ( - - - - ), - description: - 'Secure, verifiable, and accessible voting system for all government decisions. Built on blockchain technology for maximum transparency and trust.', - features: [ - 'Secure voting protocol', - 'Real-time results', - 'Vote verification', - 'Accessibility features', - 'Audit trail', - ], - stats: [ - { label: 'Voter Turnout', value: '78%' }, - { label: 'System Uptime', value: '99.9%' }, - { label: 'Trust Score', value: '95%' }, - ], - link: '/projects/governance/open-vote' as const, - }, - ]; - - const activeComponent = components.find((component) => component.id === activeTab); - - return ( -
-
-
-

- Core Technical Components -

-

- Solon's platform combines four revolutionary technologies to enable transparent, - efficient, and citizen-centric governance. -

-
- - {/* Tabs */} -
- -
- - {/* Component Details */} - {activeComponent && ( -
- {/* Left Column: Info */} -
-
- {activeComponent.icon} -

{activeComponent.name}

-
- -

{activeComponent.description}

- -

Key Features

- -
    - {activeComponent.features.map((feature, index) => ( -
  • - - - - {feature} -
  • - ))} -
- - - Learn More - - - - -
- - {/* Right Column: Stats */} -
-

Impact Metrics

- -
- {activeComponent.stats.map((stat, index) => ( -
- {stat.label} - - {stat.value} - -
- ))} -
- -
-

Example Applications

- -
    - {activeComponent.id === 'transparency' && ( - <> -
  • • Municipal budget transparency dashboards
  • -
  • • Infrastructure project expense tracking
  • -
  • • Public procurement verification
  • - - )} - - {activeComponent.id === 'law' && ( - <> -
  • • Environmental protection effectiveness
  • -
  • • Education reform outcome measurement
  • -
  • • Economic development policy tracking
  • - - )} - - {activeComponent.id === 'marketplace' && ( - <> -
  • • Municipal waste management services
  • -
  • • Building permit and inspection processes
  • -
  • • Public transportation route operations
  • - - )} - - {activeComponent.id === 'voting' && ( - <> -
  • • Participatory budgeting decisions
  • -
  • • Infrastructure development priorities
  • -
  • • Local policy and regulation approval
  • - - )} -
-
-
-
- )} -
-
- ); -}; - -export default CoreComponentsSection; diff --git a/app/projects/governance/components/DashboardTransactionDemo.tsx b/app/projects/governance/components/DashboardTransactionDemo.tsx deleted file mode 100644 index 335b0972..00000000 --- a/app/projects/governance/components/DashboardTransactionDemo.tsx +++ /dev/null @@ -1,428 +0,0 @@ -'use client'; - -import React, { useState } from 'react'; - -interface TransactionComment { - id: string; - author: string; - text: string; - timestamp: string; -} - -interface Transaction { - id: string; - date: string; - amount: string; - agency: string; - recipient: string; - purpose: string; - details: string; - category?: string; // Add category for filtering - district?: string; // Add district for filtering - likes: number; - dislikes: number; - comments: TransactionComment[]; - shares: number; -} - -interface DashboardTransactionDemoProps { - filter?: string; -} - -/** - * Interactive transaction demo component specifically for the citizen dashboard - * that allows citizens to engage with government transactions and supports filtering - */ -const DashboardTransactionDemo: React.FC = ({ filter = 'all' }) => { - // Sample transaction data with categories - const [transactions, setTransactions] = useState([ - { - id: 'TX-2023-06-15-001', - date: 'June 15, 2023', - amount: '$249,800', - agency: 'Department of Transportation', - recipient: 'Urban Roads Inc.', - purpose: 'Highway Repair - Section 14A', - details: - 'Emergency repair of damaged highway section including asphalt replacement, line repainting, and drainage improvements.', - category: 'infrastructure', - district: 'downtown', - likes: 87, - dislikes: 21, - comments: [ - { - id: 'c1', - author: 'Jane Citizen', - text: 'This repair was desperately needed. The potholes were damaging vehicles.', - timestamp: '2 days ago', - }, - { - id: 'c2', - author: 'Mark Taxpayer', - text: 'I drive on this section daily and can confirm the work has been completed.', - timestamp: '1 day ago', - }, - ], - shares: 18, - }, - { - id: 'TX-2023-06-10-014', - date: 'June 10, 2023', - amount: '$56,750', - agency: 'Parks & Recreation', - recipient: 'Green Spaces Landscaping', - purpose: 'Community Park Maintenance', - details: - 'Quarterly maintenance of Central Community Park including lawn care, tree pruning, playground equipment inspection, and irrigation system maintenance.', - category: 'recreation', - district: 'north', - likes: 134, - dislikes: 8, - comments: [ - { - id: 'c3', - author: 'Parent Council', - text: 'The playground looks much better now. Thank you!', - timestamp: '3 days ago', - }, - ], - shares: 42, - }, - { - id: 'TX-2023-06-05-078', - date: 'June 5, 2023', - amount: '$1,250,000', - agency: 'Education Department', - recipient: 'LearnTech Solutions', - purpose: 'School District Technology Upgrade', - details: - 'Purchase of 500 laptops, 50 interactive whiteboards, and supporting infrastructure for the Western School District technology modernization initiative.', - category: 'education', - district: 'west', - likes: 201, - dislikes: 115, - comments: [ - { - id: 'c4', - author: 'Tech Teacher', - text: 'Our school received the new equipment last week. Game changer for our STEM program!', - timestamp: '5 days ago', - }, - { - id: 'c5', - author: 'Fiscal Watch', - text: 'Why are we spending so much on technology that will be outdated in 3 years?', - timestamp: '4 days ago', - }, - { - id: 'c6', - author: 'Education Board', - text: 'These devices come with a 5-year support contract and are critical for student success.', - timestamp: '3 days ago', - }, - ], - shares: 67, - }, - ]); - - // Filter transactions based on the filter prop - const filteredTransactions = - filter === 'all' - ? transactions - : transactions.filter( - (tx) => - tx.category?.toLowerCase() === filter.toLowerCase() || - tx.district?.toLowerCase() === filter.toLowerCase(), - ); - - // State for comment input - const [commentInputs, setCommentInputs] = useState<{ [key: string]: string }>({}); - const [showComments, setShowComments] = useState<{ [key: string]: boolean }>({}); - - // Handle user actions (like, dislike, share) - const handleAction = (id: string, action: 'like' | 'dislike' | 'share') => { - setTransactions((prev) => - prev.map((tx) => - tx.id === id - ? { - ...tx, - likes: action === 'like' ? tx.likes + 1 : tx.likes, - dislikes: action === 'dislike' ? tx.dislikes + 1 : tx.dislikes, - shares: action === 'share' ? tx.shares + 1 : tx.shares, - } - : tx, - ), - ); - }; - - // Handle comment submission - const handleCommentSubmit = (id: string) => { - if (!commentInputs[id] || commentInputs[id].trim() === '') return; - - const newComment: TransactionComment = { - id: `c${Math.random().toString(36).substr(2, 9)}`, - author: 'You', - text: commentInputs[id], - timestamp: 'Just now', - }; - - setTransactions((prev) => - prev.map((tx) => (tx.id === id ? { ...tx, comments: [...tx.comments, newComment] } : tx)), - ); - - // Reset input - setCommentInputs((prev) => ({ ...prev, [id]: '' })); - }; - - // Toggle comments visibility - const toggleComments = (id: string) => { - setShowComments((prev) => ({ - ...prev, - [id]: !prev[id], - })); - }; - - // Handle donation - const handleDonate = (id: string, target: 'agency' | 'recipient') => { - const transaction = transactions.find((tx) => tx.id === id); - if (!transaction) return; - - const entity = target === 'agency' ? transaction.agency : transaction.recipient; - alert( - `Thank you for supporting ${entity}! This would open a donation form in a real implementation.`, - ); - }; - - return ( -
-

Open Payments Explorer

-

- Explore and engage with government transactions. Your participation helps ensure - transparency and accountability. -

- - {filteredTransactions.length > 0 ? ( - filteredTransactions.map((transaction) => ( -
- {/* Transaction header */} -
-
-
- - {transaction.id} - -

{transaction.purpose}

-

{transaction.date}

-
-
-

{transaction.amount}

-
-
-
- - {/* Transaction details */} -
-
-
-
- From: - {transaction.agency} -
- -
- -
-
- To: - {transaction.recipient} -
- -
- -

{transaction.details}

-
- - {/* Action buttons */} -
- - - - - - - -
- - {/* Comments section */} - {showComments[transaction.id] && ( -
-

Comments

- - {/* Comment list */} -
- {transaction.comments.map((comment) => ( -
-
- {comment.author} - {comment.timestamp} -
-

{comment.text}

-
- ))} -
- - {/* Comment input */} -
- - setCommentInputs((prev) => ({ ...prev, [transaction.id]: e.target.value })) - } - className="flex-1 min-w-0 block w-full px-3 py-2 border border-gray-300 rounded-l-md focus:outline-none focus:ring-blue-500 focus:border-blue-500 sm:text-sm" - placeholder="Add your comment..." - onKeyPress={(e) => e.key === 'Enter' && handleCommentSubmit(transaction.id)} - /> - -
-
- )} -
-
- )) - ) : ( -
-
- - - -
-

No transactions found

-

- No transactions matching your current filter were found. Try adjusting your filters or - check back later. -

-
- )} -
- ); -}; - -export default DashboardTransactionDemo; diff --git a/app/projects/governance/components/DetailedComponentsNav.tsx b/app/projects/governance/components/DetailedComponentsNav.tsx deleted file mode 100644 index 782a933e..00000000 --- a/app/projects/governance/components/DetailedComponentsNav.tsx +++ /dev/null @@ -1,150 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; -import type { Route } from 'next'; -import { usePathname } from 'next/navigation'; - -/** - * Navigation component for detailed core components pages - * This component allows users to navigate between the detailed pages for each Solon core component - */ -const DetailedComponentsNav: React.FC = () => { - const pathname = usePathname(); - - // Define the core components and their routes - const components = [ - { - id: 'transparent-transactions', - name: 'Transparent Transaction System', - path: '/projects/governance/transparent-transactions', - description: 'Blockchain-based transaction tracking system', - icon: ( - - - - ), - }, - { - id: 'law-framework', - name: 'Law Transparency Framework', - path: '/projects/governance/law-framework', - description: 'Measurable outcomes for all legislation', - icon: ( - - - - ), - }, - { - id: 'marketplace', - name: 'Government Function Marketplace', - path: '/projects/governance/marketplace', - description: 'Competitive service delivery platform', - icon: ( - - - - ), - }, - { - id: 'voting-system', - name: 'Direct Democracy Voting System', - path: '/projects/governance/voting-system', - description: 'Secure digital voting platform', - icon: ( - - - - ), - }, - ]; - - // Return to main governance page link - const _backToMainLink = '/projects/governance'; - - return ( -
-
-
- - - - - Back to Governance Overview - -
- -
- {components.map((component) => { - const isActive = pathname === component.path; - - return ( - -
- {component.icon} -
-
-

- {component.name} -

-

{component.description}

-
- - ); - })} -
-
-
- ); -}; - -export default DetailedComponentsNav; diff --git a/app/projects/governance/components/FAQSection.tsx b/app/projects/governance/components/FAQSection.tsx deleted file mode 100644 index 7e4658ca..00000000 --- a/app/projects/governance/components/FAQSection.tsx +++ /dev/null @@ -1,351 +0,0 @@ -'use client'; - -import React, { useState } from 'react'; - -interface FAQItem { - id: string; - question: string; - answer: React.ReactNode; - category: 'general' | 'technical' | 'implementation' | 'economic'; -} - -const FAQSection: React.FC = () => { - const [activeCategory, setActiveCategory] = useState< - 'all' | 'general' | 'technical' | 'implementation' | 'economic' - >('all'); - const [expandedId, setExpandedId] = useState(null); - - const toggleFAQ = (id: string) => { - setExpandedId(expandedId === id ? null : id); - }; - - const faqs: FAQItem[] = [ - { - id: 'general-1', - question: 'What is Solon and how does it change governance?', - answer: ( -

- Solon is a blockchain-based governance platform that revolutionizes how governments - operate by introducing unprecedented transparency, accountability, and citizen - participation. It replaces opaque, inefficient traditional governance systems with a - technical framework that ensures every transaction is visible, every law has measurable - outcomes, government services are competitively provided, and citizens can directly - participate in decision-making. -

- ), - category: 'general', - }, - { - id: 'general-2', - question: 'Can Solon work with existing government institutions?', - answer: ( -

- Yes, Solon is designed to be adaptable and can be integrated with existing government - structures. It can be implemented gradually, with different components adopted at - different paces based on readiness and need. The platform can function alongside - traditional systems during transition periods, and can be customized to meet the specific - requirements of different levels of government, from municipal to national. -

- ), - category: 'general', - }, - { - id: 'technical-1', - question: 'How does the blockchain ensure transaction security?', - answer: ( -
-

- Solon's blockchain implementation ensures transaction security through multiple - mechanisms: -

-
    -
  • - Cryptographic validation: All transactions are cryptographically signed and validated -
  • -
  • - Distributed consensus: Transactions are verified across multiple nodes in the network -
  • -
  • Immutable records: Once recorded, transactions cannot be altered or deleted
  • -
  • Transparent audit trail: All changes are publicly visible and traceable
  • -
  • - Role-based access control: Only authorized entities can initiate certain transactions -
  • -
-

- This approach prevents fraud, unauthorized spending, and provides real-time verification - of all government financial activities. -

-
- ), - category: 'technical', - }, - { - id: 'technical-2', - question: 'What technologies power the Solon platform?', - answer: ( -
-

Solon's platform is built on a modern technology stack including:

-
    -
  • Ethereum-compatible blockchain for smart contracts and transactions
  • -
  • IPFS (InterPlanetary File System) for distributed data storage
  • -
  • Zero-knowledge proofs for privacy-preserving verification
  • -
  • React-based front-end for intuitive user interfaces
  • -
  • GraphQL API layer for efficient data access
  • -
  • AI-powered analytics for pattern recognition and anomaly detection
  • -
-

- This combination enables a secure, scalable, and user-friendly governance platform. -

-
- ), - category: 'technical', - }, - { - id: 'implementation-1', - question: 'How long does it take to implement Solon in a municipality?', - answer: ( -

- Implementation timelines vary based on municipality size and complexity, but typically - follow this pattern: -
-
- Small municipalities (under 50,000 residents): 3-6 - months for initial deployment, with full functionality within 12 months. -
-
- Medium municipalities (50,000-250,000): 6-9 months - for initial deployment, with full functionality within 18 months. -
-
- Large municipalities (over 250,000): 9-12 months for - initial deployment, with phased implementation over 24-36 months. -
-
- Each implementation includes system setup, data migration, staff training, and a - transition period where Solon runs parallel to existing systems. -

- ), - category: 'implementation', - }, - { - id: 'implementation-2', - question: 'What training is required for government staff?', - answer: ( -
-

- Solon implementation includes comprehensive training programs tailored to different - roles: -

-
    -
  • - Administrative staff: Basic platform navigation, - transaction input, and reporting (1-2 days) -
  • -
  • - Financial officers: Advanced transaction - management, budget oversight, and audit trails (2-3 days) -
  • -
  • - IT personnel: System maintenance, security - protocols, and integration with existing systems (3-5 days) -
  • -
  • - Department heads: KPI management, performance - tracking, and marketplace utilization (2 days) -
  • -
  • - Elected officials: Platform overview, policy - implementation, and citizen engagement (1 day) -
  • -
-

- We also provide ongoing support, regular refresher courses, and a comprehensive - knowledge base. -

-
- ), - category: 'implementation', - }, - { - id: 'economic-1', - question: 'What cost savings can governments expect?', - answer: ( -
-

- Governments implementing Solon typically experience significant cost savings: -

-
    -
  • - Procurement costs: 20-30% reduction through - increased competition and transparency -
  • -
  • - Administrative overhead: 15-25% reduction through - automation and streamlined processes -
  • -
  • - Fraud prevention: 60-80% reduction in fraudulent - transactions and misappropriation -
  • -
  • - Service delivery: 25-40% improved cost efficiency - through marketplace competition -
  • -
  • - Tax compliance: 10-15% increase due to greater - trust and transparency -
  • -
-

- Most governments achieve ROI within 24-36 months of full implementation. -

-
- ), - category: 'economic', - }, - { - id: 'economic-2', - question: 'How is the Solon platform licensed and priced?', - answer: ( -

- Solon offers flexible licensing models to accommodate different government needs: -
-
- SaaS subscription: Annual subscription based on - population size, starting at $0.50 per citizen annually for basic features, with premium - features available. -
-
- Perpetual license: One-time purchase with ongoing - maintenance fees (approximately 20% of license cost annually). Pricing is tailored to - government size and required functionality. -
-
- Open source community: Core components are available - under open source licenses for governments with technical expertise to self-implement and - maintain. -
-
- All options include initial implementation support, with additional consulting and - customization services available at standard rates. -

- ), - category: 'economic', - }, - ]; - - const filteredFaqs = - activeCategory === 'all' ? faqs : faqs.filter((faq) => faq.category === activeCategory); - - const categoryCount = { - all: faqs.length, - general: faqs.filter((faq) => faq.category === 'general').length, - technical: faqs.filter((faq) => faq.category === 'technical').length, - implementation: faqs.filter((faq) => faq.category === 'implementation').length, - economic: faqs.filter((faq) => faq.category === 'economic').length, - }; - - return ( -
-
-
-

- Frequently Asked Questions -

-

- Find answers to common questions about the Solon governance platform -

-
- - {/* Category Tabs */} -
- - - - - -
- - {/* FAQ Items */} -
- {filteredFaqs.map((faq) => ( -
- - {expandedId === faq.id && ( -
-
{faq.answer}
-
- )} -
- ))} -
- - {/* Still Have Questions */} -
-

Still have questions?

-

- Our team is ready to assist you with any inquiries about the Solon platform. -

- -
-
-
- ); -}; - -export default FAQSection; diff --git a/app/projects/governance/components/HeroSection.tsx b/app/projects/governance/components/HeroSection.tsx deleted file mode 100644 index c08c7778..00000000 --- a/app/projects/governance/components/HeroSection.tsx +++ /dev/null @@ -1,171 +0,0 @@ -'use client'; - -import React from 'react'; - -/** - * Hero section component for Solon Governance platform - */ -const HeroSection: React.FC = () => { - return ( -
-
-
- {/* Text content */} -
-

- Solon — Decentralized Direct Democracy -

-

- Redefining governance through maximum transparency, direct citizen participation, and - market-based efficiency. A revolution in democratic systems for the 21st century. -

- - -
-
-
- - - - -
-
-

100% Transparent

-

Public transactions & votes

-
-
-
-
- - - -
-
-

Citizen Powered

-

Direct participation in decisions

-
-
-
-
- - - -
-
-

Data-Driven

-

KPI-based governance models

-
-
-
-
- - {/* Visual content - replacing dark background with lighter design */} -
-
-
-

- Empowering citizens with transparent, decentralized decision-making -

- -
- {/* Key Principle 1: Transparency */} -
-

- - 1 - - Transparency -

-
    -
  • • All government transactions
  • -
  • • All laws and regulations
  • -
  • • All contracts and contractors
  • -
  • • All decision-making processes
  • -
-
- - {/* Key Principle 2: Measurement */} -
-

- - 2 - - Outcome Measurement -

-

- Clear metrics about the purpose, origin, and effectiveness of every law and - regulation. -

-
- - {/* Key Principle 3: Marketplace */} -
-

- - 3 - - Government Function Marketplace -

-

- Government functions are first considered for elimination, automation, or - outsourcing to the private sector. Only when these options fail will the - government perform the function, with an open marketplace for competitive - bidding. -

-
-
-
-
-
-
-
-
- ); -}; - -export default HeroSection; diff --git a/app/projects/governance/components/RoadmapSection.tsx b/app/projects/governance/components/RoadmapSection.tsx deleted file mode 100644 index 47e84a79..00000000 --- a/app/projects/governance/components/RoadmapSection.tsx +++ /dev/null @@ -1,185 +0,0 @@ -'use client'; - -import React from 'react'; - -/** - * Roadmap section component for Solon Governance platform - * Showing the implementation timeline with phases - */ -const RoadmapSection: React.FC = () => { - const roadmapItems = [ - { - phase: 'Phase 1', - title: 'Core Platform Development', - description: - 'Development of the basic transaction transparency system, law documentation framework, and secure authentication.', - timeline: 'Q1-Q2 2024', - current: true, - }, - { - phase: 'Phase 2', - title: 'Marketplace Development', - description: - 'Building the bidding system for government functions, KPI tracking infrastructure, and contract management system.', - timeline: 'Q3-Q4 2024', - }, - { - phase: 'Phase 3', - title: 'Advanced Features', - description: - 'Integration of AI-powered analytics for corruption detection, predictive modeling, and existing government systems.', - timeline: 'Q1-Q2 2025', - }, - { - phase: 'Phase 4', - title: 'Scale and Expand', - description: - 'Adding multi-language support, customization for different levels of government, and third-party API ecosystem.', - timeline: 'Q3 2025 onwards', - }, - ]; - - return ( -
-
-
-

Implementation Roadmap

-

- Our strategic plan for bringing Solon to communities worldwide in four key phases. -

-
- -
- {/* Vertical Line */} -
- -
- {roadmapItems.map((item, index) => ( -
- {/* Circle indicator */} -
- - {/* Content */} -
-
- - {item.phase} - - {item.timeline} - {item.current && ( - - Current - - )} -
-

{item.title}

-

{item.description}

-
-
- ))} -
-
- -
-
-
- {/* eslint-disable-next-line @next/next/no-img-element -- SVG placeholder chart */} - Implementation Progress Chart -
-
-

Adoption Metrics

-

- Our implementation strategy focuses on measurable adoption metrics in partner - communities: -

-
-
-
- - - -
-
-

Citizen Participation

-

- Target: 40% of eligible citizens actively voting within first year -

-
-
-
-
- - - -
-
-

Cost Efficiency

-

- Target: 15-20% reduction in administrative costs in first 2 years -

-
-
-
-
- - - -
-
-

Trust in Government

-

- Target: 60% approval rating within communities (up from average 35%) -

-
-
-
-
- - - -
-
-

Law Effectiveness

-

- Target: 75% of laws meeting defined KPIs by year 3 -

-
-
-
-
-
-
-
-
- ); -}; - -export default RoadmapSection; diff --git a/app/projects/governance/components/TransactionDemo.tsx b/app/projects/governance/components/TransactionDemo.tsx deleted file mode 100644 index 64eff729..00000000 --- a/app/projects/governance/components/TransactionDemo.tsx +++ /dev/null @@ -1,380 +0,0 @@ -'use client'; - -import React, { useState } from 'react'; - -interface TransactionComment { - id: string; - author: string; - text: string; - timestamp: string; -} - -interface Transaction { - id: string; - date: string; - amount: string; - agency: string; - recipient: string; - purpose: string; - details: string; - likes: number; - dislikes: number; - comments: TransactionComment[]; - shares: number; -} - -/** - * Interactive transaction demo component that allows citizens to - * engage with government transactions through social features - */ -const TransactionDemo: React.FC = () => { - // Sample transaction data - const [transactions, setTransactions] = useState([ - { - id: 'TX-2023-06-15-001', - date: 'June 15, 2023', - amount: '$249,800', - agency: 'Department of Transportation', - recipient: 'Urban Roads Inc.', - purpose: 'Highway Repair - Section 14A', - details: - 'Emergency repair of damaged highway section including asphalt replacement, line repainting, and drainage improvements.', - likes: 87, - dislikes: 21, - comments: [ - { - id: 'c1', - author: 'Jane Citizen', - text: 'This repair was desperately needed. The potholes were damaging vehicles.', - timestamp: '2 days ago', - }, - { - id: 'c2', - author: 'Mark Taxpayer', - text: 'I drive on this section daily and can confirm the work has been completed.', - timestamp: '1 day ago', - }, - ], - shares: 18, - }, - { - id: 'TX-2023-06-10-014', - date: 'June 10, 2023', - amount: '$56,750', - agency: 'Parks & Recreation', - recipient: 'Green Spaces Landscaping', - purpose: 'Community Park Maintenance', - details: - 'Quarterly maintenance of Central Community Park including lawn care, tree pruning, playground equipment inspection, and irrigation system maintenance.', - likes: 134, - dislikes: 8, - comments: [ - { - id: 'c3', - author: 'Parent Council', - text: 'The playground looks much better now. Thank you!', - timestamp: '3 days ago', - }, - ], - shares: 42, - }, - { - id: 'TX-2023-06-05-078', - date: 'June 5, 2023', - amount: '$1,250,000', - agency: 'Education Department', - recipient: 'LearnTech Solutions', - purpose: 'School District Technology Upgrade', - details: - 'Purchase of 500 laptops, 50 interactive whiteboards, and supporting infrastructure for the Western School District technology modernization initiative.', - likes: 201, - dislikes: 115, - comments: [ - { - id: 'c4', - author: 'Tech Teacher', - text: 'Our school received the new equipment last week. Game changer for our STEM program!', - timestamp: '5 days ago', - }, - { - id: 'c5', - author: 'Fiscal Watch', - text: 'Why are we spending so much on technology that will be outdated in 3 years?', - timestamp: '4 days ago', - }, - { - id: 'c6', - author: 'Education Board', - text: 'These devices come with a 5-year support contract and are critical for student success.', - timestamp: '3 days ago', - }, - ], - shares: 67, - }, - ]); - - // State for comment input - const [commentInputs, setCommentInputs] = useState<{ [key: string]: string }>({}); - const [showComments, setShowComments] = useState<{ [key: string]: boolean }>({}); - - // Handle user actions (like, dislike, share) - const handleAction = (id: string, action: 'like' | 'dislike' | 'share') => { - setTransactions((prev) => - prev.map((tx) => - tx.id === id - ? { - ...tx, - likes: action === 'like' ? tx.likes + 1 : tx.likes, - dislikes: action === 'dislike' ? tx.dislikes + 1 : tx.dislikes, - shares: action === 'share' ? tx.shares + 1 : tx.shares, - } - : tx, - ), - ); - }; - - // Handle comment submission - const handleCommentSubmit = (id: string) => { - if (!commentInputs[id] || commentInputs[id].trim() === '') return; - - const newComment: TransactionComment = { - id: `c${Math.random().toString(36).substr(2, 9)}`, - author: 'You', - text: commentInputs[id], - timestamp: 'Just now', - }; - - setTransactions((prev) => - prev.map((tx) => (tx.id === id ? { ...tx, comments: [...tx.comments, newComment] } : tx)), - ); - - // Reset input - setCommentInputs((prev) => ({ ...prev, [id]: '' })); - }; - - // Toggle comments visibility - const toggleComments = (id: string) => { - setShowComments((prev) => ({ - ...prev, - [id]: !prev[id], - })); - }; - - // Handle donation - const handleDonate = (id: string, target: 'agency' | 'recipient') => { - const transaction = transactions.find((tx) => tx.id === id); - if (!transaction) return; - - const entity = target === 'agency' ? transaction.agency : transaction.recipient; - alert( - `Thank you for supporting ${entity}! This would open a donation form in a real implementation.`, - ); - }; - - return ( -
-

Open Payments Explorer

-

- Explore and engage with government transactions. Your participation helps ensure - transparency and accountability. -

- - {transactions.map((transaction) => ( -
- {/* Transaction header */} -
-
-
- - {transaction.id} - -

{transaction.purpose}

-

{transaction.date}

-
-
-

{transaction.amount}

-
-
-
- - {/* Transaction details */} -
-
-
-
- From: - {transaction.agency} -
- -
- -
-
- To: - {transaction.recipient} -
- -
- -

{transaction.details}

-
- - {/* Action buttons */} -
- - - - - - - -
- - {/* Comments section */} - {showComments[transaction.id] && ( -
-

Comments

- - {/* Comment list */} -
- {transaction.comments.map((comment) => ( -
-
- {comment.author} - {comment.timestamp} -
-

{comment.text}

-
- ))} -
- - {/* Comment input */} -
- - setCommentInputs((prev) => ({ ...prev, [transaction.id]: e.target.value })) - } - className="flex-1 min-w-0 block w-full px-3 py-2 border border-gray-300 rounded-l-md focus:outline-none focus:ring-blue-500 focus:border-blue-500 sm:text-sm" - placeholder="Add your comment..." - onKeyPress={(e) => e.key === 'Enter' && handleCommentSubmit(transaction.id)} - /> - -
-
- )} -
-
- ))} -
- ); -}; - -export default TransactionDemo; diff --git a/app/projects/governance/components/TransactionWithTraceability.tsx b/app/projects/governance/components/TransactionWithTraceability.tsx deleted file mode 100644 index 7590249d..00000000 --- a/app/projects/governance/components/TransactionWithTraceability.tsx +++ /dev/null @@ -1,493 +0,0 @@ -'use client'; - -import React, { useState } from 'react'; -import Link from 'next/link'; -import { formatCurrency } from '@/lib/format'; -import { type EnhancedTransaction } from '../types'; - -// Re-export for backwards compatibility -export type { EnhancedTransaction } from '../types'; - -interface TransactionWithTraceabilityProps { - transaction: EnhancedTransaction; -} - -/** - * Displays a transaction with full traceability to laws and agency information - */ -export const TransactionWithTraceability: React.FC = ({ - transaction, -}) => { - const [activeTab, setActiveTab] = useState<'details' | 'laws' | 'documents' | 'timeline'>( - 'details', - ); - const [expanded, setExpanded] = useState(false); - - return ( -
- {/* Transaction Header */} -
-
-
-

- {transaction.description} -

-

- Transaction ID: {transaction.id} | Date: {transaction.date} -

-
-
- - {transaction.status} - - - {formatCurrency(transaction.amount)} - -
-
-
- - {/* Transaction Summary */} -
-
-
- Department - - {transaction.department} - -
-
- Recipient - {transaction.recipient} -
-
- Transparency Score -
-
= 90 - ? 'bg-green-500' - : transaction.transparencyScore >= 70 - ? 'bg-blue-500' - : transaction.transparencyScore >= 50 - ? 'bg-yellow-500' - : 'bg-red-500' - }`} - > -
-
- - {transaction.transparencyScore}/100 - -
-
-
- Social Engagement -
- - - -
-
-
-
- - {/* Tab Navigation */} -
- -
- - {/* Tab Content */} -
- {/* Details Tab */} - {activeTab === 'details' && ( -
-
-
-

Transaction Metrics

-
-
-
Cost Per Unit
-
- {transaction.metrics.costPerUnit} -
-
-
-
Timeline Status
-
{transaction.metrics.timeline}
-
-
-
Quality Score
-
- {transaction.metrics.qualityScore}/100 -
-
-
-
Contract Compliance
-
- {transaction.metrics.contractCompliance}% -
-
-
-
- -
-

Public Engagement

-
-
- - -
-
- -
-
-
-
-
- )} - - {/* Enabling Laws Tab */} - {activeTab === 'laws' && ( -
-

Enabling Legislation

-

- These laws authorized and governed the execution of this transaction. -

- -
    - {transaction.enablingLaws.map((law) => ( -
  • -
    -
    -

    - - {law.name} - -

    -

    ID: {law.id}

    -
    -
    - - View Law Details - -
    -
    -
  • - ))} -
-
- )} - - {/* Documents Tab */} - {activeTab === 'documents' && ( -
-

Supporting Documentation

-

- Complete documentation for transparency and compliance verification. -

- -
    - {transaction.documents.map((doc) => ( -
  • -
    -
    - - - - {doc.name} -
    - - View Document - -
    -
  • - ))} -
-
- )} - - {/* Timeline Tab */} - {activeTab === 'timeline' && ( -
-

Transaction Timeline

-

- Complete history of this transaction from approval to completion. -

- -
-
    - {transaction.timeline.map((item, index) => ( -
  • -
    - {index !== transaction.timeline.length - 1 ? ( - - ) : null} -
    -
    - - - -
    -
    -
    -

    {item.event}

    -

    {item.description}

    -
    -
    - -
    -
    -
    -
    -
  • - ))} -
-
-
- )} -
- - {/* Transaction Footer */} -
-
-
- - -
- -
-
-
- ); -}; - -export default TransactionWithTraceability; diff --git a/app/projects/governance/components/VisionSection.tsx b/app/projects/governance/components/VisionSection.tsx deleted file mode 100644 index 29452940..00000000 --- a/app/projects/governance/components/VisionSection.tsx +++ /dev/null @@ -1,130 +0,0 @@ -'use client'; - -import React from 'react'; - -/** - * Vision section component for Solon Governance platform - * Showcasing the three core principles of the platform - */ -const VisionSection: React.FC = () => { - return ( -
-
-
-

Our Vision

-

- Solon is built on three core principles that transform how citizens interact with - governance systems. -

-
- -
- {/* Vision Card 1 */} -
-
- - - - -
-

Maximum Transparency

-

- A governance system where every transaction, vote, and decision is publicly visible - and traceable, making corruption virtually impossible. -

-
- - {/* Vision Card 2 */} -
-
- - - -
-

Direct Democracy

-

- Citizens directly participate in decision-making, from budgeting to lawmaking, with - verified voting systems and clear accountability mechanisms. -

-
- - {/* Vision Card 3 */} -
-
- - - -
-

Market-Based Governance

-

- Government functions operate in a competitive marketplace, with clear KPIs, - data-driven evaluations, and continuous improvement mechanisms. -

-
-
- -
-
-
-

- Philosophy: Solon's Approach -

-

- Named after the ancient Athenian lawmaker and reformer, Solon represents a return to - the core principles of democracy—rule by the people—enhanced with modern technology - and data-driven systems. -

-

- Our approach combines the best of direct democracy, market efficiency, and - technological transparency to create governance systems that are more responsive, - accountable, and effective than traditional models. -

-
-
-
- 🏛️ -
-
-
-
-
-
- ); -}; - -export default VisionSection; diff --git a/app/projects/governance/components/WhitepaperSection.tsx b/app/projects/governance/components/WhitepaperSection.tsx deleted file mode 100644 index 13f181df..00000000 --- a/app/projects/governance/components/WhitepaperSection.tsx +++ /dev/null @@ -1,229 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; - -const WhitepaperSection: React.FC = () => { - return ( -
-
-
- - Documentation - -

- Solon Governance Whitepaper -

-

- Detailed technical documentation and theoretical foundations of our revolutionary - governance platform. -

-
- -
- {/* Left Column: Whitepaper Cover */} -
-
- {/* Document Cover */} -
-
-

WHITEPAPER

-

Solon Platform

-

A New Vision for Transparent Governance

-
-
-

Version 1.2 - 2024

-
-
-
- - {/* Corner fold effect */} -
-
-
-
- - {/* Right Column: Content */} -
-
-
-

Comprehensive Documentation

-
- -
-
-
-

- - - - Sections Included -

-
    -
  • Executive Summary
  • -
  • Theoretical Foundation
  • -
  • Technical Architecture
  • -
  • Implementation Strategy
  • -
  • Security & Governance
  • -
  • Economic Model
  • -
  • Use Cases & Case Studies
  • -
-
- -
-

- - - - Key Highlights -

-
    -
  • Detailed explanation of the four core components
  • -
  • Security and privacy considerations
  • -
  • Implementation roadmap and timeline
  • -
  • Governance token economics and incentives
  • -
  • Case studies and success metrics
  • -
-
- -
-
-
- Last updated: May 15, 2024 -
- Format: - - PDF - - - EPUB - -
-
- -
- - Download - - - - - - View Online - -
-
-
-
-
-
- - {/* Additional resources */} -
-
-
-
- - - -
-
-

Video Explanations

-

- Watch our detailed explainer videos about the platform. -

- - View Videos → - -
-
-
-
-
-
- - - -
-
-

Research Papers

-

- Access academic research supporting our governance model. -

- - Read Research → - -
-
-
-
-
-
-
-
- ); -}; - -export default WhitepaperSection; diff --git a/app/projects/governance/components/agency-profile/AgencyHeader.tsx b/app/projects/governance/components/agency-profile/AgencyHeader.tsx deleted file mode 100644 index 3f4d9012..00000000 --- a/app/projects/governance/components/agency-profile/AgencyHeader.tsx +++ /dev/null @@ -1,57 +0,0 @@ -'use client'; - -import React from 'react'; -import { AgencyData, formatCurrency, getTransparencyColor } from './types'; - -interface AgencyHeaderProps { - agency: AgencyData; -} - -export const AgencyHeader: React.FC = ({ agency }) => ( -
-
-
-
-

- {agency.name} -

-
-
- Established: {agency.establishment} -
-
- Budget: {formatCurrency(agency.budget.total)}/yr -
-
-
- Transparency Score: {agency.transparencyScore}/100 -
-
-
-
-
- - - - - - -
-
-
-
-); diff --git a/app/projects/governance/components/agency-profile/index.tsx b/app/projects/governance/components/agency-profile/index.tsx deleted file mode 100644 index 02d5a241..00000000 --- a/app/projects/governance/components/agency-profile/index.tsx +++ /dev/null @@ -1,53 +0,0 @@ -'use client'; - -import React, { useState } from 'react'; -import { AgencyData, AgencyTab } from './types'; -import { AgencyHeader } from './AgencyHeader'; -import { OverviewTab, TransactionsTab, RegulationsTab, TeamTab } from './tabs'; - -interface AgencyProfileProps { - agency: AgencyData; -} - -const TABS: AgencyTab[] = ['overview', 'transactions', 'regulations', 'team']; - -const AgencyProfile: React.FC = ({ agency }) => { - const [activeTab, setActiveTab] = useState('overview'); - - return ( -
- - - {/* Tab Navigation */} -
-
- -
-
- - {/* Agency Content */} -
- {activeTab === 'overview' && } - {activeTab === 'transactions' && } - {activeTab === 'regulations' && } - {activeTab === 'team' && } -
-
- ); -}; - -export default AgencyProfile; diff --git a/app/projects/governance/components/agency-profile/tabs/OverviewTab.tsx b/app/projects/governance/components/agency-profile/tabs/OverviewTab.tsx deleted file mode 100644 index 0b47d796..00000000 --- a/app/projects/governance/components/agency-profile/tabs/OverviewTab.tsx +++ /dev/null @@ -1,85 +0,0 @@ -'use client'; - -import React from 'react'; -import { AgencyData, formatCurrency, getTrendColor } from '../types'; - -interface OverviewTabProps { - agency: AgencyData; -} - -export const OverviewTab: React.FC = ({ agency }) => ( -
-
-
-

Agency Overview

-

{agency.description}

-
-
-
-
-
Budget Allocation
-
-
-
- Allocated: {formatCurrency(agency.budget.allocated)} - Spent: {formatCurrency(agency.budget.spent)} -
-
-
-
-
-

Fiscal Year: {agency.budget.fiscalYear}

-
-
-
-
Services Impact
-
-
-
- - {agency.citizenImpact.servicesProvided.toLocaleString()} - - Services Provided -
-
- - {agency.citizenImpact.citizensServed.toLocaleString()} - - Citizens Served -
-
- - {agency.citizenImpact.satisfactionScore}% - - Satisfaction Score -
-
- - {agency.citizenImpact.avgResponseTime} - - Average Response Time -
-
-
-
-
-
-
- - {/* Agency Metrics */} -
- {agency.metrics.map((metric, index) => ( -
-
-
{metric.name}
-
{metric.value}
-
{metric.change}
-
-
- ))} -
-
-); diff --git a/app/projects/governance/components/agency-profile/tabs/RegulationsTab.tsx b/app/projects/governance/components/agency-profile/tabs/RegulationsTab.tsx deleted file mode 100644 index 8608fdef..00000000 --- a/app/projects/governance/components/agency-profile/tabs/RegulationsTab.tsx +++ /dev/null @@ -1,81 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; -import { AgencyRegulation, getStatusColor, getKpiStatusColor } from '../types'; - -interface RegulationsTabProps { - regulations: AgencyRegulation[]; -} - -export const RegulationsTab: React.FC = ({ regulations }) => ( -
-
-
    - {regulations.map((regulation) => ( -
  • -
    -
    -

    {regulation.title}

    -
    -

    - {regulation.status.charAt(0).toUpperCase() + regulation.status.slice(1)} -

    -
    -
    -

    {regulation.description}

    - -
    -
    -

    - Enacted: {regulation.dateEnacted} | Last Updated: {regulation.lastUpdated} -

    -

    - Enabling Law:{' '} - - {regulation.enablingLawName} - -

    -
    -
    - - {/* KPIs */} -
    -

    Performance Metrics:

    -
    - {regulation.kpis.map((kpi, idx) => ( -
    -
    -
    -
    -

    {kpi.metric}

    -

    - {kpi.current} / {kpi.target} -

    -
    -
    -
    - ))} -
    -
    -
    -
  • - ))} -
-
-
-); diff --git a/app/projects/governance/components/agency-profile/tabs/TeamTab.tsx b/app/projects/governance/components/agency-profile/tabs/TeamTab.tsx deleted file mode 100644 index 8ac71fe1..00000000 --- a/app/projects/governance/components/agency-profile/tabs/TeamTab.tsx +++ /dev/null @@ -1,76 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; -import { AgencyTeamMember, getTransparencyColor } from '../types'; - -interface TeamTabProps { - team: AgencyTeamMember[]; -} - -export const TeamTab: React.FC = ({ team }) => ( -
-
    - {team.map((member) => ( -
  • -
    -
    - {member.imageUrl ? ( - /* eslint-disable-next-line @next/next/no-img-element -- Dynamic external image URL from data */ - {member.name} - ) : ( -
    - {member.name.charAt(0)} -
    - )} -
    -

    {member.name}

    -
    -
    Position
    -
    {member.position}
    -
    Department
    -
    {member.department}
    -
    - - T-Score: {member.transparency}/100 - -
    -
    -
    -
    -
    -
    - - View Profile - -
    -
    - {member.contact.email && ( - - Contact - - )} -
    -
    -
    -
  • - ))} -
-
-); diff --git a/app/projects/governance/components/agency-profile/tabs/TransactionsTab.tsx b/app/projects/governance/components/agency-profile/tabs/TransactionsTab.tsx deleted file mode 100644 index 63f9fef0..00000000 --- a/app/projects/governance/components/agency-profile/tabs/TransactionsTab.tsx +++ /dev/null @@ -1,62 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; -import { EnhancedTransaction } from '../../TransactionWithTraceability'; -import { formatCurrency, getStatusColor } from '../types'; - -interface TransactionsTabProps { - transactions: EnhancedTransaction[]; -} - -export const TransactionsTab: React.FC = ({ transactions }) => ( -
-
-
    - {transactions.map((transaction) => ( -
  • - -
    -
    -
    -

    - {transaction.description} -

    -
    -

    - {transaction.status} -

    -
    -
    -
    - {formatCurrency(transaction.amount)} -
    -
    -
    -
    -

    - To: {transaction.recipient} -

    -
    -
    -

    {transaction.date}

    -
    -
    -
    - -
  • - ))} -
-
-
-); diff --git a/app/projects/governance/components/agency-profile/tabs/index.ts b/app/projects/governance/components/agency-profile/tabs/index.ts deleted file mode 100644 index ff5279c9..00000000 --- a/app/projects/governance/components/agency-profile/tabs/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { OverviewTab } from './OverviewTab'; -export { TransactionsTab } from './TransactionsTab'; -export { RegulationsTab } from './RegulationsTab'; -export { TeamTab } from './TeamTab'; diff --git a/app/projects/governance/components/agency-profile/types.ts b/app/projects/governance/components/agency-profile/types.ts deleted file mode 100644 index 1bc05d98..00000000 --- a/app/projects/governance/components/agency-profile/types.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Agency Profile Types - * Re-exported from governance SSOT for backwards compatibility - */ - -export type { - AgencyData, - AgencyRegulation, - AgencyTab, - AgencyTeamMember, - EnhancedTransaction, -} from '../../types'; - -export { - formatCurrency, - getKpiStatusColor, - getStatusBadgeColor as getStatusColor, - getTransparencyBadgeColor as getTransparencyColor, - getTrendColor, -} from '../../utils'; diff --git a/app/projects/governance/components/citizen-profile/ProfileHeader.tsx b/app/projects/governance/components/citizen-profile/ProfileHeader.tsx deleted file mode 100644 index f56f50c4..00000000 --- a/app/projects/governance/components/citizen-profile/ProfileHeader.tsx +++ /dev/null @@ -1,43 +0,0 @@ -'use client'; - -import React from 'react'; -import { CitizenData } from './types'; - -interface ProfileHeaderProps { - citizen: CitizenData; -} - -export const ProfileHeader: React.FC = ({ citizen }) => { - return ( -
-
-
-
- {citizen.avatarUrl ? ( - /* eslint-disable-next-line @next/next/no-img-element -- Dynamic external avatar URL from data */ - {citizen.name} - ) : ( -
- {citizen.name.charAt(0)} -
- )} -
-

{citizen.name}

-

Citizen ID: {citizen.id}

-

Registered since {citizen.registeredSince}

-
-
-
- - Participation Score: {citizen.participationScore}/100 - -
-
-
-
- ); -}; diff --git a/app/projects/governance/components/citizen-profile/TabNavigation.tsx b/app/projects/governance/components/citizen-profile/TabNavigation.tsx deleted file mode 100644 index 3fbcbea6..00000000 --- a/app/projects/governance/components/citizen-profile/TabNavigation.tsx +++ /dev/null @@ -1,38 +0,0 @@ -'use client'; - -import React from 'react'; -import { TabType } from './types'; - -interface TabNavigationProps { - activeTab: TabType; - onTabChange: (tab: TabType) => void; -} - -const tabs: Array<{ id: TabType; label: string }> = [ - { id: 'overview', label: 'Overview' }, - { id: 'tax', label: 'Tax History' }, - { id: 'benefits', label: 'Benefits Received' }, - { id: 'advisory', label: 'Advisory Distribution' }, -]; - -export const TabNavigation: React.FC = ({ activeTab, onTabChange }) => { - return ( -
- -
- ); -}; diff --git a/app/projects/governance/components/citizen-profile/index.tsx b/app/projects/governance/components/citizen-profile/index.tsx deleted file mode 100644 index 5055dbd1..00000000 --- a/app/projects/governance/components/citizen-profile/index.tsx +++ /dev/null @@ -1,102 +0,0 @@ -'use client'; - -import React, { useState, useEffect } from 'react'; -import { AgencyData } from '../AgencyProfile'; -import { CitizenData, AdvisoryDistribution, TabType } from './types'; -import { ProfileHeader } from './ProfileHeader'; -import { TabNavigation } from './TabNavigation'; -import { OverviewTab, TaxHistoryTab, BenefitsTab, AdvisoryDistributionTab } from './tabs'; - -// Re-export types for backwards compatibility -export type { - TaxPayment, - CitizenContribution, - CitizenBenefit, - CitizenData, - AdvisoryDistribution, -} from './types'; - -interface CitizenProfileProps { - citizen: CitizenData; - agencies: AgencyData[]; -} - -const CitizenProfile: React.FC = ({ citizen, agencies: _agencies }) => { - const [activeTab, setActiveTab] = useState('overview'); - const [advisoryDistribution, setAdvisoryDistribution] = useState([]); - const [sliderTotal, setSliderTotal] = useState(100); - const [hasChanges, setHasChanges] = useState(false); - - useEffect(() => { - if (citizen.contributions.length > 0) { - const initialDistribution = citizen.contributions.map((contribution) => ({ - agencyId: contribution.agencyId, - agencyName: contribution.agencyName, - currentPercentage: contribution.percentage, - advisoryPercentage: contribution.percentage, - difference: 0, - })); - // eslint-disable-next-line react-hooks/set-state-in-effect -- seeds editable advisory distribution from the citizen prop - setAdvisoryDistribution(initialDistribution); - } - }, [citizen.contributions]); - - const handleDistributionChange = (agencyId: string, value: number) => { - const updatedDistribution = advisoryDistribution.map((item) => { - if (item.agencyId === agencyId) { - return { - ...item, - advisoryPercentage: value, - difference: value - item.currentPercentage, - }; - } - return item; - }); - - const newTotal = updatedDistribution.reduce((sum, item) => sum + item.advisoryPercentage, 0); - setSliderTotal(newTotal); - setAdvisoryDistribution(updatedDistribution); - setHasChanges(true); - }; - - const resetAdvisoryDistribution = () => { - const resetDistribution = advisoryDistribution.map((item) => ({ - ...item, - advisoryPercentage: item.currentPercentage, - difference: 0, - })); - setAdvisoryDistribution(resetDistribution); - setSliderTotal(100); - setHasChanges(false); - }; - - const submitAdvisoryDistribution = () => { - alert('Tax distribution preferences submitted! (This is an advisory recommendation only)'); - setHasChanges(false); - }; - - return ( -
- - - -
- {activeTab === 'overview' && } - {activeTab === 'tax' && } - {activeTab === 'benefits' && } - {activeTab === 'advisory' && ( - - )} -
-
- ); -}; - -export default CitizenProfile; diff --git a/app/projects/governance/components/citizen-profile/tabs/AdvisoryDistributionTab.tsx b/app/projects/governance/components/citizen-profile/tabs/AdvisoryDistributionTab.tsx deleted file mode 100644 index c05bfeb4..00000000 --- a/app/projects/governance/components/citizen-profile/tabs/AdvisoryDistributionTab.tsx +++ /dev/null @@ -1,203 +0,0 @@ -'use client'; - -import React from 'react'; -import { AdvisoryDistribution } from '../types'; - -interface AdvisoryDistributionTabProps { - advisoryDistribution: AdvisoryDistribution[]; - sliderTotal: number; - hasChanges: boolean; - onDistributionChange: (agencyId: string, value: number) => void; - onReset: () => void; - onSubmit: () => void; -} - -export const AdvisoryDistributionTab: React.FC = ({ - advisoryDistribution, - sliderTotal, - hasChanges, - onDistributionChange, - onReset, - onSubmit, -}) => { - return ( -
-
-

Advisory Tax Distribution

-

- Indicate how you would like your tax contributions to be allocated across agencies. - - This is advisory only and does not change your actual tax allocation. - -

-
- -
-
-
- - - -
-
-

Important Information

-
-

- Your preferences will be recorded and shared with policymakers, but actual budget - allocations are determined through the democratic process. This feedback helps - representatives understand citizen priorities. -

-
-
-
-
- -
-
-
- {advisoryDistribution.map((item) => ( -
-
- - 0 - ? 'text-green-600' - : item.difference < 0 - ? 'text-red-600' - : 'text-gray-600' - }`} - > - {item.advisoryPercentage}% - {item.difference !== 0 && ( - - ({item.difference > 0 ? '+' : ''} - {item.difference}%) - - )} - -
-
-
- - onDistributionChange(item.agencyId, parseInt(e.target.value)) - } - className={`w-full h-2 rounded-lg appearance-none cursor-pointer ${ - sliderTotal > 100 ? 'bg-red-200' : 'bg-blue-200' - }`} - /> -
-
-
0 - ? 'bg-green-500' - : item.difference < 0 - ? 'bg-red-500' - : 'bg-gray-400' - }`} - >
-
-
-
- Current: {item.currentPercentage}% - - Change: {item.difference > 0 ? '+' : ''} - {item.difference}% - -
-
- ))} -
- -
-
- Total Allocation - 100 - ? 'text-red-600' - : sliderTotal < 100 - ? 'text-yellow-600' - : 'text-green-600' - }`} - > - {sliderTotal}% - {sliderTotal !== 100 && ( - - ({sliderTotal > 100 ? '+' : ''} - {sliderTotal - 100}%) - - )} - -
-
-
100 - ? 'bg-red-500' - : sliderTotal < 100 - ? 'bg-yellow-500' - : 'bg-green-500' - }`} - style={{ width: `${Math.min(100, sliderTotal)}%` }} - >
-
- {sliderTotal !== 100 && ( -

- {sliderTotal > 100 - ? `Your total allocation exceeds 100% by ${sliderTotal - 100}%. Please adjust to reach exactly 100%.` - : `Your total allocation is under 100% by ${100 - sliderTotal}%. Please adjust to reach exactly 100%.`} -

- )} -
-
-
- -
- - -
-
- ); -}; diff --git a/app/projects/governance/components/citizen-profile/tabs/BenefitsTab.tsx b/app/projects/governance/components/citizen-profile/tabs/BenefitsTab.tsx deleted file mode 100644 index 8faa0426..00000000 --- a/app/projects/governance/components/citizen-profile/tabs/BenefitsTab.tsx +++ /dev/null @@ -1,106 +0,0 @@ -'use client'; - -import React from 'react'; -import { CitizenBenefit } from '../types'; -import { formatCurrency, getStatusColor } from '../utils'; - -interface BenefitsTabProps { - benefits: CitizenBenefit[]; -} - -export const BenefitsTab: React.FC = ({ benefits }) => { - return ( -
-
-

Benefits Received

-

- Government services and benefits you have received. -

-
- -
-
    - {benefits.map((benefit) => ( -
  • -
    -
    -
    -

    {benefit.name}

    -

    - - {benefit.status} - -

    -
    -
    - {formatCurrency(benefit.amount)} - ({benefit.frequency}) -
    -
    -
    -
    -

    - Provider: - - {benefit.provider} - -

    -

    - Date Received: {benefit.dateReceived} -

    -
    -
    -

    {benefit.description}

    -
    -
  • - ))} -
-
- -
-
-
-
- - - -
-
-

Benefits eligibility check

-
-

- You may be eligible for 3 additional benefits based on your profile. Click below - to explore your options. -

-
-
-
- -
-
-
-
-
-
-
- ); -}; diff --git a/app/projects/governance/components/citizen-profile/tabs/OverviewTab.tsx b/app/projects/governance/components/citizen-profile/tabs/OverviewTab.tsx deleted file mode 100644 index d9b04401..00000000 --- a/app/projects/governance/components/citizen-profile/tabs/OverviewTab.tsx +++ /dev/null @@ -1,132 +0,0 @@ -'use client'; - -import React from 'react'; -import { CitizenData } from '../types'; -import { formatCurrency, getTransparencyScoreColor, getTransparencyBarColor } from '../utils'; - -interface OverviewTabProps { - citizen: CitizenData; -} - -export const OverviewTab: React.FC = ({ citizen }) => { - return ( -
-
-

Citizen Summary

-

- Your personal information and government interaction overview. -

-
- -
-
-
-
Full Name
-
{citizen.name}
-
-
-
Address
-
{citizen.address}
-
-
-
District
-
{citizen.district}
-
-
-
Local Voting District
-
{citizen.votingDistricts.local}
-
-
-
State Voting District
-
{citizen.votingDistricts.state}
-
-
-
Federal Voting District
-
{citizen.votingDistricts.federal}
-
-
-
Elected Representative
-
- {citizen.representativeName || 'Not assigned'} -
-
-
-
Registration Date
-
{citizen.registeredSince}
-
-
-
Annual Tax Contribution
-
- {formatCurrency(citizen.totalTaxContribution)} -
-
-
-
- -
-

Current Tax Distribution

-

- How your tax contributions are currently allocated across agencies. -

-
- -
- {citizen.contributions.map((contribution) => ( -
-
-

{contribution.agencyName}

- - T-Score: {contribution.transparencyScore} - -
-
-
- Annual Contribution: - - {formatCurrency(contribution.amount)} - -
-
- Percentage: - {contribution.percentage}% -
-
-
-
-
-
-
Contribution History
-
- {contribution.contributionHistory.map((year) => ( -
-
-
-
-
{year.year.slice(-2)}
-
- ))} -
-
-
- ))} -
-
- ); -}; diff --git a/app/projects/governance/components/citizen-profile/tabs/TaxHistoryTab.tsx b/app/projects/governance/components/citizen-profile/tabs/TaxHistoryTab.tsx deleted file mode 100644 index ec4fca27..00000000 --- a/app/projects/governance/components/citizen-profile/tabs/TaxHistoryTab.tsx +++ /dev/null @@ -1,126 +0,0 @@ -'use client'; - -import React from 'react'; -import { TaxPayment } from '../types'; -import { formatCurrency, getStatusColor } from '../utils'; - -interface TaxHistoryTabProps { - taxHistory: TaxPayment[]; -} - -export const TaxHistoryTab: React.FC = ({ taxHistory }) => { - return ( -
-
-

Tax Payment History

-

- Your complete tax contribution history across all categories. -

-
- -
-
-
-
- - - - - - - - - - - - {taxHistory.map((tax) => ( - - - - - - - - ))} - -
- Date - - Type - - Amount - - Status - - Reference -
-
{tax.date}
-
For {tax.year}
-
-
{tax.type}
-
-
- {formatCurrency(tax.amount)} -
-
- - {tax.status} - - - {tax.reference} -
-
-
-
-
- -
-
-
-
- - - -
-
-

- Need help understanding your tax payments? Contact a tax specialist for assistance. -

-

- -

-
-
-
-
-
- ); -}; diff --git a/app/projects/governance/components/citizen-profile/tabs/index.ts b/app/projects/governance/components/citizen-profile/tabs/index.ts deleted file mode 100644 index 0baac7f1..00000000 --- a/app/projects/governance/components/citizen-profile/tabs/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { OverviewTab } from './OverviewTab'; -export { TaxHistoryTab } from './TaxHistoryTab'; -export { BenefitsTab } from './BenefitsTab'; -export { AdvisoryDistributionTab } from './AdvisoryDistributionTab'; diff --git a/app/projects/governance/components/citizen-profile/types.ts b/app/projects/governance/components/citizen-profile/types.ts deleted file mode 100644 index abb52df6..00000000 --- a/app/projects/governance/components/citizen-profile/types.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Citizen Profile Types - * Re-exported from governance SSOT for backwards compatibility - */ - -export type { - AdvisoryDistribution, - CitizenBenefit, - CitizenContribution, - CitizenData, - CitizenTab as TabType, - TaxPayment, -} from '../../types'; diff --git a/app/projects/governance/components/citizen-profile/utils.ts b/app/projects/governance/components/citizen-profile/utils.ts deleted file mode 100644 index 4bc49a3c..00000000 --- a/app/projects/governance/components/citizen-profile/utils.ts +++ /dev/null @@ -1,36 +0,0 @@ -export const formatCurrency = (amount: number): string => { - return new Intl.NumberFormat('en-US', { - style: 'currency', - currency: 'USD', - maximumFractionDigits: 0, - }).format(amount); -}; - -export const getTransparencyScoreColor = (score: number): string => { - if (score >= 90) return 'bg-green-100 text-green-800'; - if (score >= 70) return 'bg-blue-100 text-blue-800'; - if (score >= 50) return 'bg-yellow-100 text-yellow-800'; - return 'bg-red-100 text-red-800'; -}; - -export const getTransparencyBarColor = (score: number): string => { - if (score >= 90) return 'bg-green-500'; - if (score >= 70) return 'bg-blue-500'; - if (score >= 50) return 'bg-yellow-500'; - return 'bg-red-500'; -}; - -export const getStatusColor = (status: string): string => { - switch (status) { - case 'Paid': - case 'Active': - return 'bg-green-100 text-green-800'; - case 'Pending': - return 'bg-yellow-100 text-yellow-800'; - case 'Late': - case 'Expired': - return 'bg-red-100 text-red-800'; - default: - return 'bg-gray-100 text-gray-800'; - } -}; diff --git a/app/projects/governance/components/citizen/CitizenAdvisoryTab.tsx b/app/projects/governance/components/citizen/CitizenAdvisoryTab.tsx deleted file mode 100644 index 4b82557f..00000000 --- a/app/projects/governance/components/citizen/CitizenAdvisoryTab.tsx +++ /dev/null @@ -1,184 +0,0 @@ -import { type FC } from 'react'; -import { type AdvisoryDistribution } from '@/types/governance'; -import { - getDifferenceClasses, - getAllocationClasses, - getAllocationBarClasses, -} from '@/lib/governance/utils'; - -interface CitizenAdvisoryTabProps { - advisoryDistribution: AdvisoryDistribution[]; - sliderTotal: number; - hasChanges: boolean; - onDistributionChange: (agencyId: string, value: number) => void; - onReset: () => void; - onSubmit: () => void; -} - -export const CitizenAdvisoryTab: FC = ({ - advisoryDistribution, - sliderTotal, - hasChanges, - onDistributionChange, - onReset, - onSubmit, -}) => { - return ( -
-
-

Advisory Tax Distribution

-

- Indicate how you would like your tax contributions to be allocated across agencies. - - This is advisory only and does not change your actual tax allocation. - -

-
- -
-
-
- - - -
-
-

Important Information

-
-

- Your preferences will be recorded and shared with policymakers, but actual budget - allocations are determined through the democratic process. This feedback helps - representatives understand citizen priorities. -

-
-
-
-
- -
-
-
- {advisoryDistribution.map((item) => ( -
-
- - - {item.advisoryPercentage}% - {item.difference !== 0 && ( - - ({item.difference > 0 ? '+' : ''} - {item.difference}%) - - )} - -
-
-
- - onDistributionChange(item.agencyId, parseInt(e.target.value)) - } - className={`w-full h-2 rounded-lg appearance-none cursor-pointer ${ - sliderTotal > 100 ? 'bg-red-200' : 'bg-blue-200' - }`} - /> -
-
-
0 - ? 'bg-green-500' - : item.difference < 0 - ? 'bg-red-500' - : 'bg-gray-400' - }`} - >
-
-
-
- Current: {item.currentPercentage}% - - Change: {item.difference > 0 ? '+' : ''} - {item.difference}% - -
-
- ))} -
- -
-
- Total Allocation - - {sliderTotal}% - {sliderTotal !== 100 && ( - - ({sliderTotal > 100 ? '+' : ''} - {sliderTotal - 100}%) - - )} - -
-
-
-
- {sliderTotal !== 100 && ( -

- {sliderTotal > 100 - ? `Your total allocation exceeds 100% by ${sliderTotal - 100}%. Please adjust to reach exactly 100%.` - : `Your total allocation is under 100% by ${100 - sliderTotal}%. Please adjust to reach exactly 100%.`} -

- )} -
-
-
- -
- - -
-
- ); -}; diff --git a/app/projects/governance/components/citizen/CitizenBenefitsTab.tsx b/app/projects/governance/components/citizen/CitizenBenefitsTab.tsx deleted file mode 100644 index c7888042..00000000 --- a/app/projects/governance/components/citizen/CitizenBenefitsTab.tsx +++ /dev/null @@ -1,104 +0,0 @@ -import { type FC } from 'react'; -import { type CitizenBenefit } from '@/types/governance'; -import { formatCurrency, getStatusBadgeClasses } from '@/lib/governance/utils'; - -interface CitizenBenefitsTabProps { - benefits: CitizenBenefit[]; -} - -export const CitizenBenefitsTab: FC = ({ benefits }) => { - return ( -
-
-

Benefits Received

-

- Government services and benefits you have received. -

-
- -
-
    - {benefits.map((benefit) => ( -
  • -
    -
    -
    -

    {benefit.name}

    -

    - - {benefit.status} - -

    -
    -
    - {formatCurrency(benefit.amount)} - ({benefit.frequency}) -
    -
    -
    -
    -

    - Provider: - - {benefit.provider} - -

    -

    - Date Received: {benefit.dateReceived} -

    -
    -
    -

    {benefit.description}

    -
    -
  • - ))} -
-
- -
-
-
-
- - - -
-
-

Benefits eligibility check

-
-

- You may be eligible for 3 additional benefits based on your profile. Click below - to explore your options. -

-
-
-
- -
-
-
-
-
-
-
- ); -}; diff --git a/app/projects/governance/components/citizen/CitizenOverviewTab.tsx b/app/projects/governance/components/citizen/CitizenOverviewTab.tsx deleted file mode 100644 index ec4da4c7..00000000 --- a/app/projects/governance/components/citizen/CitizenOverviewTab.tsx +++ /dev/null @@ -1,134 +0,0 @@ -import { type FC } from 'react'; -import { type CitizenData } from '@/types/governance'; -import { - formatCurrency, - getTransparencyScoreClasses, - getTransparencyBarClasses, -} from '@/lib/governance/utils'; - -interface CitizenOverviewTabProps { - citizen: CitizenData; -} - -export const CitizenOverviewTab: FC = ({ citizen }) => { - return ( -
-
-

Citizen Summary

-

- Your personal information and government interaction overview. -

-
- -
-
-
-
Full Name
-
{citizen.name}
-
-
-
Address
-
{citizen.address}
-
-
-
District
-
{citizen.district}
-
-
-
Local Voting District
-
{citizen.votingDistricts.local}
-
-
-
State Voting District
-
{citizen.votingDistricts.state}
-
-
-
Federal Voting District
-
{citizen.votingDistricts.federal}
-
-
-
Elected Representative
-
- {citizen.representativeName || 'Not assigned'} -
-
-
-
Registration Date
-
{citizen.registeredSince}
-
-
-
Annual Tax Contribution
-
- {formatCurrency(citizen.totalTaxContribution)} -
-
-
-
- -
-

Current Tax Distribution

-

- How your tax contributions are currently allocated across agencies. -

-
- -
- {citizen.contributions.map((contribution) => ( -
-
-

{contribution.agencyName}

- - T-Score: {contribution.transparencyScore} - -
-
-
- Annual Contribution: - - {formatCurrency(contribution.amount)} - -
-
- Percentage: - {contribution.percentage}% -
-
-
-
-
-
-
Contribution History
-
- {contribution.contributionHistory.map((year) => ( -
-
-
-
-
{year.year.slice(-2)}
-
- ))} -
-
-
- ))} -
-
- ); -}; diff --git a/app/projects/governance/components/citizen/CitizenProfileHeader.tsx b/app/projects/governance/components/citizen/CitizenProfileHeader.tsx deleted file mode 100644 index 1c397bbb..00000000 --- a/app/projects/governance/components/citizen/CitizenProfileHeader.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { type FC } from 'react'; -import { type CitizenData } from '@/types/governance'; -import { ProfileHeader } from '@/components/governance/ProfileHeader'; - -interface CitizenProfileHeaderProps { - citizen: CitizenData; -} - -/** - * Citizen-specific profile header - * Wraps the reusable ProfileHeader with citizen-specific props - */ -export const CitizenProfileHeader: FC = ({ citizen }) => { - return ( - - ); -}; diff --git a/app/projects/governance/components/citizen/CitizenProfileTabs.tsx b/app/projects/governance/components/citizen/CitizenProfileTabs.tsx deleted file mode 100644 index fbeff656..00000000 --- a/app/projects/governance/components/citizen/CitizenProfileTabs.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { type FC } from 'react'; -import { type CitizenProfileTab } from '@/types/governance'; - -interface CitizenProfileTabsProps { - activeTab: CitizenProfileTab; - onTabChange: (tab: CitizenProfileTab) => void; -} - -const tabs: { id: CitizenProfileTab; label: string }[] = [ - { id: 'overview', label: 'Overview' }, - { id: 'tax', label: 'Tax History' }, - { id: 'benefits', label: 'Benefits Received' }, - { id: 'advisory', label: 'Advisory Distribution' }, -]; - -export const CitizenProfileTabs: FC = ({ activeTab, onTabChange }) => { - return ( -
- -
- ); -}; diff --git a/app/projects/governance/components/citizen/CitizenTaxTab.tsx b/app/projects/governance/components/citizen/CitizenTaxTab.tsx deleted file mode 100644 index c6393b15..00000000 --- a/app/projects/governance/components/citizen/CitizenTaxTab.tsx +++ /dev/null @@ -1,124 +0,0 @@ -import { type FC } from 'react'; -import { type TaxPayment } from '@/types/governance'; -import { formatCurrency, getStatusBadgeClasses } from '@/lib/governance/utils'; - -interface CitizenTaxTabProps { - taxHistory: TaxPayment[]; -} - -export const CitizenTaxTab: FC = ({ taxHistory }) => { - return ( -
-
-

Tax Payment History

-

- Your complete tax contribution history across all categories. -

-
- -
-
-
-
- - - - - - - - - - - - {taxHistory.map((tax) => ( - - - - - - - - ))} - -
- Date - - Type - - Amount - - Status - - Reference -
-
{tax.date}
-
For {tax.year}
-
-
{tax.type}
-
-
- {formatCurrency(tax.amount)} -
-
- - {tax.status} - - - {tax.reference} -
-
-
-
-
- -
-
-
-
- - - -
-
-

- Need help understanding your tax payments? Contact a tax specialist for assistance. -

-

- -

-
-
-
-
-
- ); -}; diff --git a/app/projects/governance/components/citizen/index.ts b/app/projects/governance/components/citizen/index.ts deleted file mode 100644 index 06d9c92d..00000000 --- a/app/projects/governance/components/citizen/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export { CitizenProfileHeader } from './CitizenProfileHeader'; -export { CitizenProfileTabs } from './CitizenProfileTabs'; -export { CitizenOverviewTab } from './CitizenOverviewTab'; -export { CitizenTaxTab } from './CitizenTaxTab'; -export { CitizenBenefitsTab } from './CitizenBenefitsTab'; -export { CitizenAdvisoryTab } from './CitizenAdvisoryTab'; diff --git a/app/projects/governance/components/transaction-traceability/TransactionFooter.tsx b/app/projects/governance/components/transaction-traceability/TransactionFooter.tsx deleted file mode 100644 index a6d7416e..00000000 --- a/app/projects/governance/components/transaction-traceability/TransactionFooter.tsx +++ /dev/null @@ -1,76 +0,0 @@ -'use client'; - -import React from 'react'; - -interface TransactionFooterProps { - expanded: boolean; - onToggleExpanded: () => void; -} - -export const TransactionFooter: React.FC = ({ - expanded, - onToggleExpanded, -}) => ( -
-
-
- - -
- -
-
-); diff --git a/app/projects/governance/components/transaction-traceability/TransactionHeader.tsx b/app/projects/governance/components/transaction-traceability/TransactionHeader.tsx deleted file mode 100644 index 2811b795..00000000 --- a/app/projects/governance/components/transaction-traceability/TransactionHeader.tsx +++ /dev/null @@ -1,31 +0,0 @@ -'use client'; - -import React from 'react'; -import { EnhancedTransaction, formatCurrency, getStatusColor } from './types'; - -interface TransactionHeaderProps { - transaction: EnhancedTransaction; -} - -export const TransactionHeader: React.FC = ({ transaction }) => ( -
-
-
-

{transaction.description}

-

- Transaction ID: {transaction.id} | Date: {transaction.date} -

-
-
- - {transaction.status} - - - {formatCurrency(transaction.amount)} - -
-
-
-); diff --git a/app/projects/governance/components/transaction-traceability/TransactionSummary.tsx b/app/projects/governance/components/transaction-traceability/TransactionSummary.tsx deleted file mode 100644 index 3434f488..00000000 --- a/app/projects/governance/components/transaction-traceability/TransactionSummary.tsx +++ /dev/null @@ -1,104 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; -import { EnhancedTransaction, getTransparencyColor } from './types'; - -interface TransactionSummaryProps { - transaction: EnhancedTransaction; -} - -export const TransactionSummary: React.FC = ({ transaction }) => ( -
-
-
- Department - - {transaction.department} - -
-
- Recipient - {transaction.recipient} -
-
- Transparency Score -
-
-
-
- - {transaction.transparencyScore}/100 - -
-
-
- Social Engagement -
- - - -
-
-
-
-); diff --git a/app/projects/governance/components/transaction-traceability/index.tsx b/app/projects/governance/components/transaction-traceability/index.tsx deleted file mode 100644 index 2eba9f05..00000000 --- a/app/projects/governance/components/transaction-traceability/index.tsx +++ /dev/null @@ -1,64 +0,0 @@ -'use client'; - -import React, { useState } from 'react'; -import { EnhancedTransaction, TransactionTab } from './types'; -import { TransactionHeader } from './TransactionHeader'; -import { TransactionSummary } from './TransactionSummary'; -import { TransactionFooter } from './TransactionFooter'; -import { DetailsTab, LawsTab, DocumentsTab, TimelineTab } from './tabs'; - -interface TransactionWithTraceabilityProps { - transaction: EnhancedTransaction; -} - -const TABS: { id: TransactionTab; label: string }[] = [ - { id: 'details', label: 'Details' }, - { id: 'laws', label: 'Enabling Laws' }, - { id: 'documents', label: 'Documents' }, - { id: 'timeline', label: 'Timeline' }, -]; - -export const TransactionWithTraceability: React.FC = ({ - transaction, -}) => { - const [activeTab, setActiveTab] = useState('details'); - const [expanded, setExpanded] = useState(false); - - return ( -
- - - - {/* Tab Navigation */} -
- -
- - {/* Tab Content */} -
- {activeTab === 'details' && } - {activeTab === 'laws' && } - {activeTab === 'documents' && } - {activeTab === 'timeline' && } -
- - setExpanded(!expanded)} /> -
- ); -}; - -export default TransactionWithTraceability; diff --git a/app/projects/governance/components/transaction-traceability/tabs/DetailsTab.tsx b/app/projects/governance/components/transaction-traceability/tabs/DetailsTab.tsx deleted file mode 100644 index da25a244..00000000 --- a/app/projects/governance/components/transaction-traceability/tabs/DetailsTab.tsx +++ /dev/null @@ -1,64 +0,0 @@ -'use client'; - -import React from 'react'; -import { EnhancedTransaction } from '../types'; - -interface DetailsTabProps { - transaction: EnhancedTransaction; -} - -export const DetailsTab: React.FC = ({ transaction }) => ( -
-
-
-

Transaction Metrics

-
-
-
Cost Per Unit
-
{transaction.metrics.costPerUnit}
-
-
-
Timeline Status
-
{transaction.metrics.timeline}
-
-
-
Quality Score
-
{transaction.metrics.qualityScore}/100
-
-
-
Contract Compliance
-
- {transaction.metrics.contractCompliance}% -
-
-
-
- -
-

Public Engagement

-
-
- - -
-
- -
-
-
-
-
-); diff --git a/app/projects/governance/components/transaction-traceability/tabs/DocumentsTab.tsx b/app/projects/governance/components/transaction-traceability/tabs/DocumentsTab.tsx deleted file mode 100644 index 43f43649..00000000 --- a/app/projects/governance/components/transaction-traceability/tabs/DocumentsTab.tsx +++ /dev/null @@ -1,51 +0,0 @@ -'use client'; - -import React from 'react'; -import { EnhancedTransaction } from '../types'; - -interface DocumentsTabProps { - documents: EnhancedTransaction['documents']; -} - -export const DocumentsTab: React.FC = ({ documents }) => ( -
-

Supporting Documentation

-

- Complete documentation for transparency and compliance verification. -

- - -
-); diff --git a/app/projects/governance/components/transaction-traceability/tabs/LawsTab.tsx b/app/projects/governance/components/transaction-traceability/tabs/LawsTab.tsx deleted file mode 100644 index a484739a..00000000 --- a/app/projects/governance/components/transaction-traceability/tabs/LawsTab.tsx +++ /dev/null @@ -1,52 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; -import { EnhancedTransaction } from '../types'; - -interface LawsTabProps { - laws: EnhancedTransaction['enablingLaws']; -} - -export const LawsTab: React.FC = ({ laws }) => ( -
-

Enabling Legislation

-

- These laws authorized and governed the execution of this transaction. -

- -
    - {laws.map((law) => ( -
  • -
    -
    -

    - - {law.name} - -

    -

    ID: {law.id}

    -
    -
    - - View Law Details - -
    -
    -
  • - ))} -
-
-); diff --git a/app/projects/governance/components/transaction-traceability/tabs/TimelineTab.tsx b/app/projects/governance/components/transaction-traceability/tabs/TimelineTab.tsx deleted file mode 100644 index ccecef68..00000000 --- a/app/projects/governance/components/transaction-traceability/tabs/TimelineTab.tsx +++ /dev/null @@ -1,66 +0,0 @@ -'use client'; - -import React from 'react'; -import { EnhancedTransaction } from '../types'; - -interface TimelineTabProps { - timeline: EnhancedTransaction['timeline']; -} - -export const TimelineTab: React.FC = ({ timeline }) => ( -
-

Transaction Timeline

-

- Complete history of this transaction from approval to completion. -

- -
-
    - {timeline.map((item, index) => ( -
  • -
    - {index !== timeline.length - 1 ? ( - - ) : null} -
    -
    - - - -
    -
    -
    -

    {item.event}

    -

    {item.description}

    -
    -
    - -
    -
    -
    -
    -
  • - ))} -
-
-
-); diff --git a/app/projects/governance/components/transaction-traceability/tabs/index.ts b/app/projects/governance/components/transaction-traceability/tabs/index.ts deleted file mode 100644 index b356d287..00000000 --- a/app/projects/governance/components/transaction-traceability/tabs/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { DetailsTab } from './DetailsTab'; -export { LawsTab } from './LawsTab'; -export { DocumentsTab } from './DocumentsTab'; -export { TimelineTab } from './TimelineTab'; diff --git a/app/projects/governance/components/transaction-traceability/types.ts b/app/projects/governance/components/transaction-traceability/types.ts deleted file mode 100644 index 98dd5ca2..00000000 --- a/app/projects/governance/components/transaction-traceability/types.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * Transaction Traceability Types - * Re-exported from governance SSOT for backwards compatibility - */ - -export type { EnhancedTransaction, TransactionTab } from '../../types'; - -export { - formatCurrency, - getStatusBadgeColor as getStatusColor, - getTransparencyBarColor as getTransparencyColor, -} from '../../utils'; diff --git a/app/projects/governance/data/sampleData.ts b/app/projects/governance/data/sampleData.ts deleted file mode 100644 index 9617fa18..00000000 --- a/app/projects/governance/data/sampleData.ts +++ /dev/null @@ -1,1072 +0,0 @@ -'use client'; - -import { AgencyData, AgencyTeamMember, AgencyRegulation } from '../components/AgencyProfile'; -import { EnhancedTransaction } from '../components/TransactionWithTraceability'; -import { - CitizenData, - TaxPayment, - CitizenContribution, - CitizenBenefit, -} from '../components/CitizenProfile'; - -// Sample Team Members -export const sampleTeamMembers: AgencyTeamMember[] = [ - { - id: 'tm1', - name: 'Eleanor Rodriguez', - position: 'Director', - department: 'Executive Office', - imageUrl: '/images/avatars/eleanor.jpg', - bio: 'Public servant with 15 years of experience in government administration and policy implementation.', - yearsOfService: 15, - salary: 175000, - transparency: 92, - responsibilities: [ - 'Agency oversight', - 'Strategic planning', - 'Interdepartmental coordination', - 'Budget approval', - ], - contact: { - email: 'eleanor.rodriguez@gov.example', - phone: '(555) 123-4567', - office: 'HQ - Suite 400', - }, - }, - { - id: 'tm2', - name: 'Marcus Johnson', - position: 'Deputy Director', - department: 'Operations', - imageUrl: '/images/avatars/marcus.jpg', - bio: 'Former private sector executive with expertise in organizational efficiency and process improvement.', - yearsOfService: 7, - salary: 155000, - transparency: 88, - responsibilities: [ - 'Daily operations management', - 'Staff supervision', - 'Process improvement', - 'Performance metrics', - ], - contact: { - email: 'marcus.johnson@gov.example', - phone: '(555) 123-4568', - office: 'HQ - Suite 320', - }, - }, - { - id: 'tm3', - name: 'Sarah Chen', - position: 'Chief Financial Officer', - department: 'Finance', - imageUrl: '/images/avatars/sarah.jpg', - bio: 'CPA with background in public finance and government accounting standards.', - yearsOfService: 9, - salary: 160000, - transparency: 95, - responsibilities: [ - 'Budget management', - 'Financial reporting', - 'Audit coordination', - 'Financial compliance', - ], - contact: { - email: 'sarah.chen@gov.example', - phone: '(555) 123-4569', - office: 'HQ - Suite 280', - }, - }, - { - id: 'tm4', - name: 'James Wilson', - position: 'Chief Technology Officer', - department: 'IT Services', - imageUrl: '/images/avatars/james.jpg', - bio: 'Technology leader with experience in government systems modernization and cybersecurity.', - yearsOfService: 5, - salary: 165000, - transparency: 91, - responsibilities: [ - 'Technology infrastructure', - 'Digital services', - 'Cybersecurity', - 'Data management', - ], - contact: { - email: 'james.wilson@gov.example', - phone: '(555) 123-4570', - office: 'Tech Center - Floor 3', - }, - }, - { - id: 'tm5', - name: 'Maria Gonzalez', - position: 'Community Relations Manager', - department: 'Public Affairs', - imageUrl: '/images/avatars/maria.jpg', - bio: 'Community organizer with strong connections to local neighborhoods and advocacy groups.', - yearsOfService: 11, - salary: 125000, - transparency: 93, - responsibilities: [ - 'Community outreach', - 'Public meetings', - 'Citizen feedback', - 'Partnership development', - ], - contact: { - email: 'maria.gonzalez@gov.example', - phone: '(555) 123-4571', - office: 'Community Center - Room 104', - }, - }, -]; - -// Sample Enhanced Transactions -export const sampleTransactions: EnhancedTransaction[] = [ - { - id: 'tx1', - date: '2023-06-15', - department: 'Transportation', - departmentId: 'dept2', - recipient: 'Metro Construction Co.', - description: 'Road Repair Project - Downtown District', - amount: 450000, - status: 'Completed', - metrics: { - costPerUnit: '$150/sq meter', - timeline: 'On schedule', - qualityScore: 95, - contractCompliance: 100, - }, - transparencyScore: 92, - socialData: { - publicComments: 18, - likes: 35, - concerns: 3, - shares: 12, - }, - enablingLaws: [ - { id: 'law3', name: 'Infrastructure Maintenance Act' }, - { id: 'law7', name: 'Public Works Contracting Standards' }, - ], - documents: [ - { id: 'doc1', name: 'Contract Agreement', url: '/documents/tx1/contract.pdf' }, - { id: 'doc2', name: 'Environmental Impact', url: '/documents/tx1/impact.pdf' }, - { id: 'doc3', name: 'Completion Certificate', url: '/documents/tx1/completion.pdf' }, - ], - timeline: [ - { date: '2023-01-10', event: 'Project Approved', description: 'Budget allocation confirmed' }, - { date: '2023-02-05', event: 'Bidding Process', description: '5 contractors submitted bids' }, - { date: '2023-03-20', event: 'Contract Awarded', description: 'Metro Construction selected' }, - { - date: '2023-04-15', - event: 'Work Commenced', - description: 'Initial road closures and setup', - }, - { - date: '2023-06-12', - event: 'Final Inspection', - description: 'Project passed all quality checks', - }, - { - date: '2023-06-15', - event: 'Payment Issued', - description: 'Final payment for completed work', - }, - ], - }, - { - id: 'tx2', - date: '2023-07-02', - department: 'Education', - departmentId: 'dept3', - recipient: 'Scholastic Tech Solutions', - description: 'Classroom Technology Upgrade - District Schools', - amount: 325000, - status: 'Completed', - metrics: { - costPerUnit: '$1300/classroom', - timeline: '2 weeks ahead of schedule', - qualityScore: 98, - contractCompliance: 100, - }, - transparencyScore: 96, - socialData: { - publicComments: 42, - likes: 156, - concerns: 5, - shares: 37, - }, - enablingLaws: [ - { id: 'law5', name: 'Education Technology Advancement Act' }, - { id: 'law12', name: 'Digital Literacy Initiative' }, - ], - documents: [ - { id: 'doc4', name: 'Equipment Specifications', url: '/documents/tx2/specs.pdf' }, - { id: 'doc5', name: 'School Distribution Plan', url: '/documents/tx2/distribution.pdf' }, - { id: 'doc6', name: 'Training Schedule', url: '/documents/tx2/training.pdf' }, - ], - timeline: [ - { - date: '2023-03-05', - event: 'Needs Assessment', - description: 'Evaluation of classroom requirements', - }, - { - date: '2023-04-12', - event: 'Procurement Approval', - description: 'School board approved technology plan', - }, - { - date: '2023-05-20', - event: 'Vendor Selection', - description: 'Scholastic Tech chosen as provider', - }, - { - date: '2023-06-15', - event: 'Installation Begins', - description: 'First phase of schools upgraded', - }, - { - date: '2023-06-30', - event: 'Teacher Training', - description: 'Professional development sessions held', - }, - { - date: '2023-07-02', - event: 'Project Completion', - description: 'All classrooms upgraded and verified', - }, - ], - }, - { - id: 'tx3', - date: '2023-05-18', - department: 'Parks & Recreation', - departmentId: 'dept4', - recipient: 'Green Spaces Landscaping', - description: 'Community Park Renovation - Westside', - amount: 275000, - status: 'Completed', - metrics: { - costPerUnit: '$55/sq meter', - timeline: '1 week delayed (weather)', - qualityScore: 93, - contractCompliance: 98, - }, - transparencyScore: 90, - socialData: { - publicComments: 87, - likes: 215, - concerns: 12, - shares: 45, - }, - enablingLaws: [ - { id: 'law8', name: 'Public Spaces Enhancement Act' }, - { id: 'law15', name: 'Community Recreation Standards' }, - ], - documents: [ - { id: 'doc7', name: 'Design Plans', url: '/documents/tx3/design.pdf' }, - { id: 'doc8', name: 'Community Feedback', url: '/documents/tx3/feedback.pdf' }, - { id: 'doc9', name: 'Sustainability Report', url: '/documents/tx3/sustainability.pdf' }, - ], - timeline: [ - { - date: '2023-02-10', - event: 'Community Input', - description: 'Public meetings to gather design ideas', - }, - { - date: '2023-03-15', - event: 'Design Approval', - description: 'Final plans approved by Parks Board', - }, - { - date: '2023-04-01', - event: 'Construction Begins', - description: 'Site preparation and old equipment removal', - }, - { - date: '2023-05-10', - event: 'Weather Delay', - description: 'Heavy rain caused one week delay', - }, - { - date: '2023-05-17', - event: 'Final Inspection', - description: 'Safety certification completed', - }, - { - date: '2023-05-18', - event: 'Park Reopening', - description: 'Ribbon cutting ceremony with residents', - }, - ], - }, - { - id: 'tx4', - date: '2023-07-20', - department: 'Public Health', - departmentId: 'dept5', - recipient: 'Medical Supplies Direct', - description: 'Vaccine Distribution Program', - amount: 520000, - status: 'In Progress', - metrics: { - costPerUnit: '$26/resident served', - timeline: 'On schedule', - qualityScore: 99, - contractCompliance: 100, - }, - transparencyScore: 98, - socialData: { - publicComments: 132, - likes: 267, - concerns: 45, - shares: 89, - }, - enablingLaws: [ - { id: 'law2', name: 'Public Health Emergency Response Act' }, - { id: 'law9', name: 'Vaccine Access Initiative' }, - ], - documents: [ - { id: 'doc10', name: 'Distribution Strategy', url: '/documents/tx4/strategy.pdf' }, - { id: 'doc11', name: 'Cold Chain Verification', url: '/documents/tx4/coldchain.pdf' }, - { id: 'doc12', name: 'Community Access Points', url: '/documents/tx4/access.pdf' }, - ], - timeline: [ - { - date: '2023-05-01', - event: 'Emergency Declaration', - description: 'Health emergency triggered response', - }, - { - date: '2023-05-15', - event: 'Supplier Contract', - description: 'Expedited procurement process completed', - }, - { - date: '2023-06-10', - event: 'First Delivery', - description: 'Initial vaccine supply received', - }, - { - date: '2023-06-15', - event: 'Distribution Begins', - description: 'Priority populations served first', - }, - { - date: '2023-07-01', - event: 'Phase 2 Rollout', - description: 'General population access points opened', - }, - { - date: '2023-07-20', - event: 'Interim Payment', - description: '60% of program completed, interim payment made', - }, - ], - }, - { - id: 'tx5', - date: '2023-04-05', - department: 'Public Safety', - departmentId: 'dept1', - recipient: 'First Responder Equipment Co.', - description: 'Emergency Services Equipment Upgrade', - amount: 380000, - status: 'Completed', - metrics: { - costPerUnit: '$12,500/unit', - timeline: 'On schedule', - qualityScore: 97, - contractCompliance: 100, - }, - transparencyScore: 94, - socialData: { - publicComments: 56, - likes: 189, - concerns: 7, - shares: 42, - }, - enablingLaws: [ - { id: 'law1', name: 'Emergency Services Modernization Act' }, - { id: 'law11', name: 'First Responder Safety Standards' }, - ], - documents: [ - { id: 'doc13', name: 'Equipment Specifications', url: '/documents/tx5/specs.pdf' }, - { id: 'doc14', name: 'Training Certification', url: '/documents/tx5/training.pdf' }, - { id: 'doc15', name: 'Deployment Plan', url: '/documents/tx5/deployment.pdf' }, - ], - timeline: [ - { - date: '2023-01-20', - event: 'Needs Assessment', - description: 'Evaluation of current equipment status', - }, - { - date: '2023-02-10', - event: 'Budget Approval', - description: 'City council approved emergency funding', - }, - { - date: '2023-02-28', - event: 'Vendor Selection', - description: 'Competitive bid process completed', - }, - { - date: '2023-03-15', - event: 'Equipment Delivery', - description: 'All ordered items received and inventoried', - }, - { - date: '2023-03-20', - event: 'Staff Training', - description: 'All shifts completed equipment training', - }, - { - date: '2023-04-05', - event: 'Full Deployment', - description: 'New equipment in service across all stations', - }, - ], - }, -]; - -// Sample Agency Regulations -export const sampleRegulations: AgencyRegulation[] = [ - { - id: 'reg1', - title: 'Public Safety Response Time Standards', - description: - 'Establishes maximum response times for emergency services based on incident type and location.', - dateEnacted: '2022-09-15', - lastUpdated: '2023-01-20', - status: 'active', - purpose: 'To ensure timely emergency service response to all areas of the jurisdiction.', - kpis: [ - { - metric: 'Urban Response Time', - target: '< 4 minutes', - current: '3.8 minutes', - status: 'achieved', - }, - { - metric: 'Suburban Response Time', - target: '< 6 minutes', - current: '5.5 minutes', - status: 'achieved', - }, - { - metric: 'Rural Response Time', - target: '< 12 minutes', - current: '13.2 minutes', - status: 'at-risk', - }, - ], - enablingLawId: 'law1', - enablingLawName: 'Emergency Services Modernization Act', - }, - { - id: 'reg2', - title: 'Road Maintenance Quality Standards', - description: - 'Defines requirements for road repairs, including materials, durability, and environmental considerations.', - dateEnacted: '2021-11-30', - lastUpdated: '2023-02-10', - status: 'active', - purpose: 'To ensure consistent quality in road construction and maintenance projects.', - kpis: [ - { - metric: 'Materials Compliance', - target: '100%', - current: '98%', - status: 'on-track', - }, - { - metric: 'Repair Durability', - target: '5+ years', - current: '4.7 years avg.', - status: 'on-track', - }, - { - metric: 'Project Documentation', - target: '100%', - current: '100%', - status: 'achieved', - }, - ], - enablingLawId: 'law3', - enablingLawName: 'Infrastructure Maintenance Act', - }, - { - id: 'reg3', - title: 'Educational Technology Implementation', - description: - 'Guidelines for technology deployment in educational settings, including accessibility requirements.', - dateEnacted: '2022-07-15', - lastUpdated: '2023-03-05', - status: 'active', - purpose: 'To standardize technology implementation and ensure equal access across all schools.', - kpis: [ - { - metric: 'Student Device Ratio', - target: '1:1', - current: '1:1.2', - status: 'on-track', - }, - { - metric: 'Teacher Training', - target: '100%', - current: '87%', - status: 'at-risk', - }, - { - metric: 'Accessibility Compliance', - target: '100%', - current: '100%', - status: 'achieved', - }, - ], - enablingLawId: 'law5', - enablingLawName: 'Education Technology Advancement Act', - }, - { - id: 'reg4', - title: 'Park Sustainability Standards', - description: - 'Requirements for water conservation, native plants, and sustainable maintenance in public parks.', - dateEnacted: '2022-02-28', - lastUpdated: '2022-10-15', - status: 'active', - purpose: 'To ensure environmental sustainability in public park spaces.', - kpis: [ - { - metric: 'Water Usage Reduction', - target: '30%', - current: '25%', - status: 'on-track', - }, - { - metric: 'Native Plant Coverage', - target: '75%', - current: '68%', - status: 'on-track', - }, - { - metric: 'Chemical-Free Maintenance', - target: '90%', - current: '85%', - status: 'on-track', - }, - ], - enablingLawId: 'law8', - enablingLawName: 'Public Spaces Enhancement Act', - }, - { - id: 'reg5', - title: 'Health Emergency Response Protocol', - description: - 'Procedures for coordinating public health responses to emergencies, including resource allocation.', - dateEnacted: '2022-05-10', - lastUpdated: '2023-04-20', - status: 'active', - purpose: 'To establish clear protocols for responding to public health emergencies.', - kpis: [ - { - metric: 'Response Activation Time', - target: '< 24 hours', - current: '18 hours', - status: 'achieved', - }, - { - metric: 'Resource Distribution Equity', - target: '100%', - current: '94%', - status: 'on-track', - }, - { - metric: 'Public Communication', - target: '12 hour updates', - current: '24 hour updates', - status: 'failed', - }, - ], - enablingLawId: 'law2', - enablingLawName: 'Public Health Emergency Response Act', - }, -]; - -// Sample Agencies -export const sampleAgencies: AgencyData[] = [ - { - id: 'dept1', - name: 'Department of Public Safety', - description: - 'Responsible for emergency services, law enforcement, and disaster response coordination throughout the jurisdiction.', - transparencyScore: 87, - establishment: 'January 15, 1965', - budget: { - total: 38500000, - allocated: 36750000, - spent: 28125000, - fiscalYear: '2023-2024', - }, - metrics: [ - { - name: 'Emergency Response Time', - value: '4.2 min', - change: '-0.3 min from last year', - trend: 'up', - }, - { - name: 'Public Safety Index', - value: '86/100', - change: '+4 points from last year', - trend: 'up', - }, - { - name: 'Staff Training Hours', - value: '12,450', - change: '+15% from last year', - trend: 'up', - }, - { - name: 'Incident Resolution Rate', - value: '94%', - change: '+2% from last year', - trend: 'up', - }, - ], - transactions: sampleTransactions.filter((t) => t.department === 'Public Safety'), - regulations: sampleRegulations.filter( - (r) => - r.enablingLawName.includes('Emergency') || r.enablingLawName.includes('First Responder'), - ), - team: sampleTeamMembers.filter((_, index) => [0, 3].includes(index)), - citizenImpact: { - servicesProvided: 15680, - citizensServed: 180450, - satisfactionScore: 89, - avgResponseTime: '4.2 minutes', - }, - }, - { - id: 'dept2', - name: 'Department of Transportation', - description: - 'Oversees public transportation systems, road maintenance, traffic management, and infrastructure development.', - transparencyScore: 92, - establishment: 'March 28, 1972', - budget: { - total: 42750000, - allocated: 41500000, - spent: 32450000, - fiscalYear: '2023-2024', - }, - metrics: [ - { - name: 'Road Condition Index', - value: '78/100', - change: '+6 points from last year', - trend: 'up', - }, - { - name: 'Public Transit Ridership', - value: '9.2M', - change: '+8% from last year', - trend: 'up', - }, - { - name: 'Traffic Congestion', - value: '32%', - change: '-5% from last year', - trend: 'up', - }, - { - name: 'Infrastructure Projects', - value: '24', - change: '+3 from last year', - trend: 'up', - }, - ], - transactions: sampleTransactions.filter((t) => t.department === 'Transportation'), - regulations: sampleRegulations.filter((r) => r.enablingLawName.includes('Infrastructure')), - team: sampleTeamMembers.filter((_, index) => [1, 4].includes(index)), - citizenImpact: { - servicesProvided: 8760, - citizensServed: 230000, - satisfactionScore: 82, - avgResponseTime: '3.5 days', - }, - }, - { - id: 'dept3', - name: 'Department of Education', - description: - 'Manages public education, school programs, teacher professional development, and educational policy implementation.', - transparencyScore: 94, - establishment: 'September 5, 1968', - budget: { - total: 65250000, - allocated: 64100000, - spent: 48750000, - fiscalYear: '2023-2024', - }, - metrics: [ - { - name: 'Graduation Rate', - value: '89%', - change: '+3% from last year', - trend: 'up', - }, - { - name: 'Student-Teacher Ratio', - value: '18:1', - change: '-1 from last year', - trend: 'up', - }, - { - name: 'Digital Access', - value: '96%', - change: '+5% from last year', - trend: 'up', - }, - { - name: 'Test Score Average', - value: '78/100', - change: '+2 points from last year', - trend: 'up', - }, - ], - transactions: sampleTransactions.filter((t) => t.department === 'Education'), - regulations: sampleRegulations.filter((r) => r.enablingLawName.includes('Education')), - team: sampleTeamMembers.filter((_, index) => [2, 4].includes(index)), - citizenImpact: { - servicesProvided: 350, - citizensServed: 42500, - satisfactionScore: 87, - avgResponseTime: '5.2 days', - }, - }, - { - id: 'dept4', - name: 'Department of Parks & Recreation', - description: - 'Responsible for maintaining public parks, recreational facilities, and community programs for citizens of all ages.', - transparencyScore: 90, - establishment: 'June 12, 1975', - budget: { - total: 28500000, - allocated: 27900000, - spent: 21350000, - fiscalYear: '2023-2024', - }, - metrics: [ - { - name: 'Park Access', - value: '92%', - change: '+4% from last year', - trend: 'up', - }, - { - name: 'Program Participation', - value: '38,450', - change: '+12% from last year', - trend: 'up', - }, - { - name: 'Green Space', - value: '1,245 acres', - change: '+35 acres from last year', - trend: 'up', - }, - { - name: 'Facility Condition', - value: '84/100', - change: '+5 points from last year', - trend: 'up', - }, - ], - transactions: sampleTransactions.filter((t) => t.department === 'Parks & Recreation'), - regulations: sampleRegulations.filter((r) => r.enablingLawName.includes('Public Spaces')), - team: sampleTeamMembers.filter((_, index) => [0, 4].includes(index)), - citizenImpact: { - servicesProvided: 1250, - citizensServed: 156000, - satisfactionScore: 91, - avgResponseTime: '2.8 days', - }, - }, - { - id: 'dept5', - name: 'Department of Public Health', - description: - 'Manages public health initiatives, disease prevention programs, health education, and emergency health responses.', - transparencyScore: 96, - establishment: 'November 3, 1970', - budget: { - total: 56750000, - allocated: 55900000, - spent: 42650000, - fiscalYear: '2023-2024', - }, - metrics: [ - { - name: 'Vaccination Rate', - value: '87%', - change: '+6% from last year', - trend: 'up', - }, - { - name: 'Health Screenings', - value: '45,320', - change: '+18% from last year', - trend: 'up', - }, - { - name: 'Community Health Score', - value: '82/100', - change: '+3 points from last year', - trend: 'up', - }, - { - name: 'Response Time', - value: '1.8 hours', - change: '-0.5 hours from last year', - trend: 'up', - }, - ], - transactions: sampleTransactions.filter((t) => t.department === 'Public Health'), - regulations: sampleRegulations.filter((r) => r.enablingLawName.includes('Health')), - team: sampleTeamMembers.filter((_, index) => [2, 3].includes(index)), - citizenImpact: { - servicesProvided: 32450, - citizensServed: 210000, - satisfactionScore: 88, - avgResponseTime: '2.2 hours', - }, - }, -]; - -// Sample Tax Payments -export const sampleTaxPayments: TaxPayment[] = [ - { - id: 'tax1', - year: '2023', - amount: 5250, - date: '2023-04-15', - status: 'Paid', - type: 'Income', - reference: 'TX-2023-04152', - }, - { - id: 'tax2', - year: '2023', - amount: 3200, - date: '2023-03-15', - status: 'Paid', - type: 'Property', - reference: 'TX-2023-03122', - }, - { - id: 'tax3', - year: '2022', - amount: 4950, - date: '2022-04-10', - status: 'Paid', - type: 'Income', - reference: 'TX-2022-04105', - }, - { - id: 'tax4', - year: '2022', - amount: 3050, - date: '2022-03-12', - status: 'Paid', - type: 'Property', - reference: 'TX-2022-03118', - }, - { - id: 'tax5', - year: '2021', - amount: 4600, - date: '2021-04-12', - status: 'Paid', - type: 'Income', - reference: 'TX-2021-04120', - }, - { - id: 'tax6', - year: '2021', - amount: 2900, - date: '2021-03-10', - status: 'Paid', - type: 'Property', - reference: 'TX-2021-03101', - }, - { - id: 'tax7', - year: '2023', - amount: 1200, - date: '2023-06-15', - status: 'Pending', - type: 'Other', - reference: 'TX-2023-06158', - }, -]; - -// Sample Contributions -export const sampleContributions: CitizenContribution[] = [ - { - agencyId: 'dept1', - agencyName: 'Department of Public Safety', - amount: 2040, - percentage: 22, - transparencyScore: 87, - contributionHistory: [ - { year: '2021', amount: 1770 }, - { year: '2022', amount: 1890 }, - { year: '2023', amount: 2040 }, - ], - }, - { - agencyId: 'dept2', - agencyName: 'Department of Transportation', - amount: 1670, - percentage: 18, - transparencyScore: 92, - contributionHistory: [ - { year: '2021', amount: 1480 }, - { year: '2022', amount: 1550 }, - { year: '2023', amount: 1670 }, - ], - }, - { - agencyId: 'dept3', - agencyName: 'Department of Education', - amount: 2780, - percentage: 30, - transparencyScore: 94, - contributionHistory: [ - { year: '2021', amount: 2430 }, - { year: '2022', amount: 2580 }, - { year: '2023', amount: 2780 }, - ], - }, - { - agencyId: 'dept4', - agencyName: 'Department of Parks & Recreation', - amount: 740, - percentage: 8, - transparencyScore: 90, - contributionHistory: [ - { year: '2021', amount: 650 }, - { year: '2022', amount: 690 }, - { year: '2023', amount: 740 }, - ], - }, - { - agencyId: 'dept5', - agencyName: 'Department of Public Health', - amount: 2040, - percentage: 22, - transparencyScore: 96, - contributionHistory: [ - { year: '2021', amount: 1770 }, - { year: '2022', amount: 1890 }, - { year: '2023', amount: 2040 }, - ], - }, -]; - -// Sample Benefits -export const sampleBenefits: CitizenBenefit[] = [ - { - id: 'ben1', - name: 'Healthcare Subsidy', - description: 'Partial coverage for essential healthcare services', - amount: 1200, - frequency: 'Annual', - provider: 'Department of Public Health', - providerId: 'dept5', - dateReceived: '2023-01-15', - status: 'Active', - }, - { - id: 'ben2', - name: 'Education Grant - Children', - description: 'Support for educational materials and activities', - amount: 500, - frequency: 'Annual', - provider: 'Department of Education', - providerId: 'dept3', - dateReceived: '2023-02-20', - status: 'Active', - }, - { - id: 'ben3', - name: 'Public Transit Pass', - description: 'Reduced fare transit card for public transportation', - amount: 75, - frequency: 'Monthly', - provider: 'Department of Transportation', - providerId: 'dept2', - dateReceived: '2023-07-01', - status: 'Active', - }, - { - id: 'ben4', - name: 'Recreation Program Discount', - description: '50% discount on community center programs', - amount: 120, - frequency: 'Quarterly', - provider: 'Department of Parks & Recreation', - providerId: 'dept4', - dateReceived: '2023-04-10', - status: 'Active', - }, - { - id: 'ben5', - name: 'Senior Wellness Program', - description: 'Preventative health services for senior household members', - amount: 350, - frequency: 'Annual', - provider: 'Department of Public Health', - providerId: 'dept5', - dateReceived: '2023-05-15', - status: 'Pending', - }, -]; - -// Sample Citizen -export const sampleCitizen: CitizenData = { - id: 'cit1', - name: 'Jordan Smith', - address: '123 Main Street, Cityville', - district: 'North Central', - registeredSince: '2015-06-10', - avatarUrl: '/images/avatars/jordan.jpg', - taxHistory: sampleTaxPayments, - contributions: sampleContributions, - benefits: sampleBenefits, - representativeId: 'tm5', - representativeName: 'Maria Gonzalez', - totalTaxContribution: 9270, - votingDistricts: { - local: 'District 3', - state: 'State District 8', - federal: 'Federal District 2', - }, - participationScore: 78, -}; - -const sampleData = { - agencies: sampleAgencies, - transactions: sampleTransactions, - citizen: sampleCitizen, -}; - -export default sampleData; diff --git a/app/projects/governance/employees/[id]/page.tsx b/app/projects/governance/employees/[id]/page.tsx deleted file mode 100644 index 85d75e0f..00000000 --- a/app/projects/governance/employees/[id]/page.tsx +++ /dev/null @@ -1,443 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; -import { useRouter } from 'next/navigation'; -import { sampleTeamMembers } from '../../data/sampleData'; -import { formatCurrency } from '@/lib/format'; - -export default function EmployeeDetailPage({ params }: { params: Promise<{ id: string }> }) { - const _router = useRouter(); - const { id: employeeId } = React.use(params); - - // Find the employee with the matching ID - const employee = sampleTeamMembers.find((emp) => emp.id === employeeId); - - // If employee not found, show error and link back to all employees - if (!employee) { - return ( -
-
- - -
-

Employee Not Found

-

- The employee profile you are looking for could not be found. -

- - View All Employees - -
-
-
- ); - } - - return ( -
-
- - -
- {/* Employee Header */} -
-
-
- {employee.imageUrl ? ( - /* eslint-disable-next-line @next/next/no-img-element -- Dynamic external image URL from data */ - {employee.name} - ) : ( -
- {employee.name.charAt(0)} -
- )} -
-

{employee.name}

-

{employee.position}

-

{employee.department}

-
-
-
- - Transparency Score: {employee.transparency}/100 - -
-
-
- - {/* Employee Bio */} -
-

Professional Biography

-

{employee.bio}

-
- - {/* Employment Details */} -
-

Employment Details

-
-
-
Department
-
{employee.department}
-
-
-
Years of Service
-
{employee.yearsOfService} years
-
-
-
Annual Salary
-
{formatCurrency(employee.salary)}
-
-
-
Office Location
-
{employee.contact.office}
-
- -
-
Phone
-
{employee.contact.phone}
-
-
-
- - {/* Responsibilities */} -
-

Responsibilities & Authority

-
-

Key Responsibilities

-
    - {employee.responsibilities.map((resp, index) => ( -
  • - - - - {resp} -
  • - ))} -
-
- - {/* Placeholder for decision authority - would be populated from real data */} -
-

Decision-Making Authority

-
    -
  • - - - - Can approve expenditures up to{' '} - {formatCurrency(employee.position.includes('Director') ? 50000 : 10000)} -
  • -
  • - - - - {employee.position.includes('Director') ? 'Final approval' : 'Recommends'} for - departmental policies -
  • -
  • - - - - {employee.position.includes('Director') || employee.position.includes('Chief') - ? 'Participates in' - : 'Provides input for'}{' '} - strategic planning -
  • -
-
-
-
- - {/* Performance & Transparency */} -
-
-

Performance & Transparency

-

- Performance metrics and transparency indicators for this public servant. -

-
-
-
-

- Transparency Score Components -

-
-
-
-

Disclosure Compliance

- - {Math.round(employee.transparency * 0.95)}% - -
-
-
-
-

- Measures completeness of required public disclosures -

-
-
-
-

Decision Documentation

- - {Math.round(employee.transparency * 0.9)}% - -
-
-
-
-

- Evaluates documentation of decisions and rationales -

-
-
-
-

Public Responsiveness

- - {Math.round(employee.transparency * 1.05)}% - -
-
-
-
-

- Measures responsiveness to public inquiries and feedback -

-
-
-
- -
-

Performance Highlights

-
-
-
-

- Projects Managed -

-

- {employee.yearsOfService * 2 + 4} -

-

- +{employee.yearsOfService < 5 ? 2 : 1} from previous year -

-
-
-

- Budget Responsibility -

-

- {formatCurrency(employee.salary * 8)} -

-

For current fiscal year

-
-
-

- Team Size -

-

- {employee.position.includes('Director') - ? 12 - : employee.position.includes('Manager') - ? 6 - : 2} -

-

Direct reports

-
-
-

- Public Engagement -

-

- {employee.position.includes('Relations') ? 95 : 78}% -

-

Response rate to inquiries

-
-
-
-
-
-
- - {/* Contact and Feedback */} -
-
-

Contact & Feedback

-

- Ways to contact this employee or provide feedback on their performance. -

-
-
-
-
-

Contact Information

-
- -
-
Phone
-
{employee.contact.phone}
-
-
-
Office
-
{employee.contact.office}
-
-
-
-
-

Provide Feedback

-

- Your feedback helps improve public service and ensures accountability. -

- -
-
-
-
-
-
- ); -} diff --git a/app/projects/governance/employees/page.tsx b/app/projects/governance/employees/page.tsx deleted file mode 100644 index 58dfd16f..00000000 --- a/app/projects/governance/employees/page.tsx +++ /dev/null @@ -1,159 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; -import { sampleTeamMembers } from '../data/sampleData'; -import { formatCurrency } from '@/lib/format'; - -export default function EmployeesPage() { - // Helper function to get transparency score color - const getTransparencyColor = (score: number) => { - if (score >= 90) return 'text-green-600'; - if (score >= 80) return 'text-blue-600'; - if (score >= 70) return 'text-yellow-600'; - return 'text-red-600'; - }; - - return ( -
-
- - -
-

Government Employees

-

- Explore the public servants working to deliver government services -

-
- -
-

Employee Transparency Index

-

- Our employee transparency system promotes accountability by making key information about - public servants available to citizens. Review roles, responsibilities, and performance - metrics for the individuals responsible for managing public resources. -

- -
- {sampleTeamMembers.map((employee) => ( - -
-
-
-

{employee.name}

-

{employee.position}

-
- - T-Score: {employee.transparency} - -
-
-
-

{employee.department}

-

{employee.bio}

- -
-
- Key Details -
-
-
Years of Service:
-
{employee.yearsOfService}
-
Salary:
-
{formatCurrency(employee.salary)}
-
-
-
-
- - View Profile - - - - -
- - ))} -
-
- -
-

Transparency Standards

-

- Our employee profiles adhere to strict standards of transparency while respecting - privacy. Here's what's included: -

- -
-
-

Basic Information

-
    -
  • • Name and position
  • -
  • • Department affiliation
  • -
  • • Years of public service
  • -
  • • Professional biography
  • -
-
-
-

Accountability

-
    -
  • • Public roles and responsibilities
  • -
  • • Decision-making authority
  • -
  • • Contact information for inquiries
  • -
  • • Salary information (as permitted by law)
  • -
-
-
-

Privacy Protection

-
    -
  • • No personal contact information
  • -
  • • No family details
  • -
  • • No detailed employment history
  • -
  • • No personally identifiable information
  • -
-
-
-
-
-
- ); -} diff --git a/app/projects/governance/layout.tsx b/app/projects/governance/layout.tsx deleted file mode 100644 index 10b9f3c3..00000000 --- a/app/projects/governance/layout.tsx +++ /dev/null @@ -1,7 +0,0 @@ -'use client'; - -import React from 'react'; - -export default function GovernanceLayout({ children }: { children: React.ReactNode }) { - return
{children}
; -} diff --git a/app/projects/governance/metadata.ts b/app/projects/governance/metadata.ts deleted file mode 100644 index 7ce8e609..00000000 --- a/app/projects/governance/metadata.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Metadata } from 'next'; - -export const metadata: Metadata = { - title: 'Solon | Decentralized Direct Democracy', - description: - 'Solutions for decentralized direct democracy. Maximum transparency, citizen empowerment, and efficient governance.', -}; diff --git a/app/projects/governance/open-law/page.tsx b/app/projects/governance/open-law/page.tsx deleted file mode 100644 index 93864252..00000000 --- a/app/projects/governance/open-law/page.tsx +++ /dev/null @@ -1,644 +0,0 @@ -'use client'; - -import React, { useState } from 'react'; -import Link from 'next/link'; - -/** - * Law Transparency Framework Detailed Page - * - * This page provides in-depth information about Solon's Law Transparency Framework, - * including how it works, why it's important, use cases, and examples. - */ - -// Define types for law data structures -type LawGoal = { - goal: string; - metric: string; - target: string; - current: string; - status: 'achieved' | 'near-target' | 'in-progress' | 'needs-attention'; -}; - -type LawAmendment = { - id: string; - title: string; - date: string; - sponsor: string; - status: 'approved' | 'pending'; -}; - -type LawCostBenefit = { - implementation: string; - maintenanceAnnual: string; - economicBenefit: string; - returnOnInvestment: string; -}; - -type LawPublicFeedback = { - sentiment: string; - supportPercentage: number; - commentVolume: number; - keyThemes: string[]; -}; - -type LawData = { - title: string; - status: string; - enactedDate: string; - goals: LawGoal[]; - amendments: LawAmendment[]; - costBenefit: LawCostBenefit; - publicFeedback: LawPublicFeedback; -}; - -type Laws = { - [key: string]: LawData; -}; - -export default function LawFrameworkPage() { - // State for the interactive law effectiveness tracker demo - const [selectedLaw, _setSelectedLaw] = useState('env-protection-act'); - - // Mock data for laws - const laws: Laws = { - 'env-protection-act': { - title: 'Environmental Protection Act 2023', - status: 'active', - enactedDate: '2023-03-15', - goals: [ - { - goal: 'Reduce carbon emissions by 30%', - metric: 'CO2 emissions', - target: '30% reduction', - current: '12% reduction', - status: 'in-progress', - }, - { - goal: 'Increase renewable energy usage', - metric: 'Renewable energy %', - target: '40% of grid', - current: '28% of grid', - status: 'in-progress', - }, - { - goal: 'Protect 5000 acres of forest', - metric: 'Protected land', - target: '5000 acres', - current: '4200 acres', - status: 'near-target', - }, - ], - amendments: [ - { - id: 'EPA-A1', - title: 'Solar Incentives Amendment', - date: '2023-06-10', - sponsor: 'Rep. Johnson', - status: 'approved', - }, - { - id: 'EPA-A2', - title: 'Corporate Emissions Reporting', - date: '2023-07-22', - sponsor: 'Rep. Garcia', - status: 'pending', - }, - ], - costBenefit: { - implementation: '$3.2M', - maintenanceAnnual: '$1.1M', - economicBenefit: '$12.4M', - returnOnInvestment: '387%', - }, - publicFeedback: { - sentiment: 'positive', - supportPercentage: 72, - commentVolume: 1542, - keyThemes: ['Economic impact', 'Implementation speed', 'Enforcement concerns'], - }, - }, - 'digital-privacy-act': { - title: 'Digital Privacy Act 2022', - status: 'active', - enactedDate: '2022-11-05', - goals: [ - { - goal: 'Secure personal data protection', - metric: 'Data breach incidents', - target: '50% reduction', - current: '32% reduction', - status: 'in-progress', - }, - { - goal: 'Increase transparency in data collection', - metric: 'Compliance rate', - target: '95% of companies', - current: '78% of companies', - status: 'in-progress', - }, - { - goal: 'Enforce right to be forgotten', - metric: 'Request fulfillment rate', - target: '99% fulfilled', - current: '94% fulfilled', - status: 'near-target', - }, - ], - amendments: [ - { - id: 'DPA-A1', - title: "Minor's Data Protection", - date: '2023-02-18', - sponsor: 'Rep. Williams', - status: 'approved', - }, - { - id: 'DPA-A2', - title: 'Breach Notification Requirements', - date: '2023-05-03', - sponsor: 'Rep. Chen', - status: 'approved', - }, - ], - costBenefit: { - implementation: '$4.5M', - maintenanceAnnual: '$2.3M', - economicBenefit: '$18.7M', - returnOnInvestment: '415%', - }, - publicFeedback: { - sentiment: 'very positive', - supportPercentage: 84, - commentVolume: 2371, - keyThemes: ['Corporate compliance', 'Penalties adequacy', 'Consumer education'], - }, - }, - 'small-business-act': { - title: 'Small Business Support Act 2023', - status: 'active', - enactedDate: '2023-01-20', - goals: [ - { - goal: 'Increase small business formation', - metric: 'New business registrations', - target: '25% increase', - current: '13% increase', - status: 'in-progress', - }, - { - goal: 'Improve access to capital', - metric: 'Loan approval rate', - target: '40% increase', - current: '22% increase', - status: 'in-progress', - }, - { - goal: 'Reduce regulatory burden', - metric: 'Compliance time', - target: '50% reduction', - current: '15% reduction', - status: 'needs-attention', - }, - ], - amendments: [ - { - id: 'SBA-A1', - title: 'Minority Business Focus', - date: '2023-04-12', - sponsor: 'Rep. Washington', - status: 'approved', - }, - { - id: 'SBA-A2', - title: 'Rural Enterprise Incentives', - date: '2023-08-05', - sponsor: 'Rep. Miller', - status: 'pending', - }, - ], - costBenefit: { - implementation: '$5.8M', - maintenanceAnnual: '$2.7M', - economicBenefit: '$47.3M', - returnOnInvestment: '815%', - }, - publicFeedback: { - sentiment: 'positive', - supportPercentage: 68, - commentVolume: 1837, - keyThemes: ['Application process', 'Distribution equity', 'Administrative overhead'], - }, - }, - }; - - const _selectedLawData = laws[selectedLaw]; - - // Function to determine goal status color - const _getStatusColor = (status: string): string => { - switch (status) { - case 'achieved': - return 'bg-green-50 text-green-800'; - case 'near-target': - return 'bg-blue-50 text-blue-800'; - case 'in-progress': - return 'bg-yellow-50 text-yellow-800'; - case 'needs-attention': - return 'bg-red-50 text-red-800'; - default: - return 'bg-gray-100 text-gray-800'; - } - }; - - return ( -
- {/* Hero Section */} -
-
-
-
-

Open Law

-

- End the era of unaccountable legislation. Every law now has clear problem - statements, measurable KPIs, and defined accountability timelines. -

-
- - Explore Active Laws - - - See the Impact - -
-
-
-
-
- ACTIVE -
-
-

- Street Safety Enhancement Act -

-

- Enacted: March 12, 2023 • Status: In Progress -

-
-
-
-

PROBLEM STATEMENT

-

- Pedestrian injuries at intersections have increased 14% in the last two years. -

-
-
-

KEY METRICS

-
-
-
-
- Target: 50% reduction in accidents - Current: 42% -
-
-
-

ACCOUNTABILITY

-

Lead: Transportation Safety Board

-

Timeline: Complete by Dec 2023

-
-
-
-
-
-
-
- - {/* Benefits Section */} -
-
-

- Why Open Law Transforms Governance -

- -
-
-
📊
-

Measure Real Results

-

- Studies show that laws with clearly defined metrics are 3.7x more likely to achieve - their intended outcomes. Open Law ensures every piece of legislation has measurable - targets and accountability. -

-
- -
-
🛡️
-

- True Political Accountability -

-

- When politicians sponsor laws, they become directly accountable for results. Open - Law creates a permanent record of promises made versus results delivered. -

-
- -
-
📝
-

Citizen Participation

-

- Open Law transforms citizens from passive subjects into active participants. Comment - directly on laws, suggest improvements, and help measure outcomes in your community. -

-
-
-
-
- - {/* How It Works Section */} -
-
-
-

How Open Law Works

-

- A revolutionary framework for legislation that brings clarity, measurability, and - accountability to every law. -

-
- -
-
-
- 1 -
-

Problem Definition

-

- Every law starts with a clearly articulated problem statement backed by data. No - more vague objectives or hidden agendas. -

-
- -
-
- 2 -
-

KPI Definition

-

- Each law includes specific, measurable Key Performance Indicators that define - success. You'll know exactly if a law is working. -

-
- -
-
- 3 -
-

Timeline Setting

-

- Clear timeframes for implementation and evaluation prevent laws from lingering in - limbo. Automatic evaluation at predetermined milestones. -

-
- -
-
- 4 -
-

Accountability Assignment

-

- Specific individuals and departments are assigned responsibility. If a law fails, - citizens know exactly who to hold accountable. -

-
-
-
-
- - {/* Demo Section */} -
-
-
-

Explore Active Legislation

-

- In a full implementation, this section would contain real-time data on all active - laws, their KPIs, and current progress. -

-
- -
-
-
-

Community Health Initiative

-
- Enacted: January 2023 - - On Track - -
-
-
-
-

PROBLEM

-

- Rising obesity rates across all demographics and limited access to preventative - care. -

-
-
-

METRICS

-
-
-

Obesity Rate Reduction

-
-
-
-
- Target: 15% - Current: 5.2% -
-
-
-

Preventative Care Access

-
-
-
-
- Target: 95% - Current: 57% -
-
-
-
-
-
-

Lead: Health Department

-

Timeline: 2023-2025

-
- - View Details → - -
-
-
- -
-
-

Clean Energy Transition Act

-
- Enacted: October 2022 - - At Risk - -
-
-
-
-

PROBLEM

-

- High carbon emissions from municipal operations and aging energy infrastructure. -

-
-
-

METRICS

-
-
-

Carbon Reduction

-
-
-
-
- Target: 40% - Current: 8.8% -
-
-
-

Renewable Usage

-
-
-
-
- Target: 50% - Current: 22.5% -
-
-
-
-
-
-

Lead: Energy Commission

-

Timeline: 2022-2024

-
- - View Details → - -
-
-
-
- -
- - View All Active Laws - - - - -
-
-
- - {/* Testimonial Section */} -
-
-
-

The Results Speak for Themselves

- -
- {/* eslint-disable @next/next/no-img-element -- External stock images for testimonial avatars */} -
-
- - - -
-
- {/* eslint-enable @next/next/no-img-element */} -
- "Cities that have implemented the Open Law framework have seen a 43% increase in - successful policy outcomes. Laws that don't work get fixed or removed. - Accountability is no longer optional." -
-

Independent Policy Research Institute

-
-
-
-
- - {/* CTA Section */} -
-
-

- Transform Your Legislative Process -

-

- Join the growing movement of accountable, measurable, and transparent legislation. The - future of law-making is here. -

-
- - Request Implementation Details - -
-
-
-
- ); -} diff --git a/app/projects/governance/open-pay/page.tsx b/app/projects/governance/open-pay/page.tsx deleted file mode 100644 index 16731f56..00000000 --- a/app/projects/governance/open-pay/page.tsx +++ /dev/null @@ -1,253 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; -import TransactionDemo from '../components/TransactionDemo'; - -/** - * Open Pay - Transparent government transactions with instant verification - * Highlights the value of complete financial transparency in governance - */ - -// Enhanced transaction type with social components and law traceability -type _Transaction = { - id: string; - date: string; - department: string; - recipient: string; - description: string; - amount: number; - status: string; - documents: string[]; - approvals: string[]; - metrics: { - timeToCompletion: string; - costVsBudget: string; - qualityScore: string; - }; - // Social components - socialInteraction?: { - likes: number; - dislikes: number; - comments: number; - shares: number; - donations: number; - }; - // Law traceability - enablingLaw?: { - id: string; - name: string; - date: string; - sponsors: string[]; - link: string; - }; - timeline?: { date: string; event: string }[]; -}; - -export default function OpenPay() { - return ( -
- {/* Hero Section */} -
-
-
-
-

Open Pay

-

- End financial opacity in government forever. A revolutionary transaction system that - gives every taxpayer direct visibility into how their money is spent. -

-
- - See Live Transactions - - - Explore Benefits - -
-
-
-
-
- LIVE -
-
-
-

- Department of Transportation -

-

Transaction #TX-2026-01-15-001

-
-
-

$249,800

-

January 15, 2026

-
-
-

Highway Repair - Section 14A

-
-
- - -
- - 💬 18 comments - -
-
-
-
-
-
- - {/* Benefits Section */} -
-
-

- Why Open Pay is Indispensable -

- -
-
-
-

- Eliminate Wasteful Spending -

-

- Research shows public scrutiny reduces unnecessary government spending by up to 18% - while improving service quality. Open Pay provides the transparency needed to - identify and eliminate waste. -

-
- -
-
🛡️
-

- Prevent Corruption Automatically -

-

- When every dollar is tracked publicly, corruption becomes nearly impossible. Open - Pay's transaction verification system creates an environment where financial - misconduct is immediately visible. -

-
- -
-
📈
-

Restore Public Trust

-

- In regions using similar systems, public trust in government increased by 41%. Open - Pay bridges the gap between taxpayers and their government, creating unprecedented - accountability. -

-
-
-
-
- - {/* Demo Section */} -
-
-
-

See It In Action

-

- Explore, comment on, and verify real government transactions in real-time. This is - what true financial transparency looks like. -

-
- - -
-
- - {/* Implementation Section */} -
-
-
-

- Implementation Without Disruption -

-

- Open Pay can be implemented alongside existing financial systems with minimal - operational changes, making the transition to transparency smooth and cost-effective. -

-
- -
-
-

For Government Leaders

-
    -
  • - - Showcase your commitment to transparency -
  • -
  • - - Reduce audit costs by up to 35% -
  • -
  • - - Improve public approval ratings -
  • -
  • - - Reduce administrative overhead -
  • -
-
- -
-

For Citizens

-
    -
  • - - See exactly how your tax dollars are spent -
  • -
  • - - Provide direct feedback on government spending -
  • -
  • - - Hold elected officials accountable -
  • -
  • - - Participate in spending prioritization -
  • -
-
-
-
-
- - {/* CTA Section */} -
-
-

Ready for True Financial Transparency?

-

- Join the growing movement of governments and citizens embracing complete financial - transparency. The future of public finance is open. -

-
- - Request Implementation Details - -
-
-
-
- ); -} diff --git a/app/projects/governance/open-service/page.tsx b/app/projects/governance/open-service/page.tsx deleted file mode 100644 index 5e0e6411..00000000 --- a/app/projects/governance/open-service/page.tsx +++ /dev/null @@ -1,526 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; - -/** - * Open Service - Competitive government service marketplace - * Transforms public service delivery through competition and transparency - */ -export default function OpenService() { - return ( -
- {/* Hero Section */} -
-
-
-
-

Open Service

-

- Revolutionize government services through competition and real-time feedback. Better - services, lower costs, and total transparency. -

-
- - Explore Marketplace - - - View Economic Impact - -
-
-
-
-
-
-
-

- Waste Management Services -

-

Contract Term: 2025-2028

-
- - Active - -
-
-
-
-
- - Provider Performance - - 92% -
-
-
-
-
-
-
- - Citizen Satisfaction - - 88% -
-
-
-
-
-
-
- Cost Efficiency - 94% -
-
-
-
-
-
-
- $2.3M annual cost -
-
- $420K savings vs. previous -
-
-
-
-
-
-
-
- - {/* Benefits Section */} -
-
-

- The Undeniable Power of Open Service -

- -
-
-
💰
-

- Save 15-32% on Government Services -

-

- Independent studies confirm that competitive bidding for government services reduces - costs by 15-32% while maintaining or improving quality standards. -

-
- -
-
-

- Accelerate Service Improvement -

-

- When providers compete and citizens rate services, quality improves 4x faster than - traditional monopolistic government service delivery models. -

-
- -
-
🔍
-

- Full Contract Transparency -

-

- Every service contract, performance metric, and citizen feedback rating is publicly - visible. No more backroom deals or unaccountable service providers. -

-
-
-
-
- - {/* How It Works Section */} -
-
-
-

How Open Service Works

-

- A revolutionary marketplace that transforms how government services are delivered to - citizens. -

-
- -
-
-
- 1 -
-

Service Definition

-

- Government defines exact service requirements, quality standards, and budgets. - Citizens can comment on and help refine these specifications. -

-
- -
-
- 2 -
-

Competitive Bidding

-

- Service providers—both private companies and public agencies—submit competitive bids - to deliver services at the best possible value. -

-
- -
-
- 3 -
-

Performance Tracking

-

- All providers are measured against clear performance metrics in real-time. Citizens - can view exactly how services are performing against targets. -

-
- -
-
- 4 -
-

Citizen Feedback

-

- Citizens rate and review services directly. Poor performers face contract - termination, while high performers receive bonuses and contract extensions. -

-
-
-
-
- - {/* Marketplace Demo Section */} -
-
-
-

Service Marketplace

-

- In a full implementation, citizens would see all active service contracts with - real-time performance data. -

-
- -
-
-
-
-

Park Maintenance

- - Excellent - -
-

Provider: GreenScape Solutions

-
-
-
-
- Service Quality - 96% -
-
-
-
-
-
-
- Response Time - 92% -
-
-
-
-
-
- Annual Contract: $875K - Savings: $130K -
-
- - View Contract Details → - -
-
-
- -
-
-
-

Street Cleaning

- - Good - -
-

Provider: CleanStreets Inc.

-
-
-
-
- Service Quality - 84% -
-
-
-
-
-
-
- Response Time - 79% -
-
-
-
-
-
- Annual Contract: $1.2M - Savings: $220K -
-
- - View Contract Details → - -
-
-
- -
-
-
-

Public Transit

- - Warning - -
-

Provider: Metro Systems LLC

-
-
-
-
- Service Quality - 68% -
-
-
-
-
-
-
- On-Time Performance - 72% -
-
-
-
-
-
- Annual Contract: $4.8M - Rebid Scheduled -
-
- - View Contract Details → - -
-
-
-
- -
- - View All Service Contracts - - - - -
-
-
- - {/* Case Studies Section */} -
-
-
-

Real-World Success Stories

-

- Communities that have implemented Open Service are seeing remarkable improvements in - service quality and cost-effectiveness. -

-
- -
-
-

Fairview County, USA

-

- After implementing Open Service for 12 municipal services, Fairview County reduced - annual costs by $4.2 million (22%) while improving citizen satisfaction scores from - 64% to 87%. Their most dramatic improvements came in waste management and road - maintenance services. -

-
-
- Cost Reduction - 22% -
-
-
-
-
- Satisfaction Increase - +23% -
-
-
-
-
-
- -
-

East Harbor City

-

- Facing a budget crisis, East Harbor implemented Open Service across all public works - functions. Within 18 months, they achieved $12.8 million in savings (31%), - eliminated their budget deficit, and saw dramatic improvements in service quality as - measured by independent auditors. -

-
-
- Cost Reduction - 31% -
-
-
-
-
- - Service Quality Improvement - - +47% -
-
-
-
-
-
-
-
-
- - {/* FAQ Section */} -
-
-
-

Common Questions

-

- Answers to frequently asked questions about implementing Open Service -

-
- -
-
-

- What happens to government employees? -

-

- Government employees are given the opportunity to form their own service entities - and compete for contracts. Many cities find that employee-run organizations win a - significant portion of contracts due to their institutional knowledge and dedication - to their communities. -

-
- -
-

- How is service quality maintained? -

-

- Service quality typically improves under Open Service due to clear performance - metrics, real-time citizen feedback, and competition between providers. Contracts - include specific quality requirements with penalties for poor performance and - bonuses for excellence. -

-
- -
-

- What services can be included? -

-

- Most government services can be delivered through Open Service, including waste - management, park maintenance, road repair, IT services, facility management, fleet - maintenance, customer service, and many others. Core policy functions generally - remain with government officials. -

-
- -
-

- How long does implementation take? -

-

- Most communities implement Open Service in phases, typically starting with 3-5 - services and expanding over time. Initial implementation takes 3-6 months, with full - implementation across all eligible services usually completed within 18-24 months. -

-
-
-
-
- - {/* CTA Section */} -
-
-

Transform Your Community's Services

-

- Join the growing movement of cities and counties achieving better services at lower - costs through Open Service. Your citizens deserve nothing less. -

-
- - Request Implementation Details - -
-
-
-
- ); -} diff --git a/app/projects/governance/open-vote/page.tsx b/app/projects/governance/open-vote/page.tsx deleted file mode 100644 index 1117e2a7..00000000 --- a/app/projects/governance/open-vote/page.tsx +++ /dev/null @@ -1,536 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; - -/** - * Open Vote - Direct citizen participation in democracy - * Transparent and secure voting for modern digital governance - */ -export default function OpenVote() { - return ( -
- {/* Hero Section */} -
-
-
-
-

Open Vote

-

- Democracy reimagined. Secure, transparent, and auditable voting for the digital age. - Every voice heard, every vote counted. -

-
- - View Active Votes - - - Explore Benefits - -
-
-
-
-
-
-
-
- - - -
-
-

- Community Budget Allocation -

-

Active until: June 15, 2026

-
-
- - Active - -
-
-
-

- How should we allocate the $2.5M community improvement budget? -

-
-
-
- Park Renovations - 42% -
-
-
-
-
-
-
- Road Improvements - 28% -
-
-
-
-
-
-
- Community Center - 18% -
-
-
-
-
-
-
- Public Safety - 12% -
-
-
-
-
-
-
-
- 4,218 votes cast -
- - Cast Your Vote → - -
-
-
-
-
-
-
- - {/* Benefits Section */} -
-
-

- Why Open Vote Transforms Democracy -

- -
-
-
🔐
-

Uncompromising Security

-

- Military-grade encryption, blockchain verification, and decentralized storage ensure - every vote is secure, tamper-proof, and auditable by independent validators. -

-
- -
-
👥
-

Universal Accessibility

-

- Multiple voting options (mobile, web, kiosk, paper) ensure every citizen can - participate, regardless of technical ability, physical limitations, or location. -

-
- -
-
-

- Unprecedented Participation -

-

- Communities using Open Vote experience 3-5x higher participation rates in local - decision-making, creating more representative outcomes and stronger community - buy-in. -

-
-
-
-
- - {/* How It Works Section */} -
-
-
-

How Open Vote Works

-

- A secure, transparent voting platform for anything from community budgets to major - policy decisions. -

-
- -
-
-
- 1 -
-

Issue Submission

-

- Officials or citizens (through petition) can create proposals for community vote, - complete with clear options and supporting documentation. -

-
- -
-
- 2 -
-

Secure Authentication

-

- Voters verify their identity through secure multi-factor authentication, with - privacy-preserving protocols that separate identity from votes. -

-
- -
-
- 3 -
-

Vote Casting

-

- Citizens vote through their preferred method (app, web, kiosk), receiving a unique - receipt code to verify their vote was properly recorded. -

-
- -
-
- 4 -
-

Transparent Results

-

- Results are tallied in real-time and cryptographically verified, with full audit - trails available to independent validators and the public. -

-
-
-
-
- - {/* Active Votes Section */} -
-
-
-

Active Votes

-

- In a full implementation, citizens would see all current voting opportunities, with - real-time results. -

-
- -
-
-
-
-

Community Budget Allocation

- - Active - -
-

Ends in: 3 days, 8 hours

-
-
-

- How should we allocate the $2.5M community improvement budget? -

-
-
-
- Park Renovations - 42% -
-
-
-
-
-
-
- Road Improvements - 28% -
-
-
-
-
-
-
- 4,218 votes cast - 7,500 eligible voters -
-
- - Cast Your Vote → - -
-
-
- -
-
-
-

Downtown Development Plan

- - Active - -
-

Ends in: 5 days, 12 hours

-
-
-

- Which development option should be pursued for the vacant downtown lot? -

-
-
-
- - Mixed-use with affordable housing - - 57% -
-
-
-
-
-
-
- Commercial development - 26% -
-
-
-
-
-
-
- Public plaza and park - 17% -
-
-
-
-
-
-
- 3,542 votes cast - 12,000 eligible voters -
-
- - Cast Your Vote → - -
-
-
-
- -
- - View All Active Votes - - - - -
-
-
- - {/* Case Studies Section */} -
-
-
-

Success Stories

-

- Communities that have implemented Open Vote are experiencing unprecedented levels of - civic engagement. -

-
- -
-
-

Westlake City

-

- After implementing Open Vote for local decisions, Westlake City saw citizen - participation increase from 8% to 42% within six months. The city successfully - resolved long-standing disputes about infrastructure priorities and passed their - first balanced budget in a decade with 78% approval. -

-
-
- Participation Increase - +425% -
-
-
-
-
- - Policy Implementation Speed - - 3.2× faster -
-
-
-
-
-
- -
-

Riverside County

-

- Riverside County implemented Open Vote for their participatory budgeting process, - allowing citizens to directly allocate 15% of discretionary spending. The result was - a 62% reduction in spending disputes, unprecedented unity across political parties, - and measurably higher satisfaction with county services. -

-
-
- - Budget Dispute Reduction - - -62% -
-
-
-
-
- Citizen Satisfaction - +47% -
-
-
-
-
-
-
-
-
- - {/* Security Section */} -
-
-
-

Uncompromising Security

-

- Open Vote meets the highest security standards, exceeding requirements for national - elections. -

-
- -
-
-
🔒
-
-

End-to-End Encryption

-

- Military-grade encryption protects every vote from casting through counting. Even - system administrators cannot view individual votes or manipulate results. -

-
-
- -
-
🔗
-
-

Blockchain Verification

-

- Every vote is recorded on an immutable blockchain, creating a permanent, - tamper-proof record that can be independently verified without compromising voter - privacy. -

-
-
- -
-
👁️
-
-

Independent Auditing

-

- Multiple independent auditors have access to monitor the voting system in - real-time, ensuring compliance with security protocols and verifying accurate vote - tallying. -

-
-
- -
-
🔄
-
-

Voter Verification

-

- Each voter can verify their vote was correctly recorded and counted using a unique - receipt code, without revealing their voting choices to others. -

-
-
-
-
-
- - {/* CTA Section */} -
-
-

Transform Your Community's Decision-Making

-

- Join the growing movement of communities embracing direct democracy through secure - digital voting. When citizens participate, everyone wins. -

-
- - Request Implementation Details - -
-
-
-
- ); -} diff --git a/app/projects/governance/page.tsx b/app/projects/governance/page.tsx deleted file mode 100644 index 1f563b0d..00000000 --- a/app/projects/governance/page.tsx +++ /dev/null @@ -1,45 +0,0 @@ -'use client'; - -import React from 'react'; - -// Import all components -import HeroSection from './components/HeroSection'; -import CoreComponentsSection from './components/CoreComponentsSection'; -import ApplicationsSection from './components/ApplicationsSection'; -import WhitepaperSection from './components/WhitepaperSection'; -import FAQSection from './components/FAQSection'; -import CTASection from './components/CTASection'; - -/** - * Solon - Decentralized Direct Democracy Governance Platform Page - * - * This is the main page component for the Solon governance platform. - * It follows the bot page structure for consistency with other Botsmann offerings. - * - * @module SolonGovernancePage - */ -export default function GovernancePage() { - return ( -
-
- {/* Hero Section */} - - - {/* Core Components Section */} - - - {/* Application Areas Section */} - - - {/* Whitepaper Section */} - - - {/* FAQ Section */} - - - {/* Call-to-Action Section */} - -
-
- ); -} diff --git a/app/projects/governance/portal/components/ActionCenter.tsx b/app/projects/governance/portal/components/ActionCenter.tsx deleted file mode 100644 index 98dcb502..00000000 --- a/app/projects/governance/portal/components/ActionCenter.tsx +++ /dev/null @@ -1,101 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; - -interface PendingAction { - id: string; - type: 'vote' | 'review' | 'delegate'; - title: string; - description: string; - deadline: string; - taxImpact: string; - path: string; -} - -interface ActionCenterProps { - pendingActions: PendingAction[]; -} - -/** - * Displays pending actions requiring user attention - */ -const ActionCenter: React.FC = ({ pendingActions }) => { - return ( -
-

Action Center

-

- Review and act on pending votes, proposals, and delegations that impact your tax dollars. -

- -
- {pendingActions.map((action) => ( -
-
-
-
- - {action.type === 'vote' ? '🗳️' : action.type === 'review' ? '⚖️' : '👥'} - -
-
-

{action.title}

-

{action.description}

-
- - - - - Deadline: {action.deadline} - - - {action.taxImpact} - -
-
-
- - Take Action - -
-
- ))} -
- -
-

Suggestion Box

-

- Have an idea for how taxes should be spent in your community? Submit a suggestion for - consideration. -

-
- - -
-
-
- ); -}; - -export default ActionCenter; diff --git a/app/projects/governance/portal/components/ActivityFeed.tsx b/app/projects/governance/portal/components/ActivityFeed.tsx deleted file mode 100644 index 9845e99d..00000000 --- a/app/projects/governance/portal/components/ActivityFeed.tsx +++ /dev/null @@ -1,101 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; - -interface Activity { - id: string; - type: 'transaction' | 'law' | 'service' | 'vote'; - action: string; - item: string; - time: string; - path: string; - taxImpact: string; -} - -interface ActivityFeedProps { - activities: Activity[]; -} - -/** - * Displays a feed of recent user activities across Solon components - */ -const ActivityFeed: React.FC = ({ activities }) => { - return ( -
-

Recent Activity

-
-
    - {activities.map((activity, activityIdx) => ( -
  • -
    - {activityIdx !== activities.length - 1 ? ( -
    -
  • - ))} -
-
-
- - View all activity - - - - -
-
- ); -}; - -export default ActivityFeed; diff --git a/app/projects/governance/portal/components/ComponentCards.tsx b/app/projects/governance/portal/components/ComponentCards.tsx deleted file mode 100644 index f8c859e2..00000000 --- a/app/projects/governance/portal/components/ComponentCards.tsx +++ /dev/null @@ -1,82 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; - -interface ComponentCard { - id: string; - title: string; - description: string; - icon: string; - color: string; - path: string; -} - -interface ComponentCardsProps { - cards: ComponentCard[]; -} - -/** - * Displays a grid of cards for navigating to different Solon components - */ -const ComponentCards: React.FC = ({ cards }) => { - // Helper for dynamic color classes - const getColorClasses = (color: string) => { - switch (color) { - case 'blue': - return 'bg-blue-50 text-blue-700 border-blue-200'; - case 'amber': - return 'bg-amber-50 text-amber-700 border-amber-200'; - case 'green': - return 'bg-green-50 text-green-700 border-green-200'; - case 'purple': - return 'bg-purple-50 text-purple-700 border-purple-200'; - default: - return 'bg-gray-50 text-gray-700 border-gray-200'; - } - }; - - return ( -
- {cards.map((card) => ( - -
-
-

{card.title}

- {card.icon} -
-
-
-

{card.description}

-
- - Explore - - - - -
-
- - ))} -
- ); -}; - -export default ComponentCards; diff --git a/app/projects/governance/portal/components/ComponentPreview.tsx b/app/projects/governance/portal/components/ComponentPreview.tsx deleted file mode 100644 index fa91647a..00000000 --- a/app/projects/governance/portal/components/ComponentPreview.tsx +++ /dev/null @@ -1,80 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; - -interface ComponentPreviewProps { - icon: string; - title: string; - description: string; - ctaText: string; - path: string; - color: string; -} - -/** - * Preview component for Solon modules with a CTA button - */ -const ComponentPreview: React.FC = ({ - icon, - title, - description, - ctaText, - path, - color, -}) => { - // Get color classes based on component - const getColorClasses = () => { - switch (color) { - case 'amber': - return { - bg: 'bg-amber-100', - text: 'text-amber-600', - button: 'bg-amber-600 hover:bg-amber-700', - }; - case 'green': - return { - bg: 'bg-green-100', - text: 'text-green-600', - button: 'bg-green-600 hover:bg-green-700', - }; - case 'purple': - return { - bg: 'bg-purple-100', - text: 'text-purple-600', - button: 'bg-purple-600 hover:bg-purple-700', - }; - default: - return { - bg: 'bg-blue-100', - text: 'text-blue-600', - button: 'bg-blue-600 hover:bg-blue-700', - }; - } - }; - - const colorClasses = getColorClasses(); - - return ( -
-
- {icon} -
-

{title}

-

{description}

- - {ctaText} - - - - -
- ); -}; - -export default ComponentPreview; diff --git a/app/projects/governance/portal/components/MetricsGrid.tsx b/app/projects/governance/portal/components/MetricsGrid.tsx deleted file mode 100644 index 90eb2f76..00000000 --- a/app/projects/governance/portal/components/MetricsGrid.tsx +++ /dev/null @@ -1,87 +0,0 @@ -'use client'; - -import React from 'react'; - -interface Metric { - label: string; - value: string; - change: string; - trend: 'up' | 'down' | 'neutral'; - tooltip: string; -} - -interface MetricsGridProps { - metrics: Metric[]; -} - -/** - * Displays a grid of metrics with values, trends, and tooltips - */ -const MetricsGrid: React.FC = ({ metrics }) => { - return ( -
- {metrics.map((metric) => ( -
-

{metric.label}

-
-

{metric.value}

-

- {metric.change} - {metric.trend === 'up' && ( - - - - )} - {metric.trend === 'down' && ( - - - - )} -

-
- {/* Tooltip */} - {metric.tooltip && ( -
- {metric.tooltip} -
- )} -
- ))} -
- ); -}; - -export default MetricsGrid; diff --git a/app/projects/governance/portal/components/TabsContainer.tsx b/app/projects/governance/portal/components/TabsContainer.tsx deleted file mode 100644 index b77c545e..00000000 --- a/app/projects/governance/portal/components/TabsContainer.tsx +++ /dev/null @@ -1,78 +0,0 @@ -'use client'; - -import React, { ReactNode } from 'react'; - -interface Tab { - id: string; - label: string; -} - -interface TabsContainerProps { - tabs: Tab[]; - activeTab: string; - onTabChange: (tabId: string) => void; - showFilter: boolean; - filter?: string; - onFilterChange?: (filter: string) => void; - children: ReactNode; -} - -/** - * Container component for tabs with optional filter dropdown - */ -const TabsContainer: React.FC = ({ - tabs, - activeTab, - onTabChange, - showFilter, - filter = 'all', - onFilterChange, - children, -}) => { - return ( -
-
-
-
- {tabs.map((tab) => ( - - ))} -
- - {showFilter && onFilterChange && ( -
- -
- )} -
-
- - {/* Tab Content */} -
{children}
-
- ); -}; - -export default TabsContainer; diff --git a/app/projects/governance/portal/components/TaxFlow.tsx b/app/projects/governance/portal/components/TaxFlow.tsx deleted file mode 100644 index c0de9923..00000000 --- a/app/projects/governance/portal/components/TaxFlow.tsx +++ /dev/null @@ -1,151 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; - -interface TaxCategory { - category: string; - percentage: number; - amount: string; -} - -interface TaxFundedProject { - category: string; - title: string; - impact: string; - contribution: string; - total: string; - link: string; -} - -interface TaxFlowProps { - taxAllocation: TaxCategory[]; - taxFundedProjects: TaxFundedProject[]; - filter: string; - onFilterChange: (filter: string) => void; -} - -/** - * Displays tax allocation breakdown and tax-funded projects - */ -const TaxFlow: React.FC = ({ - taxAllocation, - taxFundedProjects, - filter, - onFilterChange, -}) => { - return ( -
-
-
-

Your Tax Flow

-

- See how your $3,200 in annual taxes is allocated across government services -

-
-
-

- Community Impact: 15,000+ citizens served -

-
-
- - {/* Tax allocation breakdown */} -
-

Tax Allocation Breakdown

-
- {taxAllocation.map((category) => ( -
-
-
- {category.category} - ({category.percentage}%) -
- {category.amount} -
-
-
-
-
- ))} -
-
-

Note: Visualization represents FY 2025-2026 tax allocations.

-
-
- - {/* Recent tax-funded projects */} -
-
-

Recent Tax-Funded Projects

- -
-
-
- {taxFundedProjects.map((project, index) => ( -
-
- - {project.category} - - - Your contribution: {project.contribution} - -
-
{project.title}
-

{project.impact}

-
- Total: {project.total} - - View Details - -
-
- ))} -
-
-
-
- ); -}; - -export default TaxFlow; diff --git a/app/projects/governance/portal/page.tsx b/app/projects/governance/portal/page.tsx deleted file mode 100644 index d0db5238..00000000 --- a/app/projects/governance/portal/page.tsx +++ /dev/null @@ -1,477 +0,0 @@ -'use client'; - -import React, { useState } from 'react'; -import DashboardTransactionDemo from '../components/DashboardTransactionDemo'; -import MetricsGrid from './components/MetricsGrid'; -import ComponentCards from './components/ComponentCards'; -import ActivityFeed from './components/ActivityFeed'; -import TaxFlow from './components/TaxFlow'; -import ActionCenter from './components/ActionCenter'; -import TabsContainer from './components/TabsContainer'; -import ComponentPreview from './components/ComponentPreview'; -import Link from 'next/link'; - -/** - * Portal - Central hub for citizen interaction with Solon - * Provides access to all four key components with interactive features - * and tax-related transparency - */ -export default function Portal() { - const [activeTab, setActiveTab] = useState('overview'); - const [filter, setFilter] = useState('all'); - - // Enhanced metrics with tax-focused data - const metrics = [ - { - label: 'Annual Tax Contribution', - value: '$8,942.58', - change: '+$412.12', - trend: 'up' as const, - tooltip: 'Total tax payments for the current fiscal year', - }, - { - label: 'Tax Allocation Efficiency', - value: '94.3%', - change: '+2.1%', - trend: 'up' as const, - tooltip: 'Percentage of your tax dollars allocated to public goods', - }, - { - label: 'Community Rank', - value: '241', - change: 'of 5280', - trend: 'neutral' as const, - tooltip: 'Your ranking in the Solon community based on contribution and participation', - }, - { - label: 'Participation Score', - value: '78.2', - change: '+12.4', - trend: 'up' as const, - tooltip: 'Score based on voting participation and community engagement', - }, - { - label: 'Tax Return Rate', - value: '4.1%', - change: '-0.3%', - trend: 'down' as const, - tooltip: 'Percentage of taxes returned through efficiency gains', - }, - { - label: 'Budget Influence', - value: 'Medium', - change: '+1 tier', - trend: 'up' as const, - tooltip: 'Your level of influence on budget allocation based on participation', - }, - ]; - - // Tax allocation breakdown for visualization - const taxAllocation = [ - { category: 'Infrastructure', percentage: 32, amount: '$1,024' }, - { category: 'Education', percentage: 28, amount: '$896' }, - { category: 'Healthcare', percentage: 18, amount: '$576' }, - { category: 'Public Safety', percentage: 12, amount: '$384' }, - { category: 'Recreation', percentage: 5, amount: '$160' }, - { category: 'Administration', percentage: 5, amount: '$160' }, - ]; - - // Recent activity for the activity feed - using the interface defined in ActivityFeed.tsx - const recentActivity = [ - { - id: '1', - type: 'transaction' as 'transaction' | 'law' | 'service' | 'vote', - action: 'commented on', - item: 'Highway Repair - Section 14A', - time: '2 hours ago', - path: '/projects/governance/open-pay', - taxImpact: 'Your contribution: $4.12', - }, - { - id: '2', - type: 'law' as 'transaction' | 'law' | 'service' | 'vote', - action: 'reviewed', - item: 'Public Parks Expansion Act', - time: '1 day ago', - path: '/projects/governance/open-law', - taxImpact: 'Affects $160 of your taxes annually', - }, - { - id: '3', - type: 'service' as 'transaction' | 'law' | 'service' | 'vote', - action: 'rated', - item: 'Waste Management Services', - time: '3 days ago', - path: '/projects/governance/open-service', - taxImpact: 'Your contribution: $86.40 annually', - }, - { - id: '4', - type: 'vote' as 'transaction' | 'law' | 'service' | 'vote', - action: 'voted on', - item: 'City Budget Allocation 2026', - time: '1 week ago', - path: '/projects/governance/open-vote', - taxImpact: 'Controls 100% of your tax allocation', - }, - ]; - - // Pending actions for the action center - using the interface defined in ActionCenter.tsx - const pendingActions = [ - { - id: 'pa1', - type: 'vote' as 'vote' | 'review' | 'delegate', - title: 'Transportation Infrastructure Bond', - description: 'Vote on $12M bond for road improvements', - deadline: '3 days', - taxImpact: 'Est. impact: +$28/year for 5 years', - path: '/projects/governance/open-vote', - }, - { - id: 'pa2', - type: 'review' as 'vote' | 'review' | 'delegate', - title: 'School Budget Increase Proposal', - description: 'Review and comment on 8% budget increase', - deadline: '5 days', - taxImpact: 'Est. impact: +$45/year ongoing', - path: '/projects/governance/open-law', - }, - { - id: 'pa3', - type: 'delegate' as 'vote' | 'review' | 'delegate', - title: 'Public Safety Fund Allocation', - description: 'Delegate your vote or vote directly', - deadline: '1 week', - taxImpact: 'Affects $384 of your annual taxes', - path: '/projects/governance/open-vote', - }, - ]; - - // Tax-funded projects for tax flow tab - const taxFundedProjects = [ - { - category: 'Infrastructure', - title: 'Highway Repair - Section 14A', - impact: 'Reduced travel time by 12 minutes for 15,000 daily commuters', - contribution: '$4.12', - total: '$249,800', - link: '/projects/governance/open-pay', - }, - { - category: 'Recreation', - title: 'Community Park Maintenance', - impact: 'Benefits 1,200+ weekly park visitors and ensures safe equipment', - contribution: '$0.94', - total: '$56,750', - link: '/projects/governance/open-pay', - }, - { - category: 'Education', - title: 'School District Technology Upgrade', - impact: 'Upgraded technology for 3,500 students across 8 schools', - contribution: '$20.63', - total: '$1,250,000', - link: '/projects/governance/open-pay', - }, - { - category: 'Public Safety', - title: 'Emergency Response Equipment', - impact: 'Reduced response times by 1.8 minutes in emergency situations', - contribution: '$8.22', - total: '$498,600', - link: '/projects/governance/open-pay', - }, - ]; - - // Component cards for navigation - const componentCards = [ - { - id: 'payments', - title: 'Open Pay', - description: 'Track, verify, and engage with government spending in real-time.', - icon: '💸', - color: 'blue', - path: '/projects/governance/open-pay', - }, - { - id: 'laws', - title: 'Open Law', - description: 'Review, comment on, and track the progress of legislation.', - icon: '⚖️', - color: 'amber', - path: '/projects/governance/open-law', - }, - { - id: 'services', - title: 'Open Service', - description: 'Rate service providers, suggest improvements, and monitor contracts.', - icon: '🛠️', - color: 'green', - path: '/projects/governance/open-service', - }, - { - id: 'voting', - title: 'Open Vote', - description: 'Vote directly on issues that matter and see results in real-time.', - icon: '🗳️', - color: 'purple', - path: '/projects/governance/open-vote', - }, - { - id: 'citizen', - title: 'My Citizen Profile', - description: - 'View and manage your citizen profile, tax contributions, and government benefits.', - icon: '👤', - color: 'blue', - path: '/projects/governance/citizen', - }, - { - id: 'employees', - title: 'Employee Profiles', - description: 'Explore government employees, their roles, and transparency scores.', - icon: '👥', - color: 'green', - path: '/projects/governance/employees', - }, - { - id: 'agencies', - title: 'Agency Directory', - description: 'View government agencies, their budgets, and transparency metrics.', - icon: '🏛️', - color: 'amber', - path: '/projects/governance/agencies', - }, - ]; - - // Tab definitions - const tabs = [ - { id: 'overview', label: 'Recent Activity' }, - { id: 'transactions', label: 'Open Pay' }, - { id: 'tax-flow', label: 'Tax Flow' }, - { id: 'action-center', label: 'Action Center' }, - { id: 'laws', label: 'Open Law' }, - { id: 'services', label: 'Open Service' }, - { id: 'voting', label: 'Open Vote' }, - ]; - - // Component previews - const openLawPreview = { - icon: '⚖️', - title: 'Open Law Platform', - description: - 'Track legislation, comment on proposals, and see the impact of laws in your community and on your taxes.', - ctaText: 'Go to Open Law', - path: '/projects/governance/open-law', - color: 'amber', - }; - - const openServePreview = { - icon: '🛠️', - title: 'Public Service Marketplace', - description: - 'Rate service providers, suggest improvements, and ensure your tax dollars fund quality public services.', - ctaText: 'Explore Services', - path: '/projects/governance/open-service', - color: 'green', - }; - - const demosPreview = { - icon: '🗳️', - title: 'Open Vote Platform', - description: - 'Vote directly on issues that matter in your community and see the results and implementation in real-time.', - ctaText: 'Participate Now', - path: '/projects/governance/open-vote', - color: 'purple', - }; - - // High-value citizen information - const citizenData = { - name: 'Alex Morgan', - id: 'CIT-10045876', - district: 'North Central', - taxContribution: '$15,500', - lastActivity: 'Voted on School Budget Proposal (3 days ago)', - }; - - return ( -
- {/* Portal Header */} -
-
-
-
-

Citizen Portal

-

- Your personal hub for transparent governance and civic participation -

-
-
- - -
-
-
-
- - {/* Main Portal Content */} -
- {/* Citizen Welcome Banner */} -
-
-
-
-
-
- AM -
-
-

- Welcome, {citizenData.name} -

-
-
- Citizen ID: {citizenData.id} - - District: {citizenData.district} -
-
-
-
-
-
- - View My Profile - -
-
-
-
-
-
-
- Tax Contribution -
-
- {citizenData.taxContribution} -
-
- - View Tax History - -
-
-
-
- Agency Distribution -
-
5 Agencies
-
- - Set Advisory Preferences - -
-
-
-
- Active Benefits -
-
3 Benefits
-
- - View All Benefits - -
-
-
-
- Last Activity -
-
{citizenData.lastActivity}
-
- - View Activity - -
-
-
-
-
- - {/* Portal Metrics */} - - - {/* Component Navigation Cards */} - - - {/* Portal Tabs with Filter */} - - {/* Overview Tab - Activity Feed */} - {activeTab === 'overview' && } - - {/* Transactions Tab */} - {activeTab === 'transactions' && } - - {/* Tax Flow Tab */} - {activeTab === 'tax-flow' && ( - - )} - - {/* Action Center Tab */} - {activeTab === 'action-center' && } - - {/* Open Laws Tab */} - {activeTab === 'laws' && } - - {/* Open Serve Tab */} - {activeTab === 'services' && } - - {/* Demos Tab */} - {activeTab === 'voting' && } - -
- - {/* Portal Footer */} -
-
-

- Solon Governance Platform - Empowering citizens through tax transparency and - participation -

-
-
-
- ); -} diff --git a/app/projects/governance/transparency/page.tsx b/app/projects/governance/transparency/page.tsx deleted file mode 100644 index b6b75f14..00000000 --- a/app/projects/governance/transparency/page.tsx +++ /dev/null @@ -1,130 +0,0 @@ -'use client'; - -import React, { useState } from 'react'; -import { TransactionWithTraceability } from '../components/TransactionWithTraceability'; -import AgencyProfile from '../components/AgencyProfile'; -import CitizenProfile from '../components/CitizenProfile'; -import sampleData from '../data/sampleData'; - -const TransparencyDemoPage = () => { - const [activeDemo, setActiveDemo] = useState<'transaction' | 'agency' | 'citizen'>('transaction'); - - return ( -
- {/* Hero Section */} -
-
-

- Government Transparency Suite -

-

- Explore the tools making government more transparent, accountable, and citizen-centric. - See how citizens can track their contributions, how agencies report their operations, - and how transactions are linked to enabling legislation. -

-
-
-
- - - -
-
-
-
-
- - {/* Content */} -
- {/* Feature Description */} -
-
- {activeDemo === 'transaction' && ( -
-

- Enhanced Transaction Traceability -

-

- See how every government expenditure is linked to the laws that enabled it, key - performance indicators (KPIs), complete documentation, and a timeline showing the - entire process from approval to completion. Citizens can comment, like, or raise - concerns about any transaction. -

-
- )} - - {activeDemo === 'agency' && ( -
-

Agency Transparency Profile

-

- Comprehensive view of a government agency's operations, including budget - allocation, spending, key metrics, regulations, team members with transparency - scores, and direct citizen impact. This complete picture helps citizens understand - what agencies do and how effectively they serve the public. -

-
- )} - - {activeDemo === 'citizen' && ( -
-

- Citizen Contribution Tracking -

-

- Citizens can see exactly how their tax contributions are distributed across - different government agencies, set advisory preferences for future distributions, - track benefits they receive, and view their participation in governance. This - creates a personalized view of each citizen's relationship with their government. -

-
- )} -
-
- - {/* Component Demo */} - {activeDemo === 'transaction' && ( -
-
- -
-
- )} - - {activeDemo === 'agency' && } - - {activeDemo === 'citizen' && ( - - )} -
-
- ); -}; - -export default TransparencyDemoPage; diff --git a/app/projects/governance/types.ts b/app/projects/governance/types.ts deleted file mode 100644 index 11decedf..00000000 --- a/app/projects/governance/types.ts +++ /dev/null @@ -1,190 +0,0 @@ -/** - * Governance Types - SSOT - * @module app/projects/governance/types - * - * Single source of truth for all governance-related types. - */ - -// ============================================================================= -// TRANSACTION TYPES -// ============================================================================= - -export interface EnhancedTransaction { - id: string; - date: string; - department: string; - departmentId: string; - recipient: string; - description: string; - amount: number; - status: string; - metrics: { - costPerUnit: string; - timeline: string; - qualityScore: number; - contractCompliance: number; - }; - transparencyScore: number; - socialData: { - publicComments: number; - likes: number; - concerns: number; - shares: number; - }; - enablingLaws: Array<{ - id: string; - name: string; - }>; - documents: Array<{ - id: string; - name: string; - url: string; - }>; - timeline: Array<{ - date: string; - event: string; - description: string; - }>; -} - -export type TransactionTab = 'details' | 'laws' | 'documents' | 'timeline'; - -// ============================================================================= -// AGENCY TYPES -// ============================================================================= - -export interface AgencyTeamMember { - id: string; - name: string; - position: string; - department: string; - imageUrl?: string; - bio: string; - yearsOfService: number; - salary: number; - transparency: number; - responsibilities: string[]; - contact: { - email?: string; - phone?: string; - office?: string; - }; -} - -export interface AgencyRegulation { - id: string; - title: string; - description: string; - dateEnacted: string; - lastUpdated: string; - status: 'active' | 'proposed' | 'revoked'; - purpose: string; - kpis: Array<{ - metric: string; - target: string; - current: string; - status: 'achieved' | 'on-track' | 'at-risk' | 'failed'; - }>; - enablingLawId: string; - enablingLawName: string; -} - -export interface AgencyData { - id: string; - name: string; - description: string; - transparencyScore: number; - establishment: string; - budget: { - total: number; - allocated: number; - spent: number; - fiscalYear: string; - }; - metrics: Array<{ - name: string; - value: string; - change: string; - trend: 'up' | 'down' | 'neutral'; - }>; - transactions: EnhancedTransaction[]; - regulations: AgencyRegulation[]; - team: AgencyTeamMember[]; - citizenImpact: { - servicesProvided: number; - citizensServed: number; - satisfactionScore: number; - avgResponseTime: string; - }; -} - -export type AgencyTab = 'overview' | 'transactions' | 'regulations' | 'team'; - -// ============================================================================= -// CITIZEN TYPES -// ============================================================================= - -export interface TaxPayment { - id: string; - year: string; - amount: number; - date: string; - status: 'Paid' | 'Pending' | 'Late' | 'Disputed'; - type: 'Income' | 'Property' | 'Sales' | 'Other'; - reference: string; -} - -export interface CitizenContribution { - agencyId: string; - agencyName: string; - amount: number; - percentage: number; - transparencyScore: number; - contributionHistory: Array<{ - year: string; - amount: number; - }>; -} - -export interface CitizenBenefit { - id: string; - name: string; - description: string; - amount: number; - frequency: 'One-time' | 'Monthly' | 'Quarterly' | 'Annual'; - provider: string; - providerId: string; - dateReceived: string; - status: 'Active' | 'Pending' | 'Expired'; -} - -export interface CitizenData { - id: string; - name: string; - address: string; - district: string; - registeredSince: string; - avatarUrl?: string; - taxHistory: TaxPayment[]; - contributions: CitizenContribution[]; - benefits: CitizenBenefit[]; - representativeId?: string; - representativeName?: string; - totalTaxContribution: number; - votingDistricts: { - local: string; - state: string; - federal: string; - }; - participationScore: number; -} - -export interface AdvisoryDistribution { - agencyId: string; - agencyName: string; - currentPercentage: number; - advisoryPercentage: number; - difference: number; -} - -export type CitizenTab = 'overview' | 'tax' | 'benefits' | 'advisory'; diff --git a/app/projects/governance/utils.ts b/app/projects/governance/utils.ts deleted file mode 100644 index 921752e0..00000000 --- a/app/projects/governance/utils.ts +++ /dev/null @@ -1,101 +0,0 @@ -/** - * Governance Utilities - SSOT - * @module app/projects/governance/utils - * - * Single source of truth for governance formatting and helper functions. - */ - -// ============================================================================= -// FORMATTING -// ============================================================================= - -/** - * Format a number as USD currency - */ -export const formatCurrency = (amount: number): string => - new Intl.NumberFormat('en-US', { - style: 'currency', - currency: 'USD', - maximumFractionDigits: 0, - }).format(amount); - -// ============================================================================= -// STATUS COLORS -// ============================================================================= - -/** - * Get badge color classes for status text - */ -export const getStatusBadgeColor = (status: string): string => { - const normalizedStatus = status.toLowerCase(); - - // Success states - if (['completed', 'active', 'achieved', 'paid'].includes(normalizedStatus)) { - return 'bg-green-100 text-green-800'; - } - - // In-progress states - if (['in progress', 'in-progress'].includes(normalizedStatus)) { - return 'bg-blue-100 text-blue-800'; - } - - // Warning states - if (['pending', 'proposed', 'on-track', 'at-risk'].includes(normalizedStatus)) { - return 'bg-yellow-100 text-yellow-800'; - } - - // Error states - return 'bg-red-100 text-red-800'; -}; - -/** - * Get solid background color class for KPI status - */ -export const getKpiStatusColor = (status: string): string => { - switch (status) { - case 'achieved': - return 'bg-green-500'; - case 'on-track': - return 'bg-blue-500'; - case 'at-risk': - return 'bg-yellow-500'; - default: - return 'bg-red-500'; - } -}; - -// ============================================================================= -// TRANSPARENCY COLORS -// ============================================================================= - -/** - * Get badge color classes for transparency score - */ -export const getTransparencyBadgeColor = (score: number): string => { - if (score >= 80) return 'bg-green-100 text-green-800'; - if (score >= 60) return 'bg-yellow-100 text-yellow-800'; - return 'bg-red-100 text-red-800'; -}; - -/** - * Get solid background color class for transparency progress bar - */ -export const getTransparencyBarColor = (score: number): string => { - if (score >= 90) return 'bg-green-500'; - if (score >= 70) return 'bg-blue-500'; - if (score >= 50) return 'bg-yellow-500'; - return 'bg-red-500'; -}; - -// ============================================================================= -// TREND COLORS -// ============================================================================= - -/** - * Get text color class for trend indicator - */ -export const getTrendColor = (trend: 'up' | 'down' | 'neutral' | string): string => { - if (trend === 'up') return 'text-green-600'; - if (trend === 'down') return 'text-red-600'; - return 'text-gray-500'; -}; diff --git a/app/projects/governance/whitepaper/page.tsx b/app/projects/governance/whitepaper/page.tsx deleted file mode 100644 index 292474ec..00000000 --- a/app/projects/governance/whitepaper/page.tsx +++ /dev/null @@ -1,312 +0,0 @@ -'use client'; - -import React from 'react'; -import DetailedComponentsNav from '../components/DetailedComponentsNav'; - -/** - * Solon Whitepaper Page - * - * This page presents the full whitepaper for the Solon governance platform, - * including all details about its theoretical foundations, technical implementation, - * and potential impact. - */ -export default function WhitepaperPage() { - return ( -
- {/* Navigation Component */} - - -
-
-

Solon Whitepaper

-

- A Comprehensive Framework for Transparent, Decentralized Governance -

-
- - -
-
- - {/* Table of Contents */} - - - {/* Executive Summary */} -
-

Executive Summary

-

- Solon is a comprehensive governance platform designed to transform how citizens interact - with governments and public institutions. Building on principles of radical - transparency, direct citizen participation, and market-based efficiency, Solon offers a - practical framework for implementing next-generation governance systems that address the - fundamental challenges facing democracies today. -

-

- This whitepaper presents the technical architecture, theoretical foundations, and - practical implementation strategy for Solon. Unlike theoretical governance models, Solon - is designed for real-world adoption with clear migration paths from existing systems, - pragmatic compromise mechanisms, and scalable components that can be implemented - individually or as a complete solution. -

-

- The platform is built around four core components that work together to create a - cohesive governance ecosystem: -

-
    -
  • - Transparent Transaction System - A blockchain-based platform that - makes all government financial transactions visible, immutable, and traceable. -
  • -
  • - Law Transparency Framework - A system that ensures all laws and - regulations have clear purposes, measurable outcomes, and automatic review triggers. -
  • -
  • - Government Function Marketplace - A competitive marketplace for - government services that prioritizes efficiency and innovation. -
  • -
  • - Direct Democracy Voting System - A secure digital platform enabling - citizens to directly participate in decision-making at all levels of government. -
  • -
-

- Through case studies and real-world examples, this whitepaper demonstrates how Solon can - reduce corruption, increase government efficiency, rebuild citizen trust, and create - more responsive public institutions. -

-
- - {/* Introduction */} -
-

Introduction

-

- Democracies worldwide face declining citizen trust, increasing corruption, and - governance systems that have failed to leverage modern technology to improve - transparency and participation. While technological advancements have transformed - virtually every aspect of human society, governance structures remain largely unchanged - from those developed centuries ago. -

-

- Solon addresses these challenges by reimagining governance for the digital age. Named - after the ancient Athenian lawgiver and reformer who laid the foundations for Athenian - democracy, our platform combines cutting-edge technology with time-tested democratic - principles to create a governance framework that is more transparent, efficient, and - responsive to citizen needs. -

-
-

Core Problems Addressed

-
    -
  • - Opacity in Government Operations - Citizens cannot easily access - information about how their tax money is spent or how decisions are made. -
  • -
  • - Limited Accountability - Laws and regulations lack clear success - metrics or review mechanisms. -
  • -
  • - Inefficient Service Delivery - Government monopolies on services - lead to high costs and low innovation. -
  • -
  • - Minimal Citizen Participation - Citizens have few opportunities for - meaningful input beyond occasional elections. -
  • -
-
-

- This whitepaper presents not just a theoretical framework, but a practical roadmap for - implementation, with clear examples of how each component can be adapted to different - contexts and governance levels from local to national. It draws on real-world examples, - case studies, and evidence-based research to demonstrate the feasibility and impact of - the Solon approach. -

-
- - {/* More sections would continue here */} - {/* Theoretical Foundation */} -
-

Theoretical Foundation

-

- Solon's design is grounded in several theoretical frameworks and principles that inform - its architecture and functionality. -

- -

- Principles of Radical Transparency -

-

- At its core, Solon embraces the principle that in a democracy, citizens have a - fundamental right to know how their government operates, how decisions are made, and how - public resources are allocated. This transparency is not just about passive access to - information, but active and accessible presentation of data that enables meaningful - citizen oversight. -

-

- Research has consistently shown that transparency reduces corruption and increases - government efficiency. For example, studies in municipalities that implemented open - budget initiatives saw corruption decrease by up to 30% and citizen satisfaction with - government services increase significantly. -

- -

- Direct Democracy and Delegative Systems -

-

- Solon incorporates elements of both direct democracy and delegative (or liquid) - democracy. While pure direct democracy can be impractical at scale, and representative - democracy often disconnects citizens from decision-making, Solon provides a flexible - middle ground where citizens can directly participate in decisions they care about while - delegating their authority on other matters. -

-

- This approach is supported by research showing that when citizens have meaningful - opportunities to participate in governance, they develop greater political efficacy, - knowledge, and commitment to democratic processes. -

- -

- Market-Based Efficiency -

-

- Solon incorporates market principles to drive efficiency in public service delivery, - drawing on extensive research showing that competitive provision of government services - can reduce costs while maintaining or improving quality. -

-

- Unlike pure privatization, Solon's marketplace model maintains public oversight and - accountability while introducing competition, transparency, and performance-based - contracting to eliminate the inefficiencies of government monopolies. -

- -
-

Theoretical Influences

-
    -
  • - Deliberative Democracy - Emphasis on informed citizen discussion - and decision-making -
  • -
  • - Public Choice Theory - Understanding incentive structures in public - institutions -
  • -
  • - Open Government Data Movement - Principles of accessibility and - usability of public data -
  • -
  • - Blockchain Governance - Distributed consensus mechanisms and - immutable record-keeping -
  • -
  • - Competitive Government - Market-based approaches to public service - delivery -
  • -
-
-
- - {/* Limited preview of other sections */} -
-

- Continue Reading the Full Whitepaper -

-

- The full whitepaper contains detailed explanations of all components, implementation - strategies, case studies, and the complete development roadmap. -

- -
-
-
- ); -} diff --git a/app/projects/page.tsx b/app/projects/page.tsx deleted file mode 100644 index 7e5e4ed1..00000000 --- a/app/projects/page.tsx +++ /dev/null @@ -1,97 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; - -const projects = [ - { - title: 'Techno-Capital', - description: - 'Investing in technology to drive humanity toward technological singularity through commodities, public companies, startups, research, and SubSpace Capital.', - href: '/projects/techno-capital', - image: '/images/techno-capital.jpg', - }, - { - title: 'Governance', - description: - 'Technologies dedicated to maximizing transparency and accountability in government spending, featuring innovative solutions like the Venmo-style spending tracker.', - href: '/projects/governance', - image: '/governance.png', - }, - { - title: 'Credit', - description: - 'Enterprise-grade automation for venture credit operations. Automatically ingest and analyze portfolio company reports, monitor debt metrics, and make data-driven decisions.', - href: '/projects/credit', - image: '/credit.png', - }, - { - title: 'Recurring Fulfillment', - description: - 'AI-powered platform for managing recurring purchases, subscriptions, and services. Automate your replenishment process and inventory management with predictive analytics.', - href: '/projects/shopping', - image: '/shopping.png', - }, - { - title: 'Project Finance', - description: - 'Full transparency project finance and management tool. Start projects, manage funding through donations/credit/investments, track tasks and costs, with complete public visibility.', - href: '/projects/finance', - image: '/finance.png', - }, -]; - -export default function Projects() { - return ( -
-
-
-

Projects

-

- Explore our transformative projects focused on governance, finance, and automation. Each - project represents our commitment to transparency, efficiency, and technological - innovation. -

-
- -
- {projects.map((project) => ( - -
-
-
-

{project.title}

-
-
-
-
-

{project.title}

-

{project.description}

-
- Learn more - - - -
-
- - ))} -
-
-
- ); -} diff --git a/app/projects/shopping/page.tsx b/app/projects/shopping/page.tsx deleted file mode 100644 index faa4f306..00000000 --- a/app/projects/shopping/page.tsx +++ /dev/null @@ -1,309 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; - -export default function RecurringFulfillment() { - return ( -
-
- {/* Header */} -
-

- Recurring Purchases Automation -

-

- Effortlessly manage all your recurring commitments—whether it's physical supplies, - recurring services, or digital subscriptions—in one centralized dashboard. -

-
- - {/* Categories Overview */} -
-
-

Replenishable Goods

-

- Manage supplies, industrial inputs, raw materials, and more. Our predictive analytics - and dynamic scheduling ensure you never run out of essentials. -

-
-
-

Recurring Services

-

- Stay on top of cleaning, safety audits, maintenance, and other services with automated - scheduling and real-time alerts. -

-
-
-

Subscriptions

-

- Track and manage your software subscriptions—from cloud services to SaaS tools like - Calendly—with consolidated billing and automated renewal notifications. -

-
-
- - {/* Dashboard Features */} -
-

Dashboard Features

-
-

- Get a comprehensive view of all your recurring commitments in one place. Customize - thresholds, set reminders, and gain data-driven insights to optimize spending. -

-
    -
  • • Unified overview of goods, services, and subscriptions
  • -
  • • Customizable reorder and renewal thresholds
  • -
  • • Automated alerts and renewal notifications
  • -
  • • Detailed analytics for cost and usage optimization
  • -
  • • Upcoming replenishments dashboard with timeline visualization
  • -
  • • Usage history tracking to identify consumption patterns
  • -
  • • Smart home/IoT device integration for real-time tracking
  • -
  • • Budget management with spending forecasts and alerts
  • -
-

- Whether you're managing a household or a business, our dashboard simplifies recurring - management. -

-
-
- - {/* Interactive Demo */} -
-

See It In Action

-
-
-

Interactive Dashboard Demo

- {/* Replace with actual demo or screenshot */} -
-

- Our intuitive dashboard gives you a bird's-eye view of all your recurring commitments, - with detailed insights just a click away. -

-
-
- - {/* Set Up Your Dashboard */} -
-

Set Up Your Dashboard

-
-
- - -
- -
-
- - {/* Integration Partners */} -
-

Integration Partners

-
-

- Seamlessly connect with the platforms and services you already use: -

-
-
- ERP System -
-
- CRM Platform -
-
- Accounting Software -
-
- IoT Devices -
-
-

- Our open API architecture enables integration with virtually any enterprise system. -

-
-
- - {/* Case Studies */} -
-

- Case Study: Acme Corporation -

-
-

- Acme Corporation, a mid-sized manufacturing firm, streamlined its inventory and - service management using our automated replenishment system. -

-
    -
  • - • Challenge: Inefficient manual reordering and service scheduling - led to downtime. -
  • -
  • - • Solution: Integration with their ERP and service management - systems enabled real-time tracking and dynamic scheduling. -
  • -
  • - • Results: 30% reduction in downtime and 25% decrease in inventory - holding costs within 6 months. -
  • -
-

- Acme Corporation now enjoys a seamless supply chain and service management experience. -

-
-
- -
-

- Case Study: SoftCo Enterprise -

-
-

- SoftCo Enterprise revolutionized its digital subscription management by consolidating - all its recurring software services on our dashboard. -

-
    -
  • - • Challenge: Disorganized subscription renewals and escalating - costs. -
  • -
  • - • Solution: A unified dashboard with automated alerts and - consolidated billing improved their management process. -
  • -
  • - • Results: 40% improvement in renewal compliance and 20% reduction - in subscription overhead in the first quarter. -
  • -
-

- With our system, SoftCo Enterprise now manages all its digital subscriptions - effortlessly. -

-
-
- - {/* Pricing Plans */} -
-

Pricing Plans

-
-
-

Personal

-

- $29/month -

-

Perfect for individuals and home management

-
    -
  • • Up to 50 recurring items
  • -
  • • Basic analytics
  • -
  • • Email notifications
  • -
  • • 30-day history
  • -
- -
- -
-
- POPULAR -
-

Business

-

- $99/month -

-

Ideal for small to medium businesses

-
    -
  • • Up to 500 recurring items
  • -
  • • Advanced analytics
  • -
  • • SMS & email notifications
  • -
  • • 1-year history
  • -
  • • Basic API access
  • -
- -
- -
-

Enterprise

-

Custom

-

For large organizations with complex needs

-
    -
  • • Unlimited recurring items
  • -
  • • Custom analytics
  • -
  • • Custom notifications
  • -
  • • Unlimited history
  • -
  • • Full API access
  • -
  • • Dedicated support
  • -
- -
-
-
- - {/* Data Security */} -
-

Enterprise-Grade Security

-
-

- Your data security is our top priority. Our platform is built with industry-leading - security measures: -

-
    -
  • • SOC 2 Type II certified
  • -
  • • End-to-end encryption
  • -
  • • Role-based access controls
  • -
  • • Regular security audits
  • -
  • • GDPR and CCPA compliant
  • -
-

- We treat your data with the utmost care, applying enterprise-grade security at every - level. -

-
-
- - {/* Get Started / Contact */} -
-

Get Started

-
-

- Ready to transform the way you manage recurring commitments? Whether it's physical - goods, services, or digital subscriptions, our unified dashboard has you covered. -

- - Contact Us - -
-
-
-
- ); -} diff --git a/app/projects/techno-capital/README.md b/app/projects/techno-capital/README.md deleted file mode 100644 index d81c38df..00000000 --- a/app/projects/techno-capital/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# Botsmann Techno-Capital Assets - -This document outlines the image assets needed for the Techno-Capital project section. - -## Required Images - -1. **techno-capital-hero.jpg** - - Location: `/public/images/techno-capital-hero.jpg` - - Description: A hero image showing a futuristic tunnel or underground structure with technological elements, representing the visionary aspect of the Techno-Capital initiative - - Suggested dimensions: 1920x1080px (16:9 aspect ratio) - - Style: Dark theme with OpenAI green accents - -2. **techno-capital.jpg** - - Location: `/public/images/techno-capital.jpg` - - Description: A smaller thumbnail version for the projects listing page - - Suggested dimensions: 800x450px (16:9 aspect ratio) - - Style: Should match the hero image style but optimized for thumbnail display - -## Image Guidelines - -- Images should follow the Botsmann design aesthetic with dark backgrounds and OpenAI green (#10A37F) accents -- Images should convey the technological singularity and underground/subterranean themes -- For placeholder purposes, solid color blocks with text can be used until final images are created -- Consider using AI image generation tools (like DALL-E or Midjourney) with prompts like: - - "Futuristic underground tunnel with green technological lighting, digital interfaces, dark aesthetic" - - "Technological singularity concept visualization with dark background and emerald green accents" - -## Image Directory Setup - -The directory structure should be: - -``` -/public - /images - techno-capital-hero.jpg - techno-capital.jpg -``` - -You can create placeholder images using online tools or basic graphic design software until final assets are ready. diff --git a/app/projects/techno-capital/page.tsx b/app/projects/techno-capital/page.tsx deleted file mode 100644 index c91ec6c6..00000000 --- a/app/projects/techno-capital/page.tsx +++ /dev/null @@ -1,488 +0,0 @@ -'use client'; - -import React, { useState } from 'react'; -import { NextSection } from '@/components/navigation/NextSection'; - -export default function TechnoCapital() { - const [formSubmitted, setFormSubmitted] = useState(false); - const [submitting, setSubmitting] = useState(false); - const [formError, setFormError] = useState(''); - - const handleSubmit = async (e: React.FormEvent) => { - e.preventDefault(); - setSubmitting(true); - setFormError(''); - - // Simulating form submission - try { - await new Promise((resolve) => setTimeout(resolve, 1500)); - setFormSubmitted(true); - } catch (error) { - setFormError('There was an error submitting the form. Please try again.'); - } finally { - setSubmitting(false); - } - }; - - return ( -
-
- {/* Title and Overview */} -
-
- - Coming Soon - - Investment fund launching 2026 -
-

- Botsmann Techno-Capital (BTC) -

-

- Accelerating humanity toward technological singularity through strategic investments in - commodities, research, and subterranean development. -

-
- - {/* Features Section */} -
-
-

Investment Focus

-
    -
  • - - - - - Strategic commodities: uranium, rare earths, copper, and other critical resources - -
  • -
  • - - - - - Advanced research funding for AI, fusion energy, and longevity science - -
  • -
  • - - - - - Subterranean and space-based real estate development via SubSpace Capital - -
  • -
  • - - - - - Long-term investment horizon (20+ years) focused on singularity acceleration - -
  • -
-
- -
-

Our Vision

-

- Botsmann Techno-Capital is dedicated to accelerating humanity's progress toward - technological singularity—when artificial intelligence surpasses human capabilities - and leads to unprecedented growth and advancement. -

-

- Unlike traditional investment funds that focus on quarterly returns or existing - companies, BTC strategically invests in the foundational resources, physical - infrastructure, and breakthrough research needed to support this technological - transformation. -

-

- By focusing on commodities and physical infrastructure rather than companies, we - ensure direct control of the critical resources required for technological - advancement. -

-
-
- - {/* SubSpace Capital Section */} -
-

SubSpace Capital

-
-
-
- - - -
-

Our Real Estate Division

-
-

- SubSpace Capital is our specialized real estate division that invests in the most - undervalued property class: subterranean real estate and extraterrestrial development. - We focus on: -

- -
-
-

- Earth-Based Underground Properties -

-
    -
  • - - - - Climate-resilient bunkers and habitation facilities -
  • -
  • - - - - Subterranean data centers with natural cooling -
  • -
  • - - - - Underground transportation and logistics networks -
  • -
-
- -
-

Space-Based Development

-
    -
  • - - - - Lunar and Martian subsurface habitat technologies -
  • -
  • - - - - Asteroid mining rights and extraction infrastructure -
  • -
  • - - - - Early claims on extraterrestrial real estate resources -
  • -
-
-
- -
-

- "The future of humanity may lie beneath the surface—of Earth and beyond. By - developing subterranean and space-based habitats, we're creating the resilient - infrastructure needed for the coming technological singularity." -

-
-
-
- - {/* Investment Approach */} -
-

Investment Approach

-
-
    -
  1. -
    - 1 -
    -
    -

    Strategic Resource Acquisition

    -

    - We identify and acquire commodities and physical assets that will become - increasingly critical for technological advancement. -

    -
    -
  2. -
  3. -
    - 2 -
    -
    -

    Research Integration

    -

    - We fund breakthrough research that enhances the value of our physical assets and - accelerates singularity development. -

    -
    -
  4. -
  5. -
    - 3 -
    -
    -

    Infrastructure Creation

    -

    - We develop the physical and digital infrastructure needed to support exponential - technological growth. -

    -
    -
  6. -
- -
-

Trading Strategy

-

- For commodity investments, we maintain a balanced portfolio approach: -

-
    -
  • - - - - Long positions (20–40%) for building strategic reserves -
  • -
  • - - - - Short positions (5–50%) to capitalize on market inefficiencies -
  • -
-
-
-
- - {/* Waitlist Section */} -
-
-

Join Our Investor Waitlist

-

- Botsmann Techno-Capital is preparing to launch. Join our waitlist to be among the - first to invest in humanity's technological future. -

- - {formSubmitted ? ( -
- - - -

Thank You!

-

- You've been added to our waitlist. We'll notify you when Botsmann Techno-Capital - launches. -

-
- ) : ( -
-
- - -
-
- - -
-
- - -
-
- - -
- - {formError &&

{formError}

} -
- )} -
-
- - -
-
- ); -} diff --git a/app/solutions/businesses/[slug]/page.tsx b/app/solutions/businesses/[slug]/page.tsx deleted file mode 100644 index ccd32c46..00000000 --- a/app/solutions/businesses/[slug]/page.tsx +++ /dev/null @@ -1,21 +0,0 @@ -'use client'; - -import React from 'react'; -import { useParams } from 'next/navigation'; -import solutionsData from '@/data/solutions.json'; -import SolutionLayout, { SolutionData } from '@/components/SolutionLayout'; - -export default function SolutionPage() { - const { slug } = useParams(); - const category = 'businesses'; // Hard-coded since this file is under businesses - - const solutionData: SolutionData | undefined = solutionsData[category]?.find( - (s: SolutionData) => s.slug === slug, - ); - - if (!solutionData) { - return
Solution not found
; - } - - return ; -} diff --git a/app/solutions/businesses/page.tsx b/app/solutions/businesses/page.tsx deleted file mode 100644 index 4d2b048b..00000000 --- a/app/solutions/businesses/page.tsx +++ /dev/null @@ -1,32 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; -import solutionsData from '@/data/solutions.json'; - -export default function BusinessesSolutions() { - const genericInfo = - 'Our AI solutions for businesses help optimize operations, enhance decision-making, and streamline processes for enterprise needs.'; - const businesses = solutionsData.businesses; - - return ( -
-
-

Solutions for Businesses

-

{genericInfo}

-
-
- {businesses.map((solution: { slug: string; title: string; overview: string }) => ( - -

{solution.title}

-

{solution.overview}

- - ))} -
-
- ); -} diff --git a/app/solutions/governments/[slug]/page.tsx b/app/solutions/governments/[slug]/page.tsx deleted file mode 100644 index 632085b4..00000000 --- a/app/solutions/governments/[slug]/page.tsx +++ /dev/null @@ -1,21 +0,0 @@ -'use client'; - -import React from 'react'; -import { useParams } from 'next/navigation'; -import solutionsData from '@/data/solutions.json'; -import SolutionLayout, { SolutionData } from '@/components/SolutionLayout'; - -export default function SolutionPage() { - const { slug } = useParams(); - const category = 'governments'; // Hard-coded since this file is under governments - - const solutionData: SolutionData | undefined = solutionsData[category]?.find( - (s: SolutionData) => s.slug === slug, - ); - - if (!solutionData) { - return
Solution not found
; - } - - return ; -} diff --git a/app/solutions/governments/page.tsx b/app/solutions/governments/page.tsx deleted file mode 100644 index b6658b53..00000000 --- a/app/solutions/governments/page.tsx +++ /dev/null @@ -1,32 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; -import solutionsData from '@/data/solutions.json'; - -export default function GovernmentsSolutions() { - const genericInfo = - 'Our solutions for governments focus on transparency, efficiency, and public accountability through advanced AI tools.'; - const governments = solutionsData.governments; - - return ( -
-
-

Solutions for Governments

-

{genericInfo}

-
-
- {governments.map((solution: { slug: string; title: string; overview: string }) => ( - -

{solution.title}

-

{solution.overview}

- - ))} -
-
- ); -} diff --git a/app/solutions/individuals/[slug]/page.tsx b/app/solutions/individuals/[slug]/page.tsx deleted file mode 100644 index d505386e..00000000 --- a/app/solutions/individuals/[slug]/page.tsx +++ /dev/null @@ -1,21 +0,0 @@ -'use client'; - -import React from 'react'; -import { useParams } from 'next/navigation'; -import solutionsData from '@/data/solutions.json'; -import SolutionLayout, { SolutionData } from '@/components/SolutionLayout'; - -export default function SolutionPage() { - const { slug } = useParams(); - const category = 'individuals'; // Hard-coded since this file is under individuals - - const solutionData: SolutionData | undefined = solutionsData[category]?.find( - (s: SolutionData) => s.slug === slug, - ); - - if (!solutionData) { - return
Solution not found
; - } - - return ; -} diff --git a/app/solutions/individuals/page.tsx b/app/solutions/individuals/page.tsx deleted file mode 100644 index e83390de..00000000 --- a/app/solutions/individuals/page.tsx +++ /dev/null @@ -1,32 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; -import solutionsData from '@/data/solutions.json'; - -export default function IndividualsSolutions() { - const genericInfo = - 'We provide personalized AI solutions for individuals to manage daily life, learn new skills, and get tailored insights.'; - const individuals = solutionsData.individuals; - - return ( -
-
-

Solutions for Individuals

-

{genericInfo}

-
-
- {individuals.map((solution: { slug: string; title: string; overview: string }) => ( - -

{solution.title}

-

{solution.overview}

- - ))} -
-
- ); -} diff --git a/app/solutions/page.tsx b/app/solutions/page.tsx deleted file mode 100644 index 2b2e5251..00000000 --- a/app/solutions/page.tsx +++ /dev/null @@ -1,168 +0,0 @@ -import React from 'react'; -import Link from 'next/link'; -import type { Route } from 'next'; -import solutions from '@/data/solutions.json'; - -export default function SolutionsPage() { - const allSolutions = [ - ...solutions.individuals.map((s) => ({ ...s, category: 'individuals' })), - ...solutions.businesses.map((s) => ({ ...s, category: 'businesses' })), - ...solutions.governments.map((s) => ({ ...s, category: 'governments' })), - ]; - - return ( -
-
-

AI Solutions for Everyone

-

- At Botsmann, we develop cutting-edge AI solutions tailored to the unique needs of - individuals, businesses, and governments. Our innovative technologies help automate tasks, - enhance productivity, and unlock new possibilities. -

-
- - {/* Customer Categories */} -
- {/* Individuals */} -
-
-
- Individuals -
-
-
-

For Individuals

-

- Enhance your personal life with AI assistants that help you shop smarter, learn - languages faster, and get expert advice on legal, medical, and creative matters. -

- - Learn more - - - - -
-
- - {/* Businesses */} -
- - Coming Soon - -
-
- Businesses -
-
-
-

For Businesses

-

- Streamline operations, increase efficiency, and gain valuable insights with our AI - solutions designed specifically for businesses of all sizes. -

- - Learn more - - - - -
-
- - {/* Governments */} -
- - Coming Soon - -
-
- Governments -
-
-
-

For Governments

-

- Enhance transparency, improve public services, and optimize resource allocation with - our specialized AI tools designed for government agencies and public institutions. -

- - Learn more - - - - -
-
-
- - {/* All Solutions Section */} -
-

All Solutions

-
- {allSolutions.map((solution) => ( - - {solution.slug !== 'swiss-german-teacher' && ( - - Coming Soon - - )} -
-

{solution.title}

-

{solution.overview}

-
- - Learn more → - - - ))} -
-
- - {/* Call to action */} -
-

- Ready to Transform Your Experience? -

-

- Contact us today to discuss how our AI solutions can be tailored to your specific needs - and challenges. -

- - Get in Touch - -
-
- ); -} diff --git a/components/SolutionLayout.tsx b/components/SolutionLayout.tsx deleted file mode 100644 index 3252a448..00000000 --- a/components/SolutionLayout.tsx +++ /dev/null @@ -1,91 +0,0 @@ -import React from 'react'; - -export interface SolutionData { - slug: string; - title: string; - overview: string; - features: string[]; - details: string; - tryLink?: string; - customSections?: { - caseStudies?: string[]; - faq?: string[]; - testimonials?: string[]; - [key: string]: string[] | undefined; - }; -} - -interface SolutionLayoutProps { - data: SolutionData; - renderCustomHeader?: () => React.ReactNode; -} - -export default function SolutionLayout({ data, renderCustomHeader }: SolutionLayoutProps) { - return ( -
- {/* Header Section */} - {renderCustomHeader ? ( - renderCustomHeader() - ) : ( -

{data.title}

- )} - - {/* Overview Section */} -

{data.overview}

- - {/* Features Section */} - {data.features && data.features.length > 0 && ( -
-

Features

-
    - {data.features.map((feature, idx) => ( -
  • {feature}
  • - ))} -
-
- )} - - {/* How It Works / Details Section */} -
-

How It Works

-

{data.details}

-
- - {/* Custom Sections: Case Studies */} - {data.customSections?.caseStudies && ( -
-

Case Studies

- {data.customSections.caseStudies.map((study, idx) => ( -

- {study} -

- ))} -
- )} - - {/* Custom Sections: FAQ */} - {data.customSections?.faq && ( -
-

FAQ

- {data.customSections.faq.map((question, idx) => ( -

- Q: {question} -

- ))} -
- )} - - {/* Custom Sections: Testimonials */} - {data.customSections?.testimonials && ( -
-

Testimonials

- {data.customSections.testimonials.map((testimonial, idx) => ( -

- "{testimonial}" -

- ))} -
- )} -
- ); -} diff --git a/components/governance/ProfileHeader.tsx b/components/governance/ProfileHeader.tsx deleted file mode 100644 index 26332764..00000000 --- a/components/governance/ProfileHeader.tsx +++ /dev/null @@ -1,70 +0,0 @@ -'use client'; - -import { type FC } from 'react'; -import { Avatar } from '@/components/shared'; - -export type GradientVariant = 'blue-green' | 'blue-purple' | 'purple-pink' | 'green-teal'; - -interface ProfileHeaderProps { - name: string; - id: string; - idLabel?: string; - subtitle?: string; - avatarUrl?: string; - gradient?: GradientVariant; - badge?: { - label: string; - value: string | number; - }; -} - -const gradientClasses: Record = { - 'blue-green': 'from-blue-600 to-green-600', - 'blue-purple': 'from-blue-600 to-purple-600', - 'purple-pink': 'from-purple-600 to-pink-600', - 'green-teal': 'from-green-600 to-teal-600', -} as const; - -/** - * Reusable profile header component for governance profiles - * Used by CitizenProfile, AgencyProfile, and EmployeeProfile - * - * SSOT for profile header styling across governance module - */ -export const ProfileHeader: FC = ({ - name, - id, - idLabel = 'ID', - subtitle, - avatarUrl, - gradient = 'blue-green', - badge, -}) => { - const gradientClass = gradientClasses[gradient]; - - return ( -
-
-
-
- -
-

{name}

-

- {idLabel}: {id} -

- {subtitle &&

{subtitle}

} -
-
- {badge && ( -
- - {badge.label}: {badge.value} - -
- )} -
-
-
- ); -}; diff --git a/components/governance/index.ts b/components/governance/index.ts deleted file mode 100644 index 8d07f569..00000000 --- a/components/governance/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Governance shared components - * @module components/governance - * - * Components for Swiss governance transparency features - */ -export { ProfileHeader } from './ProfileHeader'; diff --git a/components/navigation/NextSection.tsx b/components/navigation/NextSection.tsx deleted file mode 100644 index 3c892f21..00000000 --- a/components/navigation/NextSection.tsx +++ /dev/null @@ -1,24 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; - -interface NextSectionProps { - nextPage: string; - title: string; - description: string; -} - -export function NextSection({ nextPage, title, description }: NextSectionProps) { - return ( -
-

Continue Your Journey

- -
-

{title}

-

{description}

-
- -
- ); -} diff --git a/components/navigation/index.ts b/components/navigation/index.ts index ce1c27ef..f1a2ba08 100644 --- a/components/navigation/index.ts +++ b/components/navigation/index.ts @@ -10,7 +10,6 @@ export { MegaMenuItem } from './MegaMenuItem'; export { MobileNav } from './MobileNav'; // Bot page navigation components -export { NextSection } from './NextSection'; export { BotSwitcher } from './BotSwitcher'; export { SiteMenuDropdown } from './SiteMenuDropdown'; diff --git a/data/solutions.json b/data/solutions.json deleted file mode 100644 index 1c245496..00000000 --- a/data/solutions.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "individuals": [ - { - "slug": "personal-knowledge-base", - "title": "Personal Knowledge Base", - "overview": "Chat with your personal documents, notes, and research using AI — all processed locally on your device.", - "features": [ - "Upload PDFs, documents, and notes to your private knowledge base", - "Ask questions and get answers with cited sources", - "Choose your AI model: free Groq, premium OpenAI, or local Ollama", - "Your data never leaves your device when using local mode", - "Search across all your documents instantly" - ], - "details": "Stop losing track of important information buried in documents. Upload your research papers, notes, contracts, or any text documents and chat with them naturally. The AI finds relevant passages and answers your questions with precise citations. Perfect for students, researchers, and anyone who needs to manage large amounts of information privately.", - "tryLink": "/documents" - }, - { - "slug": "medical-records-assistant", - "title": "Medical Records Assistant", - "overview": "Securely manage and understand your medical records with AI that keeps your health data private.", - "features": [ - "Upload medical reports, lab results, and doctor notes", - "Get plain-language explanations of medical terminology", - "Track health trends across multiple documents", - "100% private — data stays on your device with local AI", - "Prepare informed questions for doctor visits" - ], - "details": "Understanding your own health data should not require a medical degree. Upload your medical records to your private knowledge base and ask questions in plain language. The AI explains complex terminology, identifies trends in your lab results, and helps you prepare for doctor appointments. When you run Botsmann locally, your sensitive health information never leaves your device.", - "tryLink": "/documents" - }, - { - "slug": "legal-document-assistant", - "title": "Legal Document Assistant", - "overview": "Understand contracts, agreements, and legal documents without expensive attorney fees.", - "features": [ - "Upload contracts, leases, and legal documents", - "Get explanations of complex legal clauses", - "Compare multiple versions of documents", - "Identify important terms and obligations", - "Completely private — run locally for sensitive documents" - ], - "details": "Before signing that contract or lease, understand exactly what you are agreeing to. Upload legal documents and ask questions in plain language. The AI highlights important clauses, explains legal terminology, and helps you identify potential concerns. For sensitive legal matters, run Botsmann locally with Ollama for complete privacy.", - "tryLink": "/documents" - }, - { - "slug": "swiss-german-teacher", - "title": "Heidi – Your Swiss German Companion", - "overview": "Master Swiss German with Heidi - Your AI companion for High German and Züridütsch.", - "features": [ - "Adapts to You: Tables for words, replies for sentences—built for your needs.", - "Dual-Language Power: High German and Züridütsch, side by side.", - "Real Context: Words and phrases come alive with examples.", - "Instant Writing: Emails and texts crafted in both languages.", - "Swiss Culture: Insider tips on history and social life.", - "Local Smarts: Navigate Switzerland like you belong." - ], - "details": "Type a word, and Heidi delivers a table comparing High German and Züridütsch with real-life examples. Send a sentence or email, and get a tailored response to communicate effortlessly. With cultural tips and local know-how, she's your shortcut to thriving in Switzerland.", - "tryLink": "https://chatgpt.com/g/g-rni41WTSh-heidi-tell" - } - ], - "businesses": [ - { - "slug": "enterprise-knowledge-base", - "title": "Enterprise Knowledge Base", - "overview": "Deploy a private AI knowledge base on your infrastructure — your company data stays in your control.", - "features": [ - "Deploy on your own servers or private cloud", - "No data sent to external AI providers", - "Choose your AI model based on needs and budget", - "Role-based access control for sensitive documents", - "Full audit trail of all AI interactions" - ], - "details": "Enterprise knowledge is your competitive advantage — keep it secure. Deploy Botsmann on your infrastructure and let employees chat with company documentation, policies, and procedures without sending sensitive data to external AI services. We provide consulting to set up and customize for your specific needs.", - "customSections": { - "deployment": [ - "On-premises installation", - "Private cloud deployment", - "Hybrid configurations" - ], - "consulting": [ - "Infrastructure assessment", - "Custom model training", - "Integration with existing systems" - ] - }, - "tryLink": "/documents" - }, - { - "slug": "contract-analysis-platform", - "title": "Contract Analysis Platform", - "overview": "Accelerate contract review with AI that processes documents on your own infrastructure.", - "features": [ - "Upload and analyze contracts in seconds", - "Extract key terms and obligations automatically", - "Compare contracts against standard templates", - "Deploy on-premises for maximum security", - "Integrate with existing document management systems" - ], - "details": "Legal teams spend countless hours reviewing contracts. Deploy Botsmann on your infrastructure to automatically extract key terms, identify unusual clauses, and compare against standard templates. All processing happens on your servers — client confidentiality is never compromised.", - "tryLink": "/documents" - }, - { - "slug": "compliance-documentation-system", - "title": "Compliance Documentation System", - "overview": "Manage regulatory compliance with AI that keeps sensitive compliance data on your infrastructure.", - "features": [ - "Upload and organize compliance documentation", - "Ask questions about regulatory requirements", - "Track document versions and changes", - "Generate compliance reports from your knowledge base", - "GDPR and SOC2 compliant by design" - ], - "details": "Regulatory compliance requires managing vast amounts of documentation. Deploy Botsmann to create a searchable knowledge base of regulations, policies, and procedures. Employees can ask questions in natural language and get accurate answers with citations to source documents.", - "tryLink": "/documents" - }, - { - "slug": "technical-documentation-hub", - "title": "Technical Documentation Hub", - "overview": "Help engineering teams find answers in technical documentation instantly with private AI.", - "features": [ - "Index all technical documentation in one place", - "Natural language search across codebases and docs", - "Onboard new engineers faster with AI assistance", - "Keep proprietary technical knowledge secure", - "Deploy on your development infrastructure" - ], - "details": "Engineering teams waste hours searching through documentation. Deploy Botsmann to create a searchable knowledge base of technical docs, API references, and internal wikis. New engineers can ask questions and get answers instantly, reducing onboarding time dramatically.", - "tryLink": "/documents" - } - ], - "governments": [ - { - "slug": "citizen-services-assistant", - "title": "Citizen Services Assistant", - "overview": "Help citizens find answers to government services questions with AI deployed on government infrastructure.", - "features": [ - "Deploy on government-controlled infrastructure", - "Index all public-facing documentation", - "Answer citizen questions 24/7", - "Multiple language support", - "Complete data sovereignty — no external AI services" - ], - "details": "Citizens should not need to navigate complex government websites to find answers. Deploy Botsmann on government infrastructure to create an AI assistant that answers questions about services, procedures, and requirements. All data stays on government servers — complete data sovereignty.", - "tryLink": "/documents" - }, - { - "slug": "policy-research-platform", - "title": "Policy Research Platform", - "overview": "Help policy researchers search and analyze legislation, reports, and research with private AI.", - "features": [ - "Index legislation, reports, and policy documents", - "Natural language search across all materials", - "Compare policy approaches across jurisdictions", - "Generate summaries of complex documents", - "Secure deployment for classified materials" - ], - "details": "Policy development requires synthesizing vast amounts of information. Deploy Botsmann to create a searchable knowledge base of legislation, research reports, and policy documents. Researchers can ask complex questions and get answers with citations to source materials.", - "tryLink": "/documents" - }, - { - "slug": "internal-knowledge-management", - "title": "Internal Knowledge Management", - "overview": "Help government employees find answers in internal documentation and procedures with secure AI.", - "features": [ - "Deploy on government networks (air-gapped if needed)", - "Index internal policies, procedures, and guidelines", - "Reduce time spent searching for information", - "Maintain complete security and compliance", - "Audit all AI interactions for accountability" - ], - "details": "Government employees often struggle to find the right policy or procedure. Deploy Botsmann on internal government networks to create a searchable knowledge base of policies, procedures, and institutional knowledge. Even air-gapped deployments are supported with local Ollama models.", - "tryLink": "/documents" - } - ] -} diff --git a/lib/governance/index.ts b/lib/governance/index.ts deleted file mode 100644 index 36da52e0..00000000 --- a/lib/governance/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Governance utility exports -export * from './utils'; diff --git a/lib/governance/utils.ts b/lib/governance/utils.ts deleted file mode 100644 index 84596b92..00000000 --- a/lib/governance/utils.ts +++ /dev/null @@ -1,68 +0,0 @@ -// Governance utility functions - -// Re-export formatCurrency from shared lib for backwards compatibility -export { formatCurrency } from '@/lib/format'; - -/** - * Get the appropriate Tailwind classes for a transparency score badge - */ -export const getTransparencyScoreClasses = (score: number): string => { - if (score >= 90) return 'bg-green-100 text-green-800'; - if (score >= 70) return 'bg-blue-100 text-blue-800'; - if (score >= 50) return 'bg-yellow-100 text-yellow-800'; - return 'bg-red-100 text-red-800'; -}; - -/** - * Get the appropriate Tailwind classes for a transparency score progress bar - */ -export const getTransparencyBarClasses = (score: number): string => { - if (score >= 90) return 'bg-green-500'; - if (score >= 70) return 'bg-blue-500'; - if (score >= 50) return 'bg-yellow-500'; - return 'bg-red-500'; -}; - -/** - * Get status badge classes based on status type - */ -export const getStatusBadgeClasses = (status: string): string => { - const statusMap: Record = { - Paid: 'bg-green-100 text-green-800', - Active: 'bg-green-100 text-green-800', - Completed: 'bg-green-100 text-green-800', - Pending: 'bg-yellow-100 text-yellow-800', - Late: 'bg-red-100 text-red-800', - Flagged: 'bg-red-100 text-red-800', - Disputed: 'bg-gray-100 text-gray-800', - Expired: 'bg-gray-100 text-gray-800', - }; - return statusMap[status] || 'bg-gray-100 text-gray-800'; -}; - -/** - * Get difference indicator classes (positive/negative/neutral) - */ -export const getDifferenceClasses = (difference: number): string => { - if (difference > 0) return 'text-green-600'; - if (difference < 0) return 'text-red-600'; - return 'text-gray-600'; -}; - -/** - * Get allocation total indicator classes - */ -export const getAllocationClasses = (total: number): string => { - if (total > 100) return 'text-red-600'; - if (total < 100) return 'text-yellow-600'; - return 'text-green-600'; -}; - -/** - * Get allocation bar background classes - */ -export const getAllocationBarClasses = (total: number): string => { - if (total > 100) return 'bg-red-500'; - if (total < 100) return 'bg-yellow-500'; - return 'bg-green-500'; -}; diff --git a/lib/routes.ts b/lib/routes.ts index 7062cea0..0c1ee8be 100644 --- a/lib/routes.ts +++ b/lib/routes.ts @@ -31,7 +31,6 @@ export const ROUTES = { SETTINGS: '/settings', INFRASTRUCTURE: '/infrastructure', // Other - PROJECTS: '/projects', AUTH: { SIGNIN: '/auth/signin', SIGNUP: '/auth/signup', diff --git a/types/governance.ts b/types/governance.ts deleted file mode 100644 index b62e7e3e..00000000 --- a/types/governance.ts +++ /dev/null @@ -1,109 +0,0 @@ -// Governance-related type definitions -// Extracted from CitizenProfile.tsx and AgencyProfile.tsx for SSOT - -export interface TaxPayment { - id: string; - year: string; - amount: number; - date: string; - status: 'Paid' | 'Pending' | 'Late' | 'Disputed'; - type: 'Income' | 'Property' | 'Sales' | 'Other'; - reference: string; -} - -export interface CitizenContribution { - agencyId: string; - agencyName: string; - amount: number; - percentage: number; - transparencyScore: number; - contributionHistory: Array<{ - year: string; - amount: number; - }>; -} - -export interface CitizenBenefit { - id: string; - name: string; - description: string; - amount: number; - frequency: 'One-time' | 'Monthly' | 'Quarterly' | 'Annual'; - provider: string; - providerId: string; - dateReceived: string; - status: 'Active' | 'Pending' | 'Expired'; -} - -export interface CitizenData { - id: string; - name: string; - address: string; - district: string; - registeredSince: string; - avatarUrl?: string; - taxHistory: TaxPayment[]; - contributions: CitizenContribution[]; - benefits: CitizenBenefit[]; - representativeId?: string; - representativeName?: string; - totalTaxContribution: number; - votingDistricts: { - local: string; - state: string; - federal: string; - }; - participationScore: number; // 0-100 based on voting, feedback, etc. -} - -export interface AdvisoryDistribution { - agencyId: string; - agencyName: string; - currentPercentage: number; - advisoryPercentage: number; - difference: number; -} - -// Agency-related types -export interface BudgetItem { - category: string; - amount: number; - percentage: number; -} - -export interface Transaction { - id: string; - date: string; - description: string; - amount: number; - category: string; - vendor?: string; - status: 'Completed' | 'Pending' | 'Flagged'; -} - -export interface PerformanceMetric { - name: string; - value: number; - target: number; - unit: string; - trend: 'up' | 'down' | 'stable'; -} - -export interface AgencyData { - id: string; - name: string; - description: string; - budget: number; - budgetBreakdown: BudgetItem[]; - transactions: Transaction[]; - performanceMetrics: PerformanceMetric[]; - transparencyScore: number; - headCount: number; - yearEstablished: number; - website?: string; - contactEmail?: string; -} - -// Tab types for profile components -export type CitizenProfileTab = 'overview' | 'tax' | 'benefits' | 'advisory'; -export type AgencyProfileTab = 'overview' | 'budget' | 'transactions' | 'performance';