Test Simülasyonu

AI Buton Test Simülasyonu

11 Ocak 2026 - Muzibu Tenant 1001

Sistem Akışı

AI (Claude)
Markdown üretir
parseMarkdown()
HTML'e çevirir
Kullanıcı
Tıklanabilir butonlar

Simülasyon 1: Tek Şarkı Önerisi

1️⃣ AI Üretir (Markdown):

### 🎵 Aşk Laftan Anlamaz
🎤 Sezen Aksu • 📀 Gülümse • ⏱️ 4:23 • 🎸 Pop

[▶️](#play-song-123) [❤️](#fav-song-123) [➕](#add-song-123)

2️⃣ JavaScript İşler (Regex):

[▶️](#play-song-123) /\[▶️\]\(#play-song-(\d+)\)/gi songId = 123
[❤️](#fav-song-123) /\[❤️\]\(#fav-song-(\d+)\)/gi songId = 123
[➕](#add-song-123) /\[➕\]\(#add-song-(\d+)\)/gi songId = 123

3️⃣ Kullanıcı Görür (HTML):

🎵 Aşk Laftan Anlamaz

🎤 Sezen Aksu • 📀 Gülümse • ⏱️ 4:23 • 🎸 Pop

4️⃣ Tıklanınca (onclick):

▶️ window.playContent('song', 123) → Player başlar
❤️ Alpine.store('tenant1001AI').handleAddToFavorites('song', 123)
Alpine.store('tenant1001AI').showAddToPlaylistModal(123)

Simülasyon 2: Tablo Formatında Playlist

1️⃣ AI Üretir (Markdown Tablo):

## 🎵 Enerjik Pop Mix | Muzibu AI
📊 **3 şarkı** • ⏱️ **12 dk** • 🎸 **Pop**
---

| # | Şarkı | Sanatçı | Süre | |
|:---:|:---|:---|:---:|:---:|
| 1 | **Aşk Laftan Anlamaz** | Sezen Aksu | 4:23 | [▶️](#play-song-123) |
| 2 | **Gülümse** | Sezen Aksu | 3:45 | [▶️](#play-song-124) |
| 3 | **Firuze** | Sezen Aksu | 5:12 | [▶️](#play-song-125) |

2️⃣ JavaScript İşler:

1. Tablo regex: /^\|(.+)\|$/gm → Her satırı yakalar
2. Separator temizle: |:---:|:---|... → Kaldırılır
3. [▶️](#play-song-X) → Button: <button onclick="playContent('song',X)">

3️⃣ Kullanıcı Görür:

🎵 Enerjik Pop Mix | Muzibu AI

📊 3 şarkı • ⏱️ 12 dk • 🎸 Pop

# Şarkı Sanatçı Süre
1 Aşk Laftan Anlamaz Sezen Aksu 4:23
2 Gülümse Sezen Aksu 3:45
3 Firuze Sezen Aksu 5:12

JavaScript Fonksiyon Referansı

Play
window.playContent('song', ID)

Player'da şarkıyı başlatır. Global player fonksiyonu.

Favorite
handleAddToFavorites('song', ID)

API çağrısı yapar: POST /api/muzibu/ai/favorite/add

Playlist'e Ekle
showAddToPlaylistModal(ID)

Global addToPlaylist varsa çağırır, yoksa şarkı sayfasına yönlendirir.

Değiştirilen Dosyalar

Eklendi tenant1001-ai-chat.js
  • • Hash-based play handler: [▶️](#play-song-ID)
  • • Hash-based fav handler: [❤️](#fav-song-ID)
  • • Hash-based add handler: [➕](#add-song-ID)
  • • Markdown table desteği
  • showAddToPlaylistModal() fonksiyonu
Mevcut Tenant1001/PromptService.php

AI'a icon-only buton formatı öğretildi: [▶️](#play-song-{ID})

Manuel Test Checklist