Mobile App UI Designer
Run ID: 69cc76a43e7fb09ff16a21802026-04-01Design
PantheraHive BOS
BOS Dashboard

As a professional AI assistant, I am executing step 2 of 3 for the "Mobile App UI Designer" workflow: gemini → generate_code.

This deliverable provides comprehensive, detailed, and professional code output tailored for a Mobile App UI Designer. It aims to bridge the gap between design concepts and their implementation in code, focusing on reusability, maintainability, and best practices. We will primarily use React Native for our examples due to its cross-platform nature and widespread adoption, making the concepts broadly applicable.


Deliverable: Mobile App UI Code Implementation Examples

1. Introduction: Bridging Design to Code

This section translates core UI design principles into actionable, production-ready code examples. For a Mobile App UI Designer, understanding how design elements (colors, typography, spacing, components) are structured and implemented in code is crucial for effective collaboration with development teams and for ensuring design integrity.

The examples provided utilize a component-based architecture, which is fundamental in modern mobile development frameworks like React Native, SwiftUI (iOS), and Jetpack Compose (Android). This approach promotes reusability, consistency, and easier maintenance of the UI.

2. Core Principles Demonstrated in Code

The following code examples illustrate key principles:

3. React Native UI Component Examples

This section provides a set of example React Native components, demonstrating how a design system can be implemented and how common UI elements are built.

3.1. Design System Foundation (Theme Files)

These files define the core design tokens for colors, typography, and spacing.

File: src/theme/colors.js

text • 164 chars
#### **3.2. Reusable UI Components**

These components leverage the defined design tokens to maintain consistency.

**File: `src/components/Button/AppButton.js`**
Sandboxed live preview

Mobile App UI Designer: Comprehensive 12-Week Study Plan

This detailed study plan is designed to equip you with the essential skills and knowledge required to excel as a Mobile App UI Designer. Over 12 weeks, you will progress from foundational design principles to advanced prototyping, usability testing, and portfolio development, ensuring you are well-prepared for a professional role.


1. Introduction & Overall Goal

Welcome to your journey as a Mobile App UI Designer! This plan provides a structured roadmap to master the art and science of creating intuitive, aesthetically pleasing, and highly functional user interfaces for mobile applications. By the end of this program, you will possess a robust skill set, a strong portfolio, and a deep understanding of user-centered design principles specific to mobile platforms.

Overall Goal: To become a proficient Mobile App UI Designer capable of independently designing, prototyping, and iterating on mobile application interfaces that meet user needs, business objectives, and industry standards, culminating in a professional portfolio ready for job applications.


2. Learning Objectives

Upon successful completion of this 12-week study plan, you will be able to:

  • Understand Foundational UI/UX Principles: Articulate and apply core concepts of User-Centered Design (UCD), Design Thinking, and Information Architecture.
  • Master Key Design Tools: Proficiently use Figma for wireframing, prototyping, and creating high-fidelity UI designs.
  • Apply Mobile Design Guidelines: Design interfaces compliant with Apple's Human Interface Guidelines (HIG) and Google's Material Design principles.
  • Conduct User Research & Analysis: Understand basic user research methodologies, create user flows, and develop user personas.
  • Develop Visual Design Acumen: Apply principles of typography, color theory, iconography, and layout to create visually appealing mobile interfaces.
  • Create Interactive Prototypes: Design and animate high-fidelity prototypes that simulate real user interactions.
  • Perform Usability Testing: Plan and execute basic usability tests, analyze feedback, and iterate on designs.
  • Ensure Accessibility: Design mobile interfaces that are inclusive and accessible to users with diverse needs.
  • Build a Professional Portfolio: Compile and present design projects effectively through compelling case studies.
  • Communicate & Collaborate: Articulate design decisions and collaborate effectively within a design team.

3. Weekly Schedule

This schedule outlines the focus, key concepts, activities, and deliverables for each week. It assumes an average commitment of 15-20 hours of study per week.

Week 1: UI/UX Fundamentals & Design Thinking Introduction

  • Theme/Focus: Laying the groundwork for user-centered design.
  • Key Concepts: Introduction to UI vs. UX, Design Thinking process (Empathize, Define, Ideate), User-Centered Design (UCD) principles, basics of Information Architecture (IA).
  • Activities:

* Read foundational articles on UI/UX and Design Thinking.

* Watch introductory tutorials on Figma.

* Brainstorm a simple app idea and outline its core user problem.

  • Deliverables:

* Summary of key UI/UX concepts.

* Initial Figma file setup.

* Problem statement for a chosen app idea.

