OASIS Web UI Dev Kit - Complete Implementation Guide
π― Overview
The OASIS Web UI Dev Kit provides 20+ pre-built components for all major web frameworks, allowing you to integrate OASIS functionality into your applications with minimal effort.
π¦ Available Kits
π Quick Start by Framework
React
npm install @oasis/webui-devkit-reactimport { AvatarSSO, KarmaManagement, NFTGallery } from '@oasis/webui-devkit-react';
function App() {
const [avatarId, setAvatarId] = useState('');
return (
<OASISProvider config={{ apiEndpoint: 'https://api.oasis.network' }}>
<AvatarSSO onSuccess={(avatar) => setAvatarId(avatar.id)} />
<KarmaManagement avatarId={avatarId} />
<NFTGallery avatarId={avatarId} columns={3} />
</OASISProvider>
);
}Angular
Vue 3
Vanilla JS (Web Components)
Svelte
Next.js
π Component Catalog
Authentication & User Management
AvatarSSO - Multi-provider authentication (Holochain, Ethereum, Solana, etc.)
AvatarDetail - Display and edit avatar profile information
AvatarCard - Compact avatar display card
Karma & Gamification
KarmaManagement - Display and manage karma points with history
KarmaLeaderboard - Show top karma earners with rankings
AchievementsBadges - Display user achievements and progress
NFT & Digital Assets
NFTGallery - Display NFT collections with filtering and sorting
NFTManagement - Mint, transfer, and manage NFTs
GeoNFTMap - Interactive map for location-based NFTs
GeoNFTManagement - Create and manage Geo-NFTs
Communication
Messaging - Real-time messaging component
ChatWidget - Embeddable chat widget (floating or inline)
Notifications - Toast and notification system
Data & Storage
DataManagement - CRUD operations for OASIS data
ProviderManagement - Switch between storage providers
OASISSettings - Configure OASIS settings
Social & Community
SocialFeed - Activity feed component
FriendsList - Display and manage connections
GroupManagement - Create and manage groups
π¨ Theming & Customization
Global Theme Configuration
Component-Level Customization
π API Integration
Client-Side API
Server-Side API (Next.js)
π οΈ Building Custom Components
Following the Pattern
Each component follows a consistent pattern:
Props/Attributes - Accept configuration
State Management - Handle loading, data, errors
API Integration - Fetch/update data from OASIS
Events/Callbacks - Emit events for parent components
Theming - Support light/dark modes
Styling - Scoped/modular styles
Example: Custom Component
π Resources
Full Documentation: https://docs.oasis.network/webui-devkit
API Reference: https://docs.oasis.network/api
Component Demos: https://demos.oasis.network/webui-devkit
GitHub Repository: https://github.com/oasis-network/webui-devkit
Discord Support: https://discord.gg/oasis-network
π Troubleshooting
Common Issues
Components not rendering?
Ensure OASISProvider wraps your app
Check API endpoint configuration
Verify network connectivity
Styling issues?
Import CSS:
import '@oasis/webui-devkit-react/dist/style.css'Check theme prop values
Inspect CSS variable overrides
TypeScript errors?
Install type definitions:
@types/...Update tsconfig.json include paths
Check peer dependency versions
Debug Mode
π€ Contributing
Want to add more components or improve existing ones?
Fork the repository
Create a feature branch
Follow the component pattern guide
Add tests and documentation
Submit a pull request
π License
MIT License - Use freely in your projects!
Last updated