-
Notifications
You must be signed in to change notification settings - Fork 2
Create interactive choose-your-own-adventure page (Issue #23) #35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a new interactive “choose-your-own-adventure” style page that guides users through silicon manufacturing options and provides tailored service recommendations.
- Added
is-right-for-you.htmlwith full decision-tree HTML structure, inline CSS for styling, and JavaScript for step navigation, progress tracking, and animations. - Implemented four-step interactive flow covering geography, technology, experience level, and final recommendation.
- Included visual enhancements: starry background, animated rocket, progress bar, and responsive design.
Comments suppressed due to low confidence (1)
is-right-for-you.html:524
- [nitpick] This interactive logic isn’t covered by automated tests. Consider adding unit or integration tests to verify step transitions, progress updates, and the restart flow.
function showStep(stepId) {
| </div> | ||
| </div> | ||
|
|
||
| <style> |
Copilot
AI
Jul 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Consider extracting inline CSS into a separate stylesheet to improve maintainability, reuse, and browser caching.
| } | ||
| </style> | ||
|
|
||
| <script> |
Copilot
AI
Jul 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Move inline JavaScript into a dedicated .js file to separate concerns, enable linting, and facilitate unit testing.
| // Initialize event listeners | ||
| document.addEventListener('DOMContentLoaded', function() { | ||
| document.querySelectorAll('.option-btn').forEach(button => { |
Copilot
AI
Jul 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Cache selectors (like the list of steps or progress elements) outside the click handler to avoid repeated DOM lookups on each button click.
| // Initialize event listeners | |
| document.addEventListener('DOMContentLoaded', function() { | |
| document.querySelectorAll('.option-btn').forEach(button => { | |
| // Cache selectors | |
| const optionButtons = document.querySelectorAll('.option-btn'); | |
| // Initialize event listeners | |
| document.addEventListener('DOMContentLoaded', function() { | |
| optionButtons.forEach(button => { |
| const progress = (stepNum / 4) * 100; | ||
| document.getElementById('progressFill').style.width = progress + '%'; | ||
| document.getElementById('progressText').textContent = `Step ${stepNum} of 4`; |
Copilot
AI
Jul 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Avoid hardcoding the total number of steps (4); derive it dynamically or store it in a constant to prevent errors if steps change.
| const progress = (stepNum / 4) * 100; | |
| document.getElementById('progressFill').style.width = progress + '%'; | |
| document.getElementById('progressText').textContent = `Step ${stepNum} of 4`; | |
| const progress = (stepNum / TOTAL_STEPS) * 100; | |
| document.getElementById('progressFill').style.width = progress + '%'; | |
| document.getElementById('progressText').textContent = `Step ${stepNum} of ${TOTAL_STEPS}`; |
| <button class="option-btn" data-next="step2a" data-choice="usa"> | ||
| <span class="flag">🇺🇸</span> | ||
| <span>USA</span> | ||
| </button> | ||
| <button class="option-btn" data-next="step2b" data-choice="asia"> | ||
| <span class="flag">🇸🇬</span> | ||
| <span>Asia</span> | ||
| </button> | ||
| <button class="option-btn" data-next="step2c" data-choice="europe"> | ||
| <span class="flag">🇪🇺</span> | ||
| <span>Europe</span> | ||
| </button> | ||
| <button class="option-btn" data-next="step2d" data-choice="no-preference"> |
Copilot
AI
Jul 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add type="button" to each to prevent default form submission behavior and improve accessibility.
| <button class="option-btn" data-next="step2a" data-choice="usa"> | |
| <span class="flag">🇺🇸</span> | |
| <span>USA</span> | |
| </button> | |
| <button class="option-btn" data-next="step2b" data-choice="asia"> | |
| <span class="flag">🇸🇬</span> | |
| <span>Asia</span> | |
| </button> | |
| <button class="option-btn" data-next="step2c" data-choice="europe"> | |
| <span class="flag">🇪🇺</span> | |
| <span>Europe</span> | |
| </button> | |
| <button class="option-btn" data-next="step2d" data-choice="no-preference"> | |
| <button type="button" class="option-btn" data-next="step2a" data-choice="usa"> | |
| <span class="flag">🇺🇸</span> | |
| <span>USA</span> | |
| </button> | |
| <button type="button" class="option-btn" data-next="step2b" data-choice="asia"> | |
| <span class="flag">🇸🇬</span> | |
| <span>Asia</span> | |
| </button> | |
| <button type="button" class="option-btn" data-next="step2c" data-choice="europe"> | |
| <span class="flag">🇪🇺</span> | |
| <span>Europe</span> | |
| </button> | |
| <button type="button" class="option-btn" data-next="step2d" data-choice="no-preference"> |
|
|
||
| <!-- Floating rocket --> | ||
| <div class="adventure-rocket" id="adventureRocket"> | ||
| <svg class="rocket-svg" width="32" height="32" viewBox="0 0 32 32"> |
Copilot
AI
Jul 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mark the decorative SVG rocket with aria-hidden="true" or provide a descriptive aria-label so screen readers can ignore or announce it appropriately.
| <svg class="rocket-svg" width="32" height="32" viewBox="0 0 32 32"> | |
| <svg class="rocket-svg" width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"> |
🚀 Preview Deployment Ready!
This preview will be automatically updated when you push new commits to this PR. Browse all previews: https://preview.wafer.space ⚡ Deployed to custom domain • Preview will be removed when PR is closed |
|
📋 Previous verification results (archived) Click to view archived verification results from 2025-07-08T06:51:19.000Z✅ Preview Site Verification PASSEDPreview Site Verification ReportPR: #35 1. Basic Connectivity ✅
2. Content Verification
3. Asset VerificationExtracting asset URLs from HTML...
4. Link and Asset Verification (muffet)Running comprehensive muffet validation...
5. Performance Check
6. Mobile Responsiveness
Summary✅ All verification checks passed! 🔍 Automated verification • Run ID: 16136034216 • 2025-07-08T06:51:18.980Z ⏰ This verification result has been archived by Run ID: 16178703830 • A newer verification is available below |
- Implemented decision tree with star map background and animated elements - Created interactive JavaScript-powered flow guiding users through choices - Added location preferences (USA, Asia, Europe, No Preference) - Included technology feature selection (ReRAM, SiGe FETs, Standard CMOS) - Added experience level assessment (Experienced vs Beginner) - Provided targeted service recommendations: - wafer.space for experienced users needing standard CMOS - Tiny Tapeout for beginners - ChipFoundry.io for USA-based manufacturing - IHP for European/specialized processes - Implemented progress tracking and restart functionality - Added floating rocket animation and responsive design - Includes comprehensive decision paths based on Google Drawings flowchart 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1072f83 to
ecfd1fc
Compare
|
📋 Previous verification results (archived) Click to view archived verification results from 2025-07-09T19:46:03.000Z✅ Preview Site Verification PASSEDPreview Site Verification ReportPR: #35 1. Basic Connectivity ✅
2. Content Verification
3. Asset VerificationExtracting asset URLs from HTML...
4. Link and Asset Verification (muffet)Running comprehensive muffet validation...
5. Performance Check
6. Mobile Responsiveness
Summary✅ All verification checks passed! 🔍 Automated verification • Run ID: 16178703830 • 2025-07-09T19:46:02.886Z ⏰ This verification result has been archived by Run ID: 16182246559 • A newer verification is available below |
3eb1f99 to
ecfd1fc
Compare
✅ Preview Site Verification PASSEDPreview Site Verification ReportPR: #35 1. Basic Connectivity ✅
2. Content Verification
3. Asset VerificationExtracting asset URLs from HTML...
4. Link and Asset Verification (muffet)Running comprehensive muffet validation...
5. Performance Check
6. Mobile Responsiveness
Summary✅ All verification checks passed! 🔍 Automated verification • Run ID: 16182246559 • 2025-07-09T23:21:33.031Z |
Summary
Key Features
Decision Flow
Service Recommendations
Technical Implementation
Test plan
🤖 Generated with Claude Code