Week 2: User Research Basics & Figma Mastery (Part 1)

  • Theme/Focus: Understanding your users and getting comfortable with your primary design tool.
  • Key Concepts: User personas, user stories, basic competitive analysis, Figma interface, frames, shapes, text, basic auto-layout.
  • Activities:

* Create 2-3 user personas for your chosen app idea.

* Conduct a brief competitive analysis of similar apps.

* Complete Figma tutorials on basic tools and auto-layout.

* Recreate simple UI elements (buttons, input fields) in Figma.

  • Deliverables:

* User personas and user stories for your app.

* Figma practice file with recreated UI elements.

Week 3: Mobile UI Guidelines & User Flows

  • Theme/Focus: Learning platform-specific design rules and mapping user journeys.
  • Key Concepts: Apple Human Interface Guidelines (HIG), Google Material Design principles, user flows, task analysis, sitemaps.
  • Activities:

* Study key sections of Apple HIG and Material Design documentation.

* Analyze popular apps against these guidelines.

* Map out a detailed user flow for a core task within your app idea.

  • Deliverables:

* Annotated notes on HIG and Material Design differences/similarities.

* User flow diagram for your app's primary task (e.g., onboarding, checkout).

Week 4: Wireframing & Low-Fidelity Prototyping

  • Theme/Focus: Structuring content and initial layout without visual distractions.
  • Key Concepts: Sketching techniques, digital wireframing, low-fidelity prototyping, basic navigation patterns.
  • Activities:

* Sketch wireframes for your app's main screens.

* Create digital low-fidelity wireframes in Figma based on your user flow.

* Build a clickable low-fidelity prototype in Figma.

  • Deliverables:

* Sketched wireframes (photos/scans).

* Figma file with low-fidelity wireframes and a clickable prototype.

Week 5: Visual Design Principles - Typography & Color

  • Theme/Focus: Mastering the aesthetic elements that define a brand and experience.
  • Key Concepts: Typography hierarchy, font pairing, color theory, color palettes, accessibility in color contrast.
  • Activities:

* Research effective typography and color usage in mobile apps.

* Experiment with different font combinations and color palettes in Figma.

* Apply basic color and typography to your existing wireframes.

  • Deliverables:

* Type scale and color palette for your app.

* Updated wireframes with initial typography and color application.

Week 6: Visual Design Principles - Iconography, Imagery & Layout

  • Theme/Focus: Refining visual elements and ensuring consistent, effective layouts.
  • Key Concepts: Iconography principles, image selection and optimization, grid systems, spacing, visual hierarchy, consistency.
  • Activities:

* Design a set of custom icons for your app or select an appropriate icon library.

* Integrate placeholder images.

* Apply grid systems and consistent spacing to your designs.

* Refine visual hierarchy on key screens.

  • Deliverables:

* Icon set for your app.

* High-fidelity mockups of 3-5 key screens, applying all visual design principles.

Week 7: High-Fidelity Prototyping & Interaction Design

  • Theme/Focus: Bringing designs to life with realistic interactions and animations.
  • Key Concepts: Advanced Figma prototyping (smart animate, overlays, scrolling), micro-interactions, transitions, animation principles.
  • Activities:

* Convert your high-fidelity mockups into a fully interactive prototype in Figma.

* Implement micro-interactions (e.g., button states, loading animations).

* Experiment with different transition styles.

  • Deliverables:

* Fully interactive high-fidelity prototype in Figma.

Week 8: Components, Design Systems & Developer Handoff

  • Theme/Focus: Building scalable and consistent designs, preparing for implementation.
  • Key Concepts: Figma components, variants, design systems basics, documentation, developer handoff best practices (e.g., Zeplin, Figma Dev Mode).
  • Activities:

* Create a component library in Figma from your existing UI elements.

* Organize your Figma file for easy developer access.

* Practice exporting assets and specifications.

  • Deliverables:

* Figma file with a well-organized component library.

* Simulated developer handoff documentation for a screen.

Week 9: Usability Testing & Feedback Integration

  • Theme/Focus: Validating designs with real users and iterating based on feedback.
  • Key Concepts: Usability testing methods (moderated/unmoderated), task scenarios, data collection, affinity mapping, incorporating feedback.
  • Activities:

* Plan a small usability test for your prototype (3-5 users).

* Conduct the usability test (even with friends/family for practice).

* Analyze findings and identify key pain points.

* Iterate on your prototype based on critical feedback.

  • Deliverables:

* Usability test plan and findings summary.

* Revised prototype incorporating feedback.

Week 10: Accessibility & Inclusive Design

  • Theme/Focus: Designing for everyone, ensuring an inclusive user experience.
  • Key Concepts: WCAG principles for mobile, screen readers, focus states, touch target sizes, semantic design, dark mode considerations.
  • Activities:

