Features: - Add LinkedIn OAuth integration and auto-posting functionality - Add scheduler service for automated post publishing - Add metadata field to generated_posts for LinkedIn URLs - Add privacy policy page for LinkedIn API compliance - Add company management features and employee accounts - Add license key system for company registrations Fixes: - Fix timezone issues (use UTC consistently across app) - Fix datetime serialization errors in database operations - Fix scheduling timezone conversion (local time to UTC) - Fix import errors (get_database -> db) Infrastructure: - Update Docker setup to use port 8001 (avoid conflicts) - Add SSL support with nginx-proxy and Let's Encrypt - Add LinkedIn setup documentation - Add migration scripts for schema updates Services: - Add linkedin_service.py for LinkedIn API integration - Add scheduler_service.py for background job processing - Add storage_service.py for Supabase Storage - Add email_service.py improvements - Add encryption utilities for token storage Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
78 lines
3.7 KiB
HTML
78 lines
3.7 KiB
HTML
{% extends "onboarding/base.html" %}
|
|
|
|
{% block title %}Unternehmensdaten{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="text-center mb-8">
|
|
<h1 class="text-2xl font-bold text-white mb-2">Unternehmensdaten</h1>
|
|
<p class="text-gray-400">Erzähl uns mehr über dein Unternehmen.</p>
|
|
</div>
|
|
|
|
{% if error %}
|
|
<div class="bg-red-900/50 border border-red-500 text-red-200 px-4 py-3 rounded-lg mb-6">
|
|
{{ error }}
|
|
</div>
|
|
{% endif %}
|
|
|
|
<form method="POST" action="/onboarding/company" class="space-y-6">
|
|
<!-- Company Name -->
|
|
<div>
|
|
<label for="name" class="block text-sm font-medium text-gray-300 mb-1">
|
|
Unternehmensname *
|
|
</label>
|
|
<input type="text" id="name" name="name" required
|
|
class="w-full input-bg border rounded-lg px-4 py-3 text-white"
|
|
placeholder="Dein Unternehmen GmbH"
|
|
value="{{ company.name if company else '' }}">
|
|
</div>
|
|
|
|
<!-- Description -->
|
|
<div>
|
|
<label for="description" class="block text-sm font-medium text-gray-300 mb-1">
|
|
Beschreibung
|
|
</label>
|
|
<textarea id="description" name="description" rows="3"
|
|
class="w-full input-bg border rounded-lg px-4 py-3 text-white"
|
|
placeholder="Was macht dein Unternehmen?">{{ company.description if company else '' }}</textarea>
|
|
</div>
|
|
|
|
<!-- Website & Industry -->
|
|
<div class="grid md:grid-cols-2 gap-4">
|
|
<div>
|
|
<label for="website" class="block text-sm font-medium text-gray-300 mb-1">
|
|
Website
|
|
</label>
|
|
<input type="url" id="website" name="website"
|
|
class="w-full input-bg border rounded-lg px-4 py-3 text-white"
|
|
placeholder="https://dein-unternehmen.de"
|
|
value="{{ company.website if company else '' }}">
|
|
</div>
|
|
<div>
|
|
<label for="industry" class="block text-sm font-medium text-gray-300 mb-1">
|
|
Branche
|
|
</label>
|
|
<select id="industry" name="industry"
|
|
class="w-full input-bg border rounded-lg px-4 py-3 text-white">
|
|
<option value="">Bitte wählen...</option>
|
|
<option value="technology" {% if company and company.industry == 'technology' %}selected{% endif %}>Technologie</option>
|
|
<option value="finance" {% if company and company.industry == 'finance' %}selected{% endif %}>Finanzen</option>
|
|
<option value="healthcare" {% if company and company.industry == 'healthcare' %}selected{% endif %}>Gesundheitswesen</option>
|
|
<option value="education" {% if company and company.industry == 'education' %}selected{% endif %}>Bildung</option>
|
|
<option value="retail" {% if company and company.industry == 'retail' %}selected{% endif %}>Einzelhandel</option>
|
|
<option value="manufacturing" {% if company and company.industry == 'manufacturing' %}selected{% endif %}>Produktion</option>
|
|
<option value="consulting" {% if company and company.industry == 'consulting' %}selected{% endif %}>Beratung</option>
|
|
<option value="marketing" {% if company and company.industry == 'marketing' %}selected{% endif %}>Marketing & Werbung</option>
|
|
<option value="real_estate" {% if company and company.industry == 'real_estate' %}selected{% endif %}>Immobilien</option>
|
|
<option value="other" {% if company and company.industry == 'other' %}selected{% endif %}>Sonstiges</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex justify-end pt-4">
|
|
<button type="submit" class="btn-primary font-medium py-3 px-8 rounded-lg transition-colors">
|
|
Weiter zur Strategie
|
|
</button>
|
|
</div>
|
|
</form>
|
|
{% endblock %}
|