JSFiddle - React, Tailwind, and code Playground

by JoshGough

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>67 Eagles: Redux Voice Core</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/annyang/2.6.1/annyang.min.js"></script>
    <script src="https://unpkg.com/@reduxjs/[email protected]/dist/redux-toolkit.umd.js"></script>
    <style>
        :root { --accent: #2ecc71; --bg: #050505; --error: #e74c3c; }
        body { background: var(--bg); color: white; font-family: 'Courier New', monospace; margin: 0; display: flex; flex-direction: column; height: 100vh; }
        
        #hud { padding: 20px; border-bottom: 2px solid #222; display: flex; justify-content: space-between; align-items: center; }
        #echo { height: 180px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #000; border-bottom: 2px solid var(--accent); transition: all 0.2s; }
        #echo.error { border-bottom-color: var(--error); }
        
        .player-display { font-size: 3.5rem; font-weight: 900; color: var(--accent); }
        .action-display { font-size: 1.2rem; opacity: 0.7; letter-spacing: 2px; }
        
        #event-stream { flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column-reverse; gap: 5px; }
        .event-node { font-size: 0.8rem; padding: 8px; border-bottom: 1px solid #111; color: #666; }
        .event-node b { color: #aaa; }
    </style>
</head>
<body>

<div id="hud">
    <div style="font-weight: 900;">[ EVENT_STORE: ACTIVE ]</div>
    <div id="stat-count">EVENTS: 0</div>
</div>

<div id="echo" class="">
    <div class="player-display" id="disp-p">IDLE</div>
    <div class="action-display" id="disp-a">SYSTEM_READY</div>
</div>

<div id="event-stream"></div>

<script>
    const { createSlice, configureStore } = window.RTK;

    // --- REDUX LOGIC (The Purist Way) ---
    const gameSlice =...