update AGENTS, README; cleanup page create
This commit is contained in:
29
AGENTS.md
29
AGENTS.md
@@ -41,14 +41,21 @@ js/
|
||||
├── router.js # Hash-Router mit :params
|
||||
├── i18n.js # t('key'), subscribe(), updateDOM()
|
||||
├── services/
|
||||
│ ├── directus.js # Directus API Client
|
||||
│ ├── auth.js # UUID-basierte Authentifizierung
|
||||
│ ├── directus.js # Directus API Client (Core)
|
||||
│ ├── auth.js # UUID-basierte Authentifizierung (SHA-256 Hash)
|
||||
│ ├── listings.js # Listings Service (Filter, Preis-Formatierung)
|
||||
│ ├── categories.js # Kategorien Service (Baum, Übersetzungen)
|
||||
│ ├── locations.js # Standorte Service (Geo-Suche)
|
||||
│ ├── conversations.js # Zero-Knowledge Chat (E2E verschlüsselt)
|
||||
│ ├── chat.js # LocalStorage Chat (Legacy/Mock)
|
||||
│ ├── crypto.js # NaCl Encryption
|
||||
│ └── currency.js # XMR/Fiat Umrechnung
|
||||
└── components/
|
||||
├── app-shell.js # Layout, registriert Routes
|
||||
├── app-header.js # Header (Theme-Toggle, Lang-Dropdown)
|
||||
├── app-footer.js # Footer
|
||||
├── auth-modal.js # Login/Register Modal
|
||||
├── chat-widget.js # E2E Chat Widget
|
||||
└── pages/ # Seiten als Web Components
|
||||
|
||||
css/
|
||||
@@ -101,9 +108,21 @@ locales/
|
||||
## Nächste Schritte
|
||||
|
||||
1. Suchseite (`page-search.js`) mit Filtern ausbauen
|
||||
2. Anzeige-Detailseite (`page-listing.js`) gestalten
|
||||
3. Anzeige-Erstellen-Formular (`page-create.js`) fertigstellen
|
||||
4. Profil-Seite (`page-profile.js`) erstellen
|
||||
2. Profil-Seite (`page-profile.js`) erstellen - Meine Anzeigen, Favoriten
|
||||
3. Directus Berechtigungen für Public-Rolle vervollständigen
|
||||
4. Location-Picker für Anzeigen-Erstellung
|
||||
|
||||
## Directus Berechtigungen (Public-Rolle)
|
||||
|
||||
| Collection | Read | Create | Hinweise |
|
||||
|------------|------|--------|----------|
|
||||
| `listings` | ✓ | ✓ | Nur `status=published` lesen |
|
||||
| `listings_files` | ✓ | ✓ | Junction-Table für Bilder |
|
||||
| `directus_files` | ✓ | ✓ | Für Assets/Bilder |
|
||||
| `categories` | ✓ | - | Nur `status=published` |
|
||||
| `categories_translations` | ✓ | - | Für i18n |
|
||||
| `locations` | ✓ | - | Für Standort-Auswahl |
|
||||
| `languages` | ✓ | - | Für Sprachen-Liste |
|
||||
|
||||
## Farbpalette
|
||||
|
||||
|
||||
39
README.md
39
README.md
@@ -19,18 +19,17 @@ dgray.io ermöglicht es Nutzern, Kleinanzeigen zu schalten und Waren/Dienstleist
|
||||
|
||||
| Feature | Komplexität | Status |
|
||||
|---------|-------------|--------|
|
||||
| Anzeigen CRUD | Niedrig | 🔲 Offen |
|
||||
| Fiat/XMR Preisanzeige | Niedrig | 🔲 Offen |
|
||||
| Anonyme Nutzung | Mittel | 🔲 Offen |
|
||||
| Anzeigen CRUD | Niedrig | ✅ Fertig |
|
||||
| Fiat/XMR Preisanzeige | Niedrig | ✅ Fertig |
|
||||
| Anonyme Nutzung (UUID + Hash) | Mittel | ✅ Fertig |
|
||||
| PWA | Mittel | ✅ Grundgerüst |
|
||||
| Light/Dark Mode | Niedrig | ✅ Fertig |
|
||||
| i18n (DE/EN/FR) | Niedrig | ✅ Fertig |
|
||||
| E2E-Chat | Hoch | 🔲 Offen |
|
||||
| Bildergalerie | Niedrig | ✅ Fertig |
|
||||
| E2E-Chat | Hoch | 🔲 Vorbereitet |
|
||||
| **Monero MultiSig** | **Sehr hoch** | 🔲 Offen |
|
||||
| KI-Assistenz | Mittel | 🔲 Offen |
|
||||
| Rating-System | Mittel | 🔲 Offen |
|
||||
| 2FA | Mittel | 🔲 Offen |
|
||||
| Forum/Gruppen | Hoch | 🔲 Offen |
|
||||
|
||||
### ⚠️ Kritische Punkte
|
||||
|
||||
@@ -111,19 +110,27 @@ dgray/
|
||||
│ ├── router.js # Hash-basiertes Routing
|
||||
│ ├── i18n.js # Übersetzungssystem
|
||||
│ ├── services/
|
||||
│ │ └── api.js # API-Client (Vorbereitung)
|
||||
│ │ ├── directus.js # Directus API Client
|
||||
│ │ ├── auth.js # UUID-Auth (SHA-256 Hash)
|
||||
│ │ ├── listings.js # Listings-Service
|
||||
│ │ ├── categories.js # Kategorien-Service
|
||||
│ │ ├── locations.js # Standorte-Service
|
||||
│ │ ├── conversations.js# Zero-Knowledge Chat
|
||||
│ │ ├── crypto.js # NaCl Encryption
|
||||
│ │ └── currency.js # XMR/Fiat Umrechnung
|
||||
│ └── components/
|
||||
│ ├── app-shell.js # Layout-Container
|
||||
│ ├── app-header.js # Header mit Navigation
|
||||
│ ├── app-footer.js # Footer
|
||||
│ ├── auth-modal.js # Login/Register Modal
|
||||
│ ├── chat-widget.js # E2E Chat Widget
|
||||
│ └── pages/ # Seiten-Komponenten
|
||||
├── locales/
|
||||
│ ├── de.json # Deutsch
|
||||
│ ├── en.json # English
|
||||
│ └── fr.json # Français
|
||||
└── assets/
|
||||
├── fonts/ # Self-hosted Fonts (Inter, Space Grotesk)
|
||||
└── icons/ # App-Icons
|
||||
└── fonts/ # Self-hosted Fonts
|
||||
```
|
||||
|
||||
---
|
||||
@@ -139,17 +146,19 @@ dgray/
|
||||
- [x] Startseite mit Suche, Kategorien, Listings-Grid
|
||||
- [x] Typografie (Inter + Space Grotesk)
|
||||
- [x] Such-Komponente mit Accordion-Kategorien
|
||||
- [x] Anzeige-Detailseite mit Bildergalerie
|
||||
- [x] Anzeige-Erstellen-Formular
|
||||
- [ ] Suchseite mit Filtern
|
||||
- [ ] Anzeige-Detailseite
|
||||
- [ ] Anzeige-Erstellen-Formular
|
||||
- [ ] Responsive Optimierungen
|
||||
|
||||
### Phase 2: Backend-Integration ⬅️ **Aktuell**
|
||||
- [x] Directus aufsetzen (`api.dgray.io`)
|
||||
- [ ] Anzeigen-Collection
|
||||
- [x] User-Auth (UUID-basiert, anonym)
|
||||
- [ ] Bilder-Upload
|
||||
- [x] API-Anbindung im Frontend (`js/services/directus.js`)
|
||||
- [x] Listings-Collection (CRUD)
|
||||
- [x] Categories mit Übersetzungen
|
||||
- [x] User-Auth (UUID + SHA-256 Hash, anonym)
|
||||
- [x] Bilder-Upload (Junction-Table)
|
||||
- [x] API-Services (`directus.js`, `listings.js`, `categories.js`, `locations.js`)
|
||||
- [ ] Directus Public-Berechtigungen vervollständigen
|
||||
|
||||
### Phase 3: Kommunikation
|
||||
- [ ] Chat-System (E2E-verschlüsselt)
|
||||
|
||||
@@ -426,9 +426,7 @@ class PageCreate extends HTMLElement {
|
||||
}
|
||||
}
|
||||
|
||||
console.log('Creating listing:', listingData)
|
||||
const listing = await directus.createListing(listingData)
|
||||
console.log('Created listing:', listing)
|
||||
|
||||
this.clearDraft()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user