NeilClack bbf4ac12ee Portal: calendar-style weekly schedule grid, responsive on mobile
Replace the stacked per-day lists with a Google-Calendar-style WeekSchedule:
day columns side by side over a shared, sticky time gutter. Click or drag an
empty slot to create a block at that time; click a block to edit it. The
daily schedule reuses the same grid with a single 'Every day' column so both
modes look consistent. On narrow screens the row scrolls horizontally with
short day labels and the gutter pinned, keeping it usable on phones. Also
change the type switcher and copy dialog to enhanced form submissions (no
full-page reload) so they respond immediately. Removes the now-unused
DaySchedule component.
2026-09-29 13:09:48 -05:00
2026-09-11 15:36:03 -05:00
2026-02-24 12:08:01 -06:00
2026-07-06 21:01:41 -05:00
2026-01-13 16:21:12 -06:00
2026-07-17 13:28:40 -05:00
2026-09-11 12:44:44 -05:00
2026-01-20 08:40:05 -06:00
2026-01-13 16:21:12 -06:00

Radiant Wave Technologies - User Portal

A combination application that combines the main Radiant Wave API with a user-facing account management application, and an admin-facing platform management application. An all-in-one management platform for Radiant Wave and Radiant Wave Technologies.

SvelteKit 2 + Svelte 5 + Tailwind CSS v4 + Prisma 7 + PostgreSQL + Better-Auth.

Deployment

This application runs inside of a Docker container, defined by the Dockerfile found within this repo. Codeberg/Gitea actions are triggered on push actions to the main branch, and build the docker container. The docker container is then uploaded to the Digital Ocean Container Registry, where it is pulled into an App Platform application and run.

To build the Docker container locally (with podman), ensuring builds pass prior to pushing to main:

podman build --platform linux/amd64 -t registry.digitalocean.com/radiantwave-portal-container-registry/portal:latest .

To build the Docker container on a Linux machine, such as a Forgejo Action Runner:

docker build -t registry.digitalocean.com/radiantwave-portal-container-registry/portal:latest .

Then push to the container registry:

podman push registry.digitalocean.com/radiantwave-portal-container-registry/portal:latest

Development

Admin

Admin pages live under /admin (requires roleId <= 3); /admin redirects to /admin/profiles. Each route owns its own form and modal logic, built on the shared DataTable.svelte and AdminModal.svelte components. The generic $lib/svelte-admin CRUD layer has been removed; see docs/ADMIN_OVERHAUL.md for the migration notes.

Route Notes
/admin/users Name, Email, Role
/admin/profiles Reference implementation
/admin/proclamations Super-only content edits
/admin/solfeggio-frequencies
/admin/proclamation-categories Draggable reorder
/admin/proclamation-groups Draggable reorder
/admin/license-keys List-only + rotate
S
Description
No description provided
Readme
2 MiB
Languages
TypeScript 89.3%
Svelte 9.5%
HTML 1%
Dockerfile 0.1%