xCRUD Pro Nova - decoupled frontend demo
=========================================

WHAT THIS IS
------------
This folder is a complete, working example of the xCRUD Pro Nova
"decoupled frontend" architecture: every file in here (index.html, its
CSS/JS, and the small xcrud.js/theme.js library files it loads) is 100%
static. There is no PHP, no build step, and no install process. All of
it can be copied anywhere - your own computer, a USB stick, a plain
static web host, or wrapped in a tool like Capacitor for a mobile app -
and it will still work, because every piece of real functionality (the
login screen, the full sidebar menu, and every page it links to) talks
to a REMOTE xCRUD Pro Nova server over the network. This folder never
talks to a database directly and never needs one installed locally.

After logging in you get the COMPLETE Pro Nova dashboard, not just one
page: the same role-scoped sidebar menu the real (same-origin) app
shows, built from whatever your backend's Roles & Menu admin screen
currently has configured - add, rename, reorder, or hide a menu item
there and it shows up here immediately, no rebuild or redeploy of this
folder needed. Clicking any menu item loads that page's own live widget
in place, exactly like the real dashboard's own in-place navigation.

HOW TO RUN IT
-------------
Windows:      double-click "Run Demo.bat"
Mac / Linux:  double-click "run-demo.sh" (or run `./run-demo.sh` in a
              terminal if double-click just opens it as a text file -
              that depends on your Mac/Linux settings)

That's it - a browser window opens automatically at the demo. Log in
with the demo credentials shown on the login screen.

Why not just double-click index.html directly? We tried - modern
browsers deliberately block a plain local file from calling out to a
remote server like this (a security restriction, not a bug in this
demo). The launcher script works around it the standard way: it starts
a tiny local web server (using PHP or Node.js, whichever your computer
already has - most developer machines have at least one) and opens the
demo through that instead. Nothing is installed or changed on your
computer - closing the server window stops the demo completely.

Don't have PHP or Node.js? Install either one (they're both free):
  PHP:  https://www.php.net/downloads
  Node: https://nodejs.org
Then double-click the launcher again.

CONFIGURING settings.ini
-------------------------
Open settings.ini in any text editor. Every setting is a plain
`key = value` line, grouped under [section] headers:

  [backend]
  url             - the xCRUD Pro Nova server this demo talks to
  demo_username   - shown as a login hint on screen (leave blank to hide it)
  demo_password   - same

  [branding]
  app_name        - shown in the header and the login screen
  tagline         - the banner text across the top of every screen

  [purchase]
  url             - where the floating "Purchase" button links to
                    (leave blank to hide the button entirely)
  label           - the button's own text

Save the file and reload the page in your browser - no restart needed.

WHAT'S INSIDE
-------------
  index.html          the demo page itself (login screen + full dashboard shell)
  settings.ini         all of the above configuration, in one place
  xcrud.js              the xCRUD widget engine (minified evaluation copy -
                        see note below)
  themes/tailwind/
    theme.js            the visual theme xcrud.js renders with
  assets/custom.css      an (empty by default) hook for your own overrides
  libs/choices/           powers searchable relation dropdowns on pages that use them
  libs/cropper/           powers the image-crop tool on pages with image uploads
  Run Demo.bat          Windows launcher
  run-demo.sh            Mac/Linux launcher
  serve.js               the local web server the launchers use when
                        PHP isn't available (needs Node.js)

File upload / image gallery fields, the sidebar's own icons, and every
edit mode (side/modal/normal) all work exactly as they do in the real,
same-origin dashboard - nothing in this decoupled setup is a cut-down
version of the product.

ABOUT THE MINIFIED xcrud.js
----------------------------
The copy of xcrud.js in this folder is minified (compressed and
variable-renamed) rather than the fully-commented source you'll get
with a licensed copy of xCRUD Pro Nova. It's fully functional - this is
a real, working evaluation build, not a stripped-down demo - just not
meant to be read or modified as source code. Purchase a license for the
complete, documented source.

QUESTIONS / PURCHASE
---------------------
See the "Purchase" button in the demo itself, or the [purchase] url in
settings.ini.