* Review your prototype for accessibility compliance.

* Implement accessibility improvements (e.g., color contrast, larger touch targets).

* Design a "dark mode" version for a key screen.

  • Deliverables:

* Accessibility audit of your prototype.

* Updated prototype with accessibility enhancements.

* Dark mode design for a key screen.

Week 11: Advanced Topics & Case Study Preparation

  • Theme/Focus: Exploring niche areas and preparing to showcase your work.
  • Key Concepts: Haptic feedback, gestures, onboarding flows, empty states, error states, writing compelling case studies.
  • Activities:

* Design an optimized onboarding flow for your app.

* Design empty states and error states.

* Start outlining a case study for your app project.

  • Deliverables:

* Onboarding, empty, and error state designs.

* Case study outline for your app project.

Week 12: Portfolio Development & Job Readiness

  • Theme/Focus: Polishing your portfolio and preparing for the job market.
  • Key Concepts: Portfolio best practices (Behance, Dribbble, personal website), resume/CV tailoring, interview preparation, presenting design work.
  • Activities:

* Finalize your app project case study with visuals, process, and outcomes.

* Create a professional online portfolio showcasing your project.

* Review common interview questions and practice articulating your design process.

  • Deliverables:

* Complete online portfolio with at least one detailed case study.

* Updated resume/CV.


4. Recommended Resources

Online Courses & Learning Platforms:

  • Coursera/edX: "Google UX Design Professional Certificate," "IBM UX Design Professional Certificate," courses from top universities.
  • Udemy/Skillshare: Specific courses on Figma, Mobile UI Design, Interaction Design.
  • Interaction Design Foundation (IDF): In-depth articles and courses on various UX/UI topics.
  • Figma Learn: Official tutorials and documentation.

Books:

  • "Don't Make Me Think, Revisited" by Steve Krug (Usability)
  • "The Design of Everyday Things" by Don Norman (Foundational UX)
  • "Refactoring UI" by Adam Wathan & Steve Schoger (Visual Design)
  • "Designing for Mobile" by Smashing Magazine (Specific mobile insights)

Design Tools:

  • Figma (Primary): Essential for UI design, prototyping, and collaboration.
  • Miro/Whimsical: For brainstorming, user flows, and whiteboarding.
  • Maze/UserTesting.com: For conducting remote usability tests.
  • Coolors.co/Adobe Color: For color palette generation.
  • Google Fonts/Font Squirrel: For typography resources.

Community & Blogs:

  • Medium: UX Collective, Prototypr.io, Muzli, individual designers.
  • Dribbble/Behance: For design inspiration and portfolio showcases.
  • Nielsen Norman Group (NN/g): Research-backed articles on usability and UX.
  • Smashing Magazine: In-depth articles on web and mobile design.

Official Guidelines:

  • Apple Human Interface Guidelines (HIG): [developer.apple.com/design/human-interface-guidelines/](https://developer.apple.com/design/human-interface-guidelines/)
  • Google Material Design: [m2.material.io/](https://m2.material.io/) and [m3.material.io/](https://m3.material.io/)

5. Milestones

Reaching these key milestones will signify significant progress throughout your learning journey:

  • End of Week 2: Solid understanding of core UI/UX concepts and basic Figma proficiency.
  • End of Week 4: Ability to create user flows, wireframes, and low-fidelity prototypes for a mobile app.

javascript

// src/components/Button/AppButton.js

import React from 'react';

import { TouchableOpacity, Text, StyleSheet, ActivityIndicator } from 'react-native';

import colors from '../../theme/colors';

import typography from '../../theme/typography';

import spacing from '../../theme/spacing';

/**

* @typedef {'primary' | 'secondary' | 'outline' | 'text'} ButtonVariant

* @typedef {'small' | 'medium' | 'large'} ButtonSize

*/

/**

* A reusable button component adhering to the application's design system.

* Supports different variants, sizes, and states (loading, disabled).

*

* @param {object} props - Component props.

* @param {string} props.title - The text displayed on the button.

* @param {function} props.onPress - Function to call when the button is pressed.

* @param {ButtonVariant} [props.variant='primary'] - The visual style of the button.

* @param {ButtonSize} [props.size='medium'] - The size of the button.

* @param {boolean} [props.disabled=false] - If true, the button is not interactive and appears dimmed.

* @param {boolean} [props.loading=false] - If true, shows a loading indicator and disables the button.

* @param {object} [props.style] - Custom style to apply to the button container.

* @param {object} [props.textStyle] - Custom style to apply to the button text.

* @param {string} [props.testID] - Test ID for automated testing.

*/

const AppButton = ({

title,

onPress,

variant = 'primary',

size = 'medium',

disabled = false,

loading = false,

style,

textStyle,

testID,

}) => {

const isDisabled = disabled || loading;

const buttonStyles = [

styles.baseButton,

styles[${variant}Variant],

styles[${size}Size],

isDisabled && styles.disabled,

style,

];

const textStyles = [

styles.baseText,

styles[${variant}Text],

styles[${size}Text],

isDisabled && styles.disabledText,

textStyle,

];

const indicatorColor = variant === 'primary' || variant === 'secondary'

? colors.white

: colors.primary;

return (

<TouchableOpacity

style={buttonStyles}

onPress={isDisabled ? null : onPress}

activeOpacity={0.7}

disabled={isDisabled}

testID={testID}

accessibilityRole="button"

accessibilityLabel={title}

>

{loading ? (

<ActivityIndicator color={indicatorColor} />

) : (

<Text style={textStyles}>{title}</Text>

)}

</TouchableOpacity>

);

};

const styles = StyleSheet.create({

// Base styles for all buttons

baseButton: {

borderRadius: spacing.sm,

alignItems: 'center',

justifyContent: 'center',

flexDirection: 'row', // For potential icon support

},

baseText: {

...typography.button, // Use button typography from design system

textAlign: 'center',

},

// Variant Styles

primaryVariant: {

backgroundColor: colors.primary,

},

primaryText: {

color: colors.white,

},

secondaryVariant: {

backgroundColor: colors.secondary,

},

secondaryText: {

color: colors.white,

},

outlineVariant: {

backgroundColor: 'transparent',

borderWidth: 1,

borderColor: colors.primary,

},

outlineText: {

color: colors.primary,

},

textVariant: {

backgroundColor: 'transparent',

},

textText: {

color: colors.primary,

},

// Size Styles

smallSize: {

paddingVertical: spacing.xs,

paddingHorizontal: spacing.md,

minHeight: 32, // Minimum touch target size for accessibility

},

smallText: {

fontSize: typography.font

gemini Output

Mobile App UI Designer: Comprehensive Role Overview & Deliverables

This document provides a detailed and professional overview of the Mobile App UI Designer role, outlining core responsibilities, essential skills, typical workflow, and expected deliverables. This information is crucial for understanding the scope of work, evaluating candidates, or defining project requirements for mobile application user interface design.


1. Introduction: The Essence of Mobile App UI Design

A Mobile App UI Designer is a specialist focused on crafting the visual and interactive elements of a mobile application. Their primary goal is to create intuitive, aesthetically pleasing, and highly functional user interfaces that enhance the overall user experience (UX) and achieve business objectives. This role bridges the gap between user needs, business goals, and technical feasibility, ensuring the app is not only easy to use but also visually engaging and consistent with brand identity across various mobile platforms (iOS, Android).

2. Core Responsibilities

The Mobile App UI Designer is responsible for a wide range of tasks throughout the product development lifecycle:

  • Visual Design & Aesthetics: Translating brand guidelines and design principles into compelling visual interfaces, including layout, typography, color palettes, iconography, and imagery.
  • Interaction Design: Defining how users interact with the app, including animations, transitions, gestures, and feedback mechanisms.
  • Wireframing & Prototyping: Creating low-to-high fidelity wireframes and interactive prototypes to visualize and test design concepts and user flows.
  • User Flow & Information Architecture: Collaborating with UX designers to understand and refine user journeys and the overall structure of the app's content.
  • Design System Development & Adherence: Contributing to or strictly following established design systems (e.g., Material Design, iOS Human Interface Guidelines) to ensure consistency, scalability, and efficiency.
  • Responsive & Adaptive Design: Ensuring designs are optimized for various screen sizes, resolutions, and orientations across different mobile devices and operating systems.
  • Accessibility Design: Integrating accessibility best practices (e.g., contrast ratios, touch target sizes, semantic structure) to make the app usable for individuals with diverse abilities.
  • Design Handoff & Collaboration: Preparing detailed design specifications, asset libraries, and prototypes for development teams, and actively collaborating throughout the implementation phase.
  • Usability Testing Support: Assisting UX researchers in preparing materials for usability testing and incorporating feedback into design iterations.
  • Competitive Analysis: Researching and analyzing competitor apps and industry trends to identify opportunities and best practices.

3. Key Skills Required

A successful Mobile App UI Designer possesses a blend of creative, technical, and interpersonal skills:

  • Strong Visual Design Acumen: Deep understanding of layout, grid systems, typography, color theory, iconography, and visual hierarchy.
  • Proficiency in Design Software: Expert-level skills in industry-standard tools for UI design and prototyping (e.g., Figma, Sketch, Adobe XD).
  • Interaction Design Principles: Knowledge of animation, micro-interactions, and user feedback patterns.
  • Understanding of Mobile Platforms: Familiarity with iOS Human Interface Guidelines and Android Material Design principles.
  • User-Centered Design (UCD) Principles: An empathetic approach to design, always prioritizing the user's needs and context.
  • Wireframing & Prototyping Expertise: Ability to create effective low-fidelity wireframes to high-fidelity interactive prototypes.
  • Information Architecture & User Flows: Skill in organizing content and defining intuitive user navigation paths.
  • Attention to Detail: Meticulous approach to pixel-perfect design and consistency.
  • Communication & Presentation Skills: Ability to articulate design decisions, present concepts to stakeholders, and provide constructive feedback.
  • Problem-Solving: Aptitude for identifying user pain points and designing elegant solutions.
  • Collaboration: Ability to work effectively within cross-functional teams (UX, Product, Development).

4. Essential Tools & Technologies

The following tools are critical for a Mobile App UI Designer's workflow:

  • UI/UX Design & Prototyping:

* Figma: Industry-leading collaborative design tool.

* Sketch: Popular for macOS users, often paired with Abstract for version control.

* Adobe XD: Part of the Adobe Creative Cloud suite, good for end-to-end design.

* InVision: For advanced prototyping and design collaboration.

* Principle / Framer: For sophisticated animations and interactive prototypes.

  • Graphic Design & Iconography:

* Adobe Illustrator: For vector graphics and custom icons.

* Adobe Photoshop: For image manipulation and asset creation.

  • Collaboration & Handoff:

* Zeplin / Anima: For developer handoff and design specifications.

* Miro / Mural: For collaborative whiteboarding and brainstorming.

* Jira / Asana / Trello: For project management and task tracking.

  • Version Control:

* Abstract: (for Sketch files)

* Figma's built-in version history

5. Mobile App UI Design Process/Workflow

A typical mobile app UI design process involves several iterative stages:

  1. Discovery & Research (Collaborative with UX):

* Understanding project goals, target audience, and business requirements.

* Analyzing user research, competitor apps, and market trends.

* Defining user personas, user stories, and key use cases.

  1. Information Architecture & User Flows:

* Mapping out the app's structure and content organization.

* Designing comprehensive user flow diagrams to illustrate user journeys through the app.

  1. Wireframing (Low-to-Mid Fidelity):

* Creating skeletal outlines of app screens to define layout, content placement, and functional elements without focusing on aesthetics.

* Iterating based on initial feedback and usability considerations.

  1. Prototyping (Mid-to-High Fidelity):

* Transforming wireframes into interactive prototypes to simulate the app's functionality and user experience.

* Testing interactions, navigation, and overall flow.

  1. Visual Design (High Fidelity):

* Applying branding, color palettes, typography, iconography, and imagery to create the final polished UI.

* Ensuring consistency with design systems and platform guidelines.

* Refining micro-interactions and animations.

  1. Testing & Iteration:

* Participating in usability testing sessions to gather user feedback.

* Analyzing feedback and iterating on designs to address usability issues and enhance the user experience.

* Conducting A/B tests for critical design elements.

  1. Design Handoff & Development Support:

* Preparing detailed design specifications, asset libraries, and interactive prototypes for developers.

* Providing ongoing support and clarification during the development phase to ensure pixel-perfect implementation.

  1. Post-Launch Analysis & Optimization:

* Monitoring app performance metrics (e.g., engagement, conversion rates).

* Gathering user feedback post-launch and identifying areas for future improvements and iterations.

6. Deliverables & Outputs

The tangible outputs of a Mobile App UI Designer typically include:

  • User Flow Diagrams: Visual representations of user journeys.
  • Wireframes: Low-to-mid fidelity screen layouts.
  • Interactive Prototypes: Clickable and sometimes animated simulations of the app.
  • High-Fidelity UI Mockups: Pixel-perfect visual designs of all app screens for different states (e.g., empty, loaded, error).
  • Design Specifications/Redlines: Detailed documentation for developers, including measurements, spacing, typography, and color codes.
  • Design System / UI Kit Elements: Components, styles, and guidelines for consistent design across the app.
  • Asset Libraries: Exported icons, illustrations, and images optimized for mobile platforms.
  • Animation & Interaction Specifications: Details on transitions, micro-interactions, and gesture responses.
  • Accessibility Guidelines: Documentation on how the design meets accessibility standards.

7. Collaboration and Communication

A Mobile App UI Designer does not work in isolation. Effective collaboration and communication are vital:

  • With UX Researchers/Designers: To align on user needs, research findings, and overall user experience strategy.
  • With Product Managers: To understand product vision, business requirements, and roadmap priorities.
  • With Developers: To ensure technical feasibility, provide clear design specifications, and address implementation challenges.
  • With Stakeholders: To present design concepts, gather feedback, and gain buy-in.
  • With Marketing/Branding Teams: To ensure brand consistency and alignment with overall marketing strategies.

8. Performance Metrics & Success Indicators

The success of a Mobile App UI Designer's work can be measured through various metrics:

  • User Engagement: Increased time spent in the app, higher feature usage, lower bounce rates.
  • Task Completion Rate: Users successfully completing key actions within the app.
  • User Satisfaction: Positive feedback from user surveys, app store reviews, and Net Promoter Score (NPS).
  • Conversion Rates: For business-critical actions (e.g., purchases, sign-ups).
  • Aesthetic Appeal & Brand Consistency: Positive perception of the app's visual design and adherence to brand guidelines.
  • Accessibility Compliance: Meeting relevant accessibility standards (e.g., WCAG).
  • Developer Handoff Efficiency: Smooth and efficient implementation process due to clear and comprehensive design documentation.
  • Adherence to Project Timelines: Delivering design assets and documentation on schedule.

9. Continuous Learning & Trends

The mobile app landscape evolves rapidly. A proficient Mobile App UI Designer is committed to continuous learning, staying updated with:

  • New Design Tools and Software: Exploring and adopting efficient tools.
  • Platform Updates: Keeping abreast of iOS and Android operating system design guidelines and features.
  • Industry Trends: Understanding emerging UI patterns, interaction models, and technological advancements (e.g., AI in design, AR/VR interfaces).
  • User Behavior Research: Deepening knowledge of how users interact with mobile devices and applications.

This comprehensive overview serves as a foundational document for understanding the critical role and extensive contributions of a Mobile App UI Designer to the success of any mobile application project.

mobile_app_ui_designer.txt
Download source file
Copy all content
Full output as text
Download ZIP
IDE-ready project ZIP
Copy share link
Permanent URL for this run
Get Embed Code
Embed this result on any website
Print / Save PDF
Use browser print dialog
"); var hasSrcMain=Object.keys(extracted).some(function(k){return k.indexOf("src/main")>=0;}); if(!hasSrcMain) zip.file(folder+"src/main."+ext,"import React from 'react' import ReactDOM from 'react-dom/client' import App from './App' import './index.css' ReactDOM.createRoot(document.getElementById('root')!).render( ) "); var hasSrcApp=Object.keys(extracted).some(function(k){return k==="src/App."+ext||k==="App."+ext;}); if(!hasSrcApp) zip.file(folder+"src/App."+ext,"import React from 'react' import './App.css' function App(){ return(

"+slugTitle(pn)+"

Built with PantheraHive BOS

) } export default App "); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e} .app{min-height:100vh;display:flex;flex-direction:column} .app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px} h1{font-size:2.5rem;font-weight:700} "); zip.file(folder+"src/App.css",""); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/pages/.gitkeep",""); zip.file(folder+"src/hooks/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` ## Open in IDE Open the project folder in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- Vue (Vite + Composition API + TypeScript) --- */ function buildVue(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{ "name": "'+pn+'", "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vue-tsc -b && vite build", "preview": "vite preview" }, "dependencies": { "vue": "^3.5.13", "vue-router": "^4.4.5", "pinia": "^2.3.0", "axios": "^1.7.9" }, "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", "typescript": "~5.7.3", "vite": "^6.0.5", "vue-tsc": "^2.2.0" } } '); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' export default defineConfig({ plugins: [vue()], resolve: { alias: { '@': resolve(__dirname,'src') } } }) "); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]} '); zip.file(folder+"tsconfig.app.json",'{ "compilerOptions":{ "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"], "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true, "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue", "strict":true,"paths":{"@/*":["./src/*"]} }, "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"] } '); zip.file(folder+"env.d.ts","/// "); zip.file(folder+"index.html"," "+slugTitle(pn)+"
"); var hasMain=Object.keys(extracted).some(function(k){return k==="src/main.ts"||k==="main.ts";}); if(!hasMain) zip.file(folder+"src/main.ts","import { createApp } from 'vue' import { createPinia } from 'pinia' import App from './App.vue' import './assets/main.css' const app = createApp(App) app.use(createPinia()) app.mount('#app') "); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue"," "); zip.file(folder+"src/assets/main.css","*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,sans-serif;background:#fff;color:#213547} "); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/views/.gitkeep",""); zip.file(folder+"src/stores/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` Open in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- Angular (v19 standalone) --- */ function buildAngular(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var sel=pn.replace(/_/g,"-"); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{ "name": "'+pn+'", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test" }, "dependencies": { "@angular/animations": "^19.0.0", "@angular/common": "^19.0.0", "@angular/compiler": "^19.0.0", "@angular/core": "^19.0.0", "@angular/forms": "^19.0.0", "@angular/platform-browser": "^19.0.0", "@angular/platform-browser-dynamic": "^19.0.0", "@angular/router": "^19.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { "@angular-devkit/build-angular": "^19.0.0", "@angular/cli": "^19.0.0", "@angular/compiler-cli": "^19.0.0", "typescript": "~5.6.0" } } '); zip.file(folder+"angular.json",'{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "projects": { "'+pn+'": { "projectType": "application", "root": "", "sourceRoot": "src", "prefix": "app", "architect": { "build": { "builder": "@angular-devkit/build-angular:application", "options": { "outputPath": "dist/'+pn+'", "index": "src/index.html", "browser": "src/main.ts", "tsConfig": "tsconfig.app.json", "styles": ["src/styles.css"], "scripts": [] } }, "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"} } } } } '); zip.file(folder+"tsconfig.json",'{ "compileOnSave": false, "compilerOptions": {"baseUrl":"./","outDir":"./dist/out-tsc","forceConsistentCasingInFileNames":true,"strict":true,"noImplicitOverride":true,"noPropertyAccessFromIndexSignature":true,"noImplicitReturns":true,"noFallthroughCasesInSwitch":true,"paths":{"@/*":["src/*"]},"skipLibCheck":true,"esModuleInterop":true,"sourceMap":true,"declaration":false,"experimentalDecorators":true,"moduleResolution":"bundler","importHelpers":true,"target":"ES2022","module":"ES2022","useDefineForClassFields":false,"lib":["ES2022","dom"]}, "references":[{"path":"./tsconfig.app.json"}] } '); zip.file(folder+"tsconfig.app.json",'{ "extends":"./tsconfig.json", "compilerOptions":{"outDir":"./dist/out-tsc","types":[]}, "files":["src/main.ts"], "include":["src/**/*.d.ts"] } '); zip.file(folder+"src/index.html"," "+slugTitle(pn)+" "); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser'; import { appConfig } from './app/app.config'; import { AppComponent } from './app/app.component'; bootstrapApplication(AppComponent, appConfig) .catch(err => console.error(err)); "); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; } "); var hasComp=Object.keys(extracted).some(function(k){return k.indexOf("app.component")>=0;}); if(!hasComp){ zip.file(folder+"src/app/app.component.ts","import { Component } from '@angular/core'; import { RouterOutlet } from '@angular/router'; @Component({ selector: 'app-root', standalone: true, imports: [RouterOutlet], templateUrl: './app.component.html', styleUrl: './app.component.css' }) export class AppComponent { title = '"+pn+"'; } "); zip.file(folder+"src/app/app.component.html","

"+slugTitle(pn)+"

Built with PantheraHive BOS

"); zip.file(folder+"src/app/app.component.css",".app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}h1{font-size:2.5rem;font-weight:700;color:#6366f1} "); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { routes } from './app.routes'; export const appConfig: ApplicationConfig = { providers: [ provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(routes) ] }; "); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router'; export const routes: Routes = []; "); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install ng serve # or: npm start ``` ## Build ```bash ng build ``` Open in VS Code with Angular Language Service extension. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local .angular/ "); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/m,"").trim(); var reqMap={"numpy":"numpy","pandas":"pandas","sklearn":"scikit-learn","tensorflow":"tensorflow","torch":"torch","flask":"flask","fastapi":"fastapi","uvicorn":"uvicorn","requests":"requests","sqlalchemy":"sqlalchemy","pydantic":"pydantic","dotenv":"python-dotenv","PIL":"Pillow","cv2":"opencv-python","matplotlib":"matplotlib","seaborn":"seaborn","scipy":"scipy"}; var reqs=[]; Object.keys(reqMap).forEach(function(k){if(src.indexOf("import "+k)>=0||src.indexOf("from "+k)>=0)reqs.push(reqMap[k]);}); var reqsTxt=reqs.length?reqs.join(" "):"# add dependencies here "; zip.file(folder+"main.py",src||"# "+title+" # Generated by PantheraHive BOS print(title+" loaded") "); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` ## Run ```bash python main.py ``` "); zip.file(folder+".gitignore",".venv/ __pycache__/ *.pyc .env .DS_Store "); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/m,"").trim(); var depMap={"mongoose":"^8.0.0","dotenv":"^16.4.5","axios":"^1.7.9","cors":"^2.8.5","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2","socket.io":"^4.7.4","uuid":"^9.0.1","zod":"^3.22.4","express":"^4.18.2"}; var deps={}; Object.keys(depMap).forEach(function(k){if(src.indexOf(k)>=0)deps[k]=depMap[k];}); if(!deps["express"])deps["express"]="^4.18.2"; var pkgJson=JSON.stringify({"name":pn,"version":"1.0.0","main":"src/index.js","scripts":{"start":"node src/index.js","dev":"nodemon src/index.js"},"dependencies":deps,"devDependencies":{"nodemon":"^3.0.3"}},null,2)+" "; zip.file(folder+"package.json",pkgJson); var fallback="const express=require("express"); const app=express(); app.use(express.json()); app.get("/",(req,res)=>{ res.json({message:""+title+" API"}); }); const PORT=process.env.PORT||3000; app.listen(PORT,()=>console.log("Server on port "+PORT)); "; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000 "); zip.file(folder+".gitignore","node_modules/ .env .DS_Store "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash npm install ``` ## Run ```bash npm run dev ``` "); } /* --- Vanilla HTML --- */ function buildVanillaHtml(zip,folder,app,code){ var title=slugTitle(app); var isFullDoc=code.trim().toLowerCase().indexOf("=0||code.trim().toLowerCase().indexOf("=0; var indexHtml=isFullDoc?code:" "+title+" "+code+" "; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */ *{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e} "); zip.file(folder+"script.js","/* "+title+" — scripts */ "); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Open Double-click `index.html` in your browser. Or serve locally: ```bash npx serve . # or python3 -m http.server 3000 ``` "); zip.file(folder+".gitignore",".DS_Store node_modules/ .env "); } /* ===== MAIN ===== */ var sc=document.createElement("script"); sc.src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"; sc.onerror=function(){ if(lbl)lbl.textContent="Download ZIP"; alert("JSZip load failed — check connection."); }; sc.onload=function(){ var zip=new JSZip(); var base=(_phFname||"output").replace(/.[^.]+$/,""); var app=base.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"my_app"; var folder=app+"/"; var vc=document.getElementById("panel-content"); var panelTxt=vc?(vc.innerText||vc.textContent||""):""; var lang=detectLang(_phCode,panelTxt); if(_phIsHtml){ buildVanillaHtml(zip,folder,app,_phCode); } else if(lang==="flutter"){ buildFlutter(zip,folder,app,_phCode,panelTxt); } else if(lang==="react-native"){ buildReactNative(zip,folder,app,_phCode,panelTxt); } else if(lang==="swift"){ buildSwift(zip,folder,app,_phCode,panelTxt); } else if(lang==="kotlin"){ buildKotlin(zip,folder,app,_phCode,panelTxt); } else if(lang==="react"){ buildReact(zip,folder,app,_phCode,panelTxt); } else if(lang==="vue"){ buildVue(zip,folder,app,_phCode,panelTxt); } else if(lang==="angular"){ buildAngular(zip,folder,app,_phCode,panelTxt); } else if(lang==="python"){ buildPython(zip,folder,app,_phCode); } else if(lang==="node"){ buildNode(zip,folder,app,_phCode); } else { /* Document/content workflow */ var title=app.replace(/_/g," "); var md=_phAll||_phCode||panelTxt||"No content"; zip.file(folder+app+".md",md); var h=""+title+""; h+="

"+title+"

"; var hc=md.replace(/&/g,"&").replace(//g,">"); hc=hc.replace(/^### (.+)$/gm,"

$1

"); hc=hc.replace(/^## (.+)$/gm,"

$1

"); hc=hc.replace(/^# (.+)$/gm,"

$1

"); hc=hc.replace(/**(.+?)**/g,"$1"); hc=hc.replace(/ {2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. Files: - "+app+".md (Markdown) - "+app+".html (styled HTML) "); } zip.generateAsync({type:"blob"}).then(function(blob){ var a=document.createElement("a"); a.href=URL.createObjectURL(blob); a.download=app+".zip"; a.click(); URL.revokeObjectURL(a.href); if(lbl)lbl.textContent="Download ZIP"; }); }; document.head.appendChild(sc); }function phShare(){navigator.clipboard.writeText(window.location.href).then(function(){var el=document.getElementById("ph-share-lbl");if(el){el.textContent="Link copied!";setTimeout(function(){el.textContent="Copy share link";},2500);}});}function phEmbed(){var runId=window.location.pathname.split("/").pop().replace(".html","");var embedUrl="https://pantherahive.com/embed/"+runId;var code='';navigator.clipboard.writeText(code).then(function(){var el=document.getElementById("ph-embed-lbl");if(el){el.textContent="Embed code copied!";setTimeout(function(){el.textContent="Get Embed Code";},2500);}});}