# B2in - Multi-Domain Laravel-Anwendung

## Übersicht

Diese Laravel-Anwendung unterstützt verschiedene Domains mit unterschiedlichen Styles:

-   **Admin-Portal**: portal.b2in.test - Administrative Funktionen
-   **Haupt-Website**: b2in.test - Haupt-Landing-Page
-   **Landing Page 1**: landing1.test - Spezifisches Thema mit Indigo/Amber-Farben
-   **Landing Page 2**: landing2.test - Spezifisches Thema mit Teal/Pink-Farben

## Installation

1. Repository klonen
2. Abhängigkeiten installieren:
    ```bash
    composer install
    npm install
    ```
3. Umgebungsvariablen konfigurieren (siehe `.env.example` und `DOMAINS-CONFIG.md`)
4. Laravel-Anwendung initialisieren:
    ```bash
    php artisan key:generate
    php artisan migrate
    ```
5. Assets kompilieren:
    ```bash
    npm run build
    npm run build:admin
    npm run build:web
    ```

## Domain-Konfiguration

Die Domains werden über die `.env`-Datei konfiguriert. Für detaillierte Anweisungen siehe `DOMAINS-CONFIG.md`.

### Hosts-Datei konfigurieren

Für die lokale Entwicklung ist es erforderlich, die folgenden Einträge in deiner Hosts-Datei hinzuzufügen:

```
127.0.0.1   portal.b2in.test
127.0.0.1   b2in.test
127.0.0.1   landing1.test
127.0.0.1   landing2.test
```

### Lokaler Entwicklungsserver

```bash
php artisan serve
```

## Asset-Kompilierung

Diese Anwendung verwendet Vite mit verschiedenen Konfigurationen:

-   **Hauptkompilierung**: `npm run dev` oder `npm run build`
-   **Admin-Assets**: `npm run build:admin`
-   **Web-Assets**: `npm run build:web`

## Domain-Simulation

Während der Entwicklung können Domains simuliert werden, ohne die Hosts-Datei zu bearbeiten:

1. In der `.env`-Datei: `DEV_SIMULATE_DOMAIN=true`
2. Gewünschte Domain angeben: `DEV_SIMULATED_DOMAIN=landing1.local`

## Favicons

Um Platzhalter-Favicons für alle konfigurierten Domains zu generieren:

```bash
php artisan domains:generate-favicons
```
