Skip to main content

Frontend Components

Artos provides a single, embeddable Artos component that can be integrated into any React application. This component gives you complete access to the Artos platform while maintaining full control over authentication, styling, and user experience.

Overview

The Artos frontend integration consists of one comprehensive component that provides access to the entire Artos platform - from workflow creation and execution to debugging and analytics. This component can be embedded in any React application with your own authentication layer and custom styling.

What is the Artos Component?

The Artos component is a complete, embeddable interface to the Artos platform. It’s not just a set of individual components for specific backend operations - it’s a full-featured application that you can embed directly into your existing applications.

Key Benefits

  • Complete Platform Access: Full access to all Artos capabilities in one component
  • Custom Authentication: Wrap with your own authentication and authorization layer
  • Complete Styling Control: Full customization of appearance and branding
  • Seamless Integration: Embeds naturally into existing React applications
  • Responsive Design: Works on desktop, tablet, and mobile devices
  • TypeScript Support: Full type safety and IntelliSense support

Installation and Setup

Package Installation

Install the Artos React component package:

Basic Integration

The simplest way to integrate Artos into your application:

With Authentication Wrapper

Integrate with your existing authentication system:

Component Configuration

Props

The ArtosApp component accepts the following props:

TypeScript Integration

Authentication Integration

Custom Authentication Layer

Wrap the Artos component with your authentication system:

Role-Based Access Control

Implement role-based access control around the Artos component:

Custom Styling and Theming

CSS Variables

The Artos component uses CSS variables for complete customization:

Dark Theme Support

Custom Branding

Complete customization example:

Responsive Design

Ensure the Artos component works well on all devices:

Advanced Integration Patterns

Multi-Tenant Support

Support multiple tenants with different configurations:

Custom Event Handling

Handle all events from the Artos component:

Performance Optimization

Lazy Loading

Lazy load the Artos component to improve initial page load:

Memory Management

Implement proper cleanup and memory management:

Error Handling and Monitoring

Comprehensive Error Boundary

Best Practices

Security Considerations

  1. API Key Management: Never expose API keys in client-side code
  2. Authentication: Always wrap with proper authentication
  3. Authorization: Implement role-based access control
  4. Data Sanitization: Sanitize all user inputs
  5. HTTPS: Always use HTTPS in production

Performance Guidelines

  1. Lazy Loading: Load the component only when needed
  2. Caching: Implement proper caching strategies
  3. Virtualization: Use virtualization for large datasets
  4. Debouncing: Debounce user inputs to reduce API calls
  5. Memory Management: Implement proper cleanup

User Experience

  1. Loading States: Show appropriate loading indicators
  2. Error Messages: Provide clear, actionable error messages
  3. Responsive Design: Ensure mobile compatibility
  4. Accessibility: Follow WCAG guidelines
  5. Performance: Optimize for fast loading and smooth interactions

Troubleshooting

Common Issues

  1. Component Not Loading: Check API key and network connectivity
  2. Styling Issues: Verify CSS variables are properly defined
  3. Authentication Problems: Ensure proper token handling
  4. Performance Issues: Check for memory leaks and optimize renders
  5. Mobile Issues: Test responsive design on various devices

Debug Mode

Enable debug mode for development:
This comprehensive documentation covers the complete integration of the Artos component as a single, embeddable application that can be fully customized and secured within your existing applications.