Lachlan McMurtrie
The app is a collaborative component builder. it begin by starting a project, entering in a description. the next page will be an ai assisted project scope, where the user will type the component type, which will be a list of core components (all that are core across ui domains). The ai will then ask for a framework of native react or react for web. the behavioral hooks, interactions and utilites that align with the component will then be showed. for web, these must be all react-aria, for native, these will be react-native. assume react-shared types for cross platform as common, as well as react-stately for states which are also cross platform. provide the user with a the data attributes as per react-aria or native equivilant documentation, ask them how they want to recieve their code files - combined as typed primitives, or separated through the use of an adapter that exports the behaviors etc to the primitive.
499a14d verified
Raw
History Blame Contribute Delete
6.96 kB
<!DOCTYPE html>
<html lang="en" class="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ComponentForge - Start Your Project</title>
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
<link rel="stylesheet" href="style.css">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script>
</head>
<body class="bg-gray-900 text-white min-h-screen">
<custom-header></custom-header>
<main class="container mx-auto px-4 py-8">
<div class="max-w-4xl mx-auto">
<!-- Hero Section -->
<div class="text-center mb-12">
<h1 class="text-5xl font-bold mb-6 bg-gradient-to-r from-purple-500 to-pink-500 bg-clip-text text-transparent">
ComponentForge AI
</h1>
<p class="text-xl text-gray-300 mb-8">
Build cross-platform React components with AI assistance. From concept to production-ready code.
</p>
<div class="flex justify-center space-x-4">
<div class="w-3 h-3 bg-purple-500 rounded-full animate-pulse"></div>
<div class="w-3 h-3 bg-pink-500 rounded-full animate-pulse delay-150"></div>
<div class="w-3 h-3 bg-blue-500 rounded-full animate-pulse delay-300"></div>
</div>
</div>
<!-- Project Start Form -->
<div class="bg-gray-800 rounded-2xl p-8 shadow-2xl border border-gray-700">
<div class="flex items-center mb-6">
<i data-feather="plus-circle" class="w-8 h-8 text-purple-500 mr-3"></i>
<h2 class="text-2xl font-bold">Start New Component Project</h2>
</div>
<form id="projectForm" class="space-y-6">
<div>
<label for="projectName" class="block text-sm font-medium text-gray-300 mb-2">
Project Name
</label>
<input
type="text"
id="projectName"
name="projectName"
required
class="w-full px-4 py-3 bg-gray-700 border border-gray-600 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-white placeholder-gray-400 transition-all duration-200"
placeholder="Enter your component project name..."
>
</div>
<div>
<label for="projectDescription" class="block text-sm font-medium text-gray-300 mb-2">
Project Description
</label>
<textarea
id="projectDescription"
name="projectDescription"
rows="4"
required
class="w-full px-4 py-3 bg-gray-700 border border-gray-600 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-white placeholder-gray-400 resize-none transition-all duration-200"
placeholder="Describe your component in detail... What problem does it solve? What features should it have?"
></textarea>
</div>
<div class="flex items-center justify-between pt-4">
<div class="flex items-center text-gray-400">
<i data-feather="zap" class="w-4 h-4 mr-2"></i>
<span class="text-sm">AI-powered scope generation</span>
</div>
<button
type="submit"
class="px-8 py-3 bg-gradient-to-r from-purple-600 to-pink-600 hover:from-purple-700 hover:to-pink-700 text-white font-semibold rounded-lg transition-all duration-200 transform hover:scale-105 focus:ring-4 focus:ring-purple-500 focus:ring-opacity-50 flex items-center"
>
<i data-feather="arrow-right" class="w-5 h-5 mr-2"></i>
Generate Scope
</button>
</div>
</form>
</div>
<!-- Features Grid -->
<div class="grid md:grid-cols-3 gap-6 mt-12">
<div class="bg-gray-800 p-6 rounded-xl border border-gray-700 hover:border-purple-500 transition-all duration-300">
<i data-feather="cpu" class="w-8 h-8 text-purple-500 mb-4"></i>
<h3 class="text-lg font-semibold mb-2">AI-Powered Scoping</h3>
<p class="text-gray-400 text-sm">Intelligent analysis of your requirements to suggest optimal component architecture.</p>
</div>
<div class="bg-gray-800 p-6 rounded-xl border border-gray-700 hover:border-pink-500 transition-all duration-300">
<i data-feather="code" class="w-8 h-8 text-pink-500 mb-4"></i>
<h3 class="text-lg font-semibold mb-2">Cross-Platform Ready</h3>
<p class="text-gray-400 text-sm">Generate components for React Web with react-aria or React Native with platform-specific APIs.</p>
</div>
<div class="bg-gray-800 p-6 rounded-xl border border-gray-700 hover:border-blue-500 transition-all duration-300">
<i data-feather="package" class="w-8 h-8 text-blue-500 mb-4"></i>
<h3 class="text-lg font-semibold mb-2">Production Quality</h3>
<p class="text-gray-400 text-sm">Type-safe, accessible, and following React ecosystem best practices.</p>
</div>
</div>
</div>
</main>
<custom-footer></custom-footer>
<script src="components/header.js"></script>
<script src="components/footer.js"></script>
<script src="script.js"></script>
<script>
feather.replace();
document.getElementById('projectForm').addEventListener('submit', function(e) {
e.preventDefault();
const projectName = document.getElementById('projectName').value;
const projectDescription = document.getElementById('projectDescription').value;
localStorage.setItem('projectName', projectName);
localStorage.setItem('projectDescription', projectDescription);
window.location.href = 'scope.html';
});
</script>
<script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
</body>
</html>