vendor.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. require_once __DIR__ . '/lib/identity.php';
  3. require_once __DIR__ . '/lib/render.php';
  4. $slug = $_GET['v'] ?? '';
  5. $vendor = current_actor_from_vendor($slug);
  6. $vid = (int) $vendor['id'];
  7. $maxId = max_message_id($vid);
  8. ?><!doctype html>
  9. <html lang="en">
  10. <head>
  11. <meta charset="utf-8">
  12. <title><?= h($vendor['name']) ?> &mdash; Schedule</title>
  13. <link rel="stylesheet" href="assets/app.css">
  14. <script>
  15. window.PDQ = {
  16. actor: <?= json_encode($vendor['slug']) ?>,
  17. audience: 'vendor',
  18. vendors: [<?= json_encode(['slug' => $vendor['slug'], 'name' => $vendor['name']]) ?>],
  19. pollMs: 180000
  20. };
  21. </script>
  22. <script src="assets/app.js" defer></script>
  23. </head>
  24. <body>
  25. <div class="topbar">
  26. <h1><?= h($vendor['name']) ?>'s Schedule</h1>
  27. <span class="who">Signed in as <strong><?= h($vendor['name']) ?></strong> &middot; <span id="sync-time">Loading…</span></span>
  28. </div>
  29. <div class="jobs-wrap">
  30. <div id="jobs-table"><?= render_jobs_table('vendor', $vid) ?></div>
  31. </div>
  32. <section class="thread" data-vendor="<?= h($vendor['slug']) ?>">
  33. <h2>Messages with ICG</h2>
  34. <div class="thread-list" data-max-id="<?= $maxId ?>">
  35. <?php
  36. $rendered = render_messages($vid);
  37. echo $rendered !== '' ? $rendered : '<div class="msg-empty">No messages yet.</div>';
  38. ?>
  39. </div>
  40. <form class="thread-compose" autocomplete="off">
  41. <input type="text" name="body" placeholder="Message ICG…" maxlength="4000" required>
  42. <button type="submit" class="btn btn-post">Post</button>
  43. </form>
  44. </section>
  45. </body>
  46. </html>