# @ecobridge.xyz/catalog

A web component catalog for building ecobridge application interfaces. Built on top of `@design.estate/dees-catalog` and extending it with specialized components for the ecobridge ecosystem.

## Installation

```bash
pnpm add @ecobridge.xyz/catalog
```

## Components

### EcoApplauncher

The main application launcher component providing a complete desktop-like interface with:

- Login view with customizable authentication
- Home view with app grid
- Top bar with date, search, notifications, and user info
- Status bar with network, battery, sound, and keyboard indicators
- Power menu with shutdown, restart, sleep, and lock options

```typescript
import { EcoApplauncher } from '@ecobridge.xyz/catalog';

const launcher = document.createElement('eco-applauncher');
launcher.mode = 'login'; // or 'home'
launcher.apps = [
  { name: 'Settings', icon: 'lucide:settings', action: () => openSettings() },
  { name: 'Files', icon: 'lucide:folder', action: () => openFiles() },
];
document.body.appendChild(launcher);
```

### Sub-Components

| Component | Description |
|-----------|-------------|
| `EcoApplauncherWifimenu` | WiFi network selection menu |
| `EcoApplauncherBatterymenu` | Battery status and power mode menu |
| `EcoApplauncherSoundmenu` | Audio device and volume control menu |
| `EcoApplauncherKeyboard` | Virtual on-screen keyboard |
| `EcoApplauncherPowermenu` | Power actions menu (shutdown, restart, etc.) |

### EcoScreensaver

A subtle animated screensaver component with flowing geometric patterns.

```typescript
import { EcoScreensaver } from '@ecobridge.xyz/catalog';

// Show screensaver
await EcoScreensaver.show();

// Hide screensaver
EcoScreensaver.hide();
```

## Development

```bash
# Install dependencies
pnpm install

# Watch mode for development
pnpm run watch

# Build
pnpm run build

# Run tests
pnpm test
```

## License and Legal Information

This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [LICENSE](./LICENSE) file.

**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.

### Trademarks

This project is owned and maintained by Lossless GmbH. The names and logos associated with Lossless GmbH and any related products or services are trademarks of Lossless GmbH or third parties, and are not included within the scope of the MIT license granted herein.

### Company Information

Lossless GmbH

For any legal inquiries or further information, please contact us via the official channels.

By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Lossless GmbH of any derivative works.
