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
|
├── router.js # Hash-Router mit :params
|
||||||
├── i18n.js # t('key'), subscribe(), updateDOM()
|
├── i18n.js # t('key'), subscribe(), updateDOM()
|
||||||
├── services/
|
├── services/
|
||||||
│ ├── directus.js # Directus API Client
|
│ ├── directus.js # Directus API Client (Core)
|
||||||
│ ├── auth.js # UUID-basierte Authentifizierung
|
│ ├── 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
|
│ └── currency.js # XMR/Fiat Umrechnung
|
||||||
└── components/
|
└── components/
|
||||||
├── app-shell.js # Layout, registriert Routes
|
├── app-shell.js # Layout, registriert Routes
|
||||||
├── app-header.js # Header (Theme-Toggle, Lang-Dropdown)
|
├── app-header.js # Header (Theme-Toggle, Lang-Dropdown)
|
||||||
├── app-footer.js # Footer
|
├── app-footer.js # Footer
|
||||||
├── auth-modal.js # Login/Register Modal
|
├── auth-modal.js # Login/Register Modal
|
||||||
|
├── chat-widget.js # E2E Chat Widget
|
||||||
└── pages/ # Seiten als Web Components
|
└── pages/ # Seiten als Web Components
|
||||||
|
|
||||||
css/
|
css/
|
||||||
@@ -101,9 +108,21 @@ locales/
|
|||||||
## Nächste Schritte
|
## Nächste Schritte
|
||||||
|
|
||||||
1. Suchseite (`page-search.js`) mit Filtern ausbauen
|
1. Suchseite (`page-search.js`) mit Filtern ausbauen
|
||||||
2. Anzeige-Detailseite (`page-listing.js`) gestalten
|
2. Profil-Seite (`page-profile.js`) erstellen - Meine Anzeigen, Favoriten
|
||||||
3. Anzeige-Erstellen-Formular (`page-create.js`) fertigstellen
|
3. Directus Berechtigungen für Public-Rolle vervollständigen
|
||||||
4. Profil-Seite (`page-profile.js`) erstellen
|
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
|
## 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 |
|
| Feature | Komplexität | Status |
|
||||||
|---------|-------------|--------|
|
|---------|-------------|--------|
|
||||||
| Anzeigen CRUD | Niedrig | 🔲 Offen |
|
| Anzeigen CRUD | Niedrig | ✅ Fertig |
|
||||||
| Fiat/XMR Preisanzeige | Niedrig | 🔲 Offen |
|
| Fiat/XMR Preisanzeige | Niedrig | ✅ Fertig |
|
||||||
| Anonyme Nutzung | Mittel | 🔲 Offen |
|
| Anonyme Nutzung (UUID + Hash) | Mittel | ✅ Fertig |
|
||||||
| PWA | Mittel | ✅ Grundgerüst |
|
| PWA | Mittel | ✅ Grundgerüst |
|
||||||
| Light/Dark Mode | Niedrig | ✅ Fertig |
|
| Light/Dark Mode | Niedrig | ✅ Fertig |
|
||||||
| i18n (DE/EN/FR) | Niedrig | ✅ Fertig |
|
| i18n (DE/EN/FR) | Niedrig | ✅ Fertig |
|
||||||
| E2E-Chat | Hoch | 🔲 Offen |
|
| Bildergalerie | Niedrig | ✅ Fertig |
|
||||||
|
| E2E-Chat | Hoch | 🔲 Vorbereitet |
|
||||||
| **Monero MultiSig** | **Sehr hoch** | 🔲 Offen |
|
| **Monero MultiSig** | **Sehr hoch** | 🔲 Offen |
|
||||||
| KI-Assistenz | Mittel | 🔲 Offen |
|
|
||||||
| Rating-System | Mittel | 🔲 Offen |
|
| Rating-System | Mittel | 🔲 Offen |
|
||||||
| 2FA | Mittel | 🔲 Offen |
|
| 2FA | Mittel | 🔲 Offen |
|
||||||
| Forum/Gruppen | Hoch | 🔲 Offen |
|
|
||||||
|
|
||||||
### ⚠️ Kritische Punkte
|
### ⚠️ Kritische Punkte
|
||||||
|
|
||||||
@@ -111,19 +110,27 @@ dgray/
|
|||||||
│ ├── router.js # Hash-basiertes Routing
|
│ ├── router.js # Hash-basiertes Routing
|
||||||
│ ├── i18n.js # Übersetzungssystem
|
│ ├── i18n.js # Übersetzungssystem
|
||||||
│ ├── services/
|
│ ├── 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/
|
│ └── components/
|
||||||
│ ├── app-shell.js # Layout-Container
|
│ ├── app-shell.js # Layout-Container
|
||||||
│ ├── app-header.js # Header mit Navigation
|
│ ├── app-header.js # Header mit Navigation
|
||||||
│ ├── app-footer.js # Footer
|
│ ├── app-footer.js # Footer
|
||||||
|
│ ├── auth-modal.js # Login/Register Modal
|
||||||
|
│ ├── chat-widget.js # E2E Chat Widget
|
||||||
│ └── pages/ # Seiten-Komponenten
|
│ └── pages/ # Seiten-Komponenten
|
||||||
├── locales/
|
├── locales/
|
||||||
│ ├── de.json # Deutsch
|
│ ├── de.json # Deutsch
|
||||||
│ ├── en.json # English
|
│ ├── en.json # English
|
||||||
│ └── fr.json # Français
|
│ └── fr.json # Français
|
||||||
└── assets/
|
└── assets/
|
||||||
├── fonts/ # Self-hosted Fonts (Inter, Space Grotesk)
|
└── fonts/ # Self-hosted Fonts
|
||||||
└── icons/ # App-Icons
|
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -139,17 +146,19 @@ dgray/
|
|||||||
- [x] Startseite mit Suche, Kategorien, Listings-Grid
|
- [x] Startseite mit Suche, Kategorien, Listings-Grid
|
||||||
- [x] Typografie (Inter + Space Grotesk)
|
- [x] Typografie (Inter + Space Grotesk)
|
||||||
- [x] Such-Komponente mit Accordion-Kategorien
|
- [x] Such-Komponente mit Accordion-Kategorien
|
||||||
|
- [x] Anzeige-Detailseite mit Bildergalerie
|
||||||
|
- [x] Anzeige-Erstellen-Formular
|
||||||
- [ ] Suchseite mit Filtern
|
- [ ] Suchseite mit Filtern
|
||||||
- [ ] Anzeige-Detailseite
|
|
||||||
- [ ] Anzeige-Erstellen-Formular
|
|
||||||
- [ ] Responsive Optimierungen
|
- [ ] Responsive Optimierungen
|
||||||
|
|
||||||
### Phase 2: Backend-Integration ⬅️ **Aktuell**
|
### Phase 2: Backend-Integration ⬅️ **Aktuell**
|
||||||
- [x] Directus aufsetzen (`api.dgray.io`)
|
- [x] Directus aufsetzen (`api.dgray.io`)
|
||||||
- [ ] Anzeigen-Collection
|
- [x] Listings-Collection (CRUD)
|
||||||
- [x] User-Auth (UUID-basiert, anonym)
|
- [x] Categories mit Übersetzungen
|
||||||
- [ ] Bilder-Upload
|
- [x] User-Auth (UUID + SHA-256 Hash, anonym)
|
||||||
- [x] API-Anbindung im Frontend (`js/services/directus.js`)
|
- [x] Bilder-Upload (Junction-Table)
|
||||||
|
- [x] API-Services (`directus.js`, `listings.js`, `categories.js`, `locations.js`)
|
||||||
|
- [ ] Directus Public-Berechtigungen vervollständigen
|
||||||
|
|
||||||
### Phase 3: Kommunikation
|
### Phase 3: Kommunikation
|
||||||
- [ ] Chat-System (E2E-verschlüsselt)
|
- [ ] Chat-System (E2E-verschlüsselt)
|
||||||
|
|||||||
@@ -426,9 +426,7 @@ class PageCreate extends HTMLElement {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('Creating listing:', listingData)
|
|
||||||
const listing = await directus.createListing(listingData)
|
const listing = await directus.createListing(listingData)
|
||||||
console.log('Created listing:', listing)
|
|
||||||
|
|
||||||
this.clearDraft()
|
this.clearDraft()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user