Add global music player, invoicing/payment system, account subpages, mail account admin, and the qualityiron.vegas Jet 2.0 port

Jet interpreter (Tag.cpp, __call.cpp, __imap*.cpp/h, __smtpsend.cpp/h,
__imapemptyfolder.cpp/h - new): assorted parser/tag fixes found across
this work - a stray literal-tag-in-comment and backslash-quote parser
corruption class, a dangling-pointer fix, a __call.cpp fd leak, IMAP
folder-management tags, multi-account/per-host IMAP support, and a
smtpsend Message-ID fix.

barant.com site (jetc/barant-site/):
- A site-wide persistent music player (header band, playlist/queue,
  stereo FFT EQ, session-persisted state) fed by new library/
  ianslibrary/music song-list subpages.
- /account split into info/phones/invoices subpages; a full invoicing
  and Square payment system (create/edit/copy/pay/email invoice);
  admin invoice management and mail-account management subpages.
- /services split into overview/hosting/siptrunking/documents
  subpages, retiring the old standalone pages.
- SIPPHONE.tag: a Jet 2.0 WebRTC softphone tag.
- main.css/spa.js/email.js: the SPA loading indicator, the music
  player band styling, and assorted fixes accumulated alongside this
  work.

qualityiron-site/: the qualityiron.vegas job/contractor/customer/
document management app, ported from its original Jet 1.4 codebase to
Jet 2.0 as barant.coms APIServers second multi-tenant site.

wcwc/wcwc.jet: the WCWC site Jet source (wcwc.jtc build output not
included).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Brad ArantandClaude Sonnet 5 committed 2026-10-06 17:42:01 +00:00
1 parent 905fbafa5a
commit b8f7793773
406 files changed
+15803 -587

No files matched your search

+15
View File
@@ -0,0 +1,15 @@
<div class="card">
<table>
<tr><th>Name:</th><td>$[name]</td></tr>
<tr><th>Address1:</th><td>$[address1]</td></tr>
<tr><th>Address2:</th><td>$[address2]</td></tr>
<tr><th>City:</th><td>$[city]</td></tr>
<tr><th>State:</th><td>$[state]</td></tr>
<tr><th>Zip Code:</th><td>$[zip_code]</td></tr>
<tr><th>Contact Name:</th><td>$[contact]</td></tr>
<tr><th>Contact Phone:</th><td>$[contact_phone]</td></tr>
<tr><th>Contact EMail:</th><td>$[contact_email]</td></tr>
<tr><th>Created:</th><td>$[created_date]</td></tr>
<tr><th>Owner:</th><td>$[owner_name]</td></tr>
</table>
</div>