100 Commits

Author SHA1 Message Date
5cefb4d161 Fix Contact Us button markup 2025-12-27 11:37:07 -05:00
8b0793c42f Enhance FAQ and gallery UI 2025-12-27 11:30:38 -05:00
b585d851dd Add trusted logos and manual reviews 2025-12-27 10:29:38 -05:00
7c42800245 Prevent caching of store status updates 2025-12-26 12:58:46 -05:00
a3b8593133 Improve gallery sharing and admin tagging 2025-12-26 12:50:25 -05:00
3a679eb03c chore: match uploads by stripping timestamp prefixes 2025-12-08 16:02:51 -05:00
cf575afc3f chore: normalize brace suffix in reprocess base names 2025-12-08 15:59:34 -05:00
a94d938131 chore: allow reprocess to use raw source files 2025-12-08 15:56:12 -05:00
d230e88bd1 chore: log missing sources during reprocess 2025-12-08 15:52:39 -05:00
467fcbffb7 chore: ignore uploads and add reprocess script 2025-12-08 15:40:40 -05:00
5c391f3dee fix: load gallery/admin scripts from local folders 2025-12-08 14:17:25 -05:00
7e06f7f63a fix: serve bundle from /build path 2025-12-08 13:58:30 -05:00
35956d2849 fix: correct gallery asset paths and update fetch URL 2025-12-08 13:49:21 -05:00
7b3cfb5178 chore: ignore mongodb_data 2025-12-08 13:37:25 -05:00
9ca29e13de chore: update gallery tooling and docker setup 2025-12-08 13:26:36 -05:00
c340cd2eaf Reorganize gallery, optimize builds, add backups 2025-11-25 16:22:29 -05:00
b2a3e5d605 fix: Add HEIC/HEIF support and resolve CORS issues
- Add libheif-dev to backend Dockerfile to support HEIC/HEIF image uploads via sharp.
- Update backend URL in frontend to use 'photobackend.beachpartyballoons.com'.
- Update CORS whitelist to include the new backend hostname.
- Stage user's change to docker-compose.yml exposing port 5001.
2025-11-24 19:05:14 -05:00
962201975b fix: Resolve CORS issue for photo uploads
- Forces frontend to use HTTP for backend requests to prevent mixed content errors.
- Tightens backend CORS policy to a whitelist of allowed origins.
2025-11-24 16:39:19 -05:00
5053cbcf44 refactor: Reorganize project structure and clean up repository
This commit reflects an intentional reorganization of the project.

- Deletes obsolete root-level files.
- Restructures the admin and gallery components.
- Tracks previously untracked application modules.
2025-11-24 15:15:35 -05:00
e4240d3f02 feat: Implement UI/UX and code efficiency improvements for gallery and admin pages
This commit includes the following changes:

Gallery Page (gallery.html):
- Moved inline CSS to gallery.css for better organization and caching.
- Implemented a skeleton loader to improve perceived loading performance.
- Added a 'No results' message when search/filter yields no photos.
- Enhanced responsive image handling in the modal to load full-resolution images.

Admin Page (admin/index.html):
- Moved inline CSS to admin.css for better organization and caching.
- Fixed an aesthetic issue with the hover style on the 'Clear selection' button.
- Introduced a confirmation modal for bulk delete operations to prevent accidental data loss.
- Implemented a progress bar for file uploads, providing better user feedback.
2025-11-24 15:14:00 -05:00
cdd8ccb0e5 feat: Add docker-compose for easier application management
This commit introduces a `docker-compose.yml` file to simplify the
process of building, running, and managing the application.

- Defines the `bpb-website` service with build context, port mapping,
  and environment variables.
- Mounts a volume for `update.json` to ensure data persistence across
  container restarts.
- Sets `restart: always` to ensure the service is automatically
  restarted if it goes down.
2025-11-13 12:14:34 -05:00
72e9de96e4 feat: Containerize application with Docker and improve admin error handling
This commit introduces Docker support for the application to ensure a consistent
and reproducible environment across different deployment targets.

- Added  for building a Docker image of the application.
- Added  to exclude unnecessary files from the Docker image.
- Improved error handling in  to provide more descriptive messages
  when the server returns an unexpected response, aiding in debugging.
- Included  changes, likely from local testing.
2025-11-13 11:31:58 -05:00
91885d5ff5 Fix: Use relative URL for API requests in admin UI
Changed the  request URL in  from an absolute path
() to a relative path
().

This ensures that the API request is always sent to the same domain
that the admin page is loaded from, resolving CORS and NetworkError
issues when accessing the UI from a production FQDN or a live server
with a different port. This change relies on a correctly configured
reverse proxy in the production environment.
2025-11-12 15:07:05 -05:00
b8c8a1a45f Fix: Admin UI communication and security issues resolved 2025-11-12 14:52:35 -05:00
74aa30636c Refactor: Harden for Production
This commit refactors the Node.js server to be production-ready.

- **Strict Production Environment:** The server now checks for . If it is set, the server will refuse to start unless a secure  is provided as an environment variable. This prevents running with the insecure default password in production.
- **Logging:** Added basic logging for successful status updates and failed login attempts.
- **NPM Scripts:** Added a  script to  for starting the server in production mode ().
2025-11-12 14:26:11 -05:00
07b83c7ae8 Feature: Create Admin UI with Node.js Backend
This commit introduces a web-based admin UI to manage the store's status, backed by a simple Node.js/Express server for file writing.

Key features:
- **Admin UI (, ):** A form to update the scrolling message and closed status. It provides a user-friendly experience with loading states, in-page feedback, and change detection.
- **Node.js Backend ():** A simple Express server that serves the static site and provides a  endpoint. This endpoint receives data from the admin UI, authenticates it, and writes it to .
- **Enhanced Security:** The password is no longer hardcoded in the client-side JavaScript. Authentication is handled server-side, and the password is read from a  file for local development or an environment variable in production.
- **Project Setup (, ):** The project is now a formal Node.js project with dependencies (, , ) and a  file to exclude .
2025-11-12 14:19:34 -05:00
721bf65ed3 Feature: Implement store open/closed status with override
This commit introduces functionality to display the store's open/closed status based on a schedule, with an override mechanism for holidays or emergencies.

Changes include:
- : Added IDs to hours paragraphs for easier manipulation.
- : Refactored  to be more robust and moved its logic to  to prevent race conditions. Removed  for status updates from . Fixed lightbox navigation.
- : Added  (boolean) and  (string) fields to allow overriding the default status.
- : Consolidated all status logic. It now acts as a gatekeeper:
  - If  in  is , it displays  and ensures hours are visible.
  - If  is , it runs the scheduled open/closed logic (originally from ) and updates the status every minute, ensuring hours are always visible.
- : Reverted accidental changes and ensured only necessary status-related styles were added.

This ensures:
- The store's current open/closed status is always displayed.
- An override message can be shown for special closures.
- Store hours are always visible.
2025-11-12 13:57:52 -05:00
0505f0a641 add url for eshop 2025-10-15 14:22:43 -04:00
5c936b2b53 Merge branch 'main' of https://gitea.chrisedwards.tech/chris/bpb-website 2025-10-14 16:23:07 -04:00
29b1e92ea9 update color url 2025-10-14 16:23:04 -04:00
a0a184236c add url generator 2025-10-04 18:52:18 -04:00
c02e7fb4b6 add plausible script injector 2025-09-19 10:08:28 -04:00
9951904e6d fix galery color links 2025-08-30 18:00:20 -04:00
b4da98f40d add plausible link 2025-08-30 17:55:37 -04:00
5cbc7c1190 add color to menu 2025-08-30 17:48:58 -04:00
c2476135ff comment out metrics - until fix 2025-08-23 06:33:24 -04:00
07c57999b3 added update ticker 2025-06-25 20:26:01 -04:00
6462d153e4 added alyssa to about 2025-06-08 22:23:52 -04:00
40c422c9e4 typo 2025-05-05 15:56:48 -04:00
f15aac5f17 logo to webp 2025-03-17 21:33:13 -04:00
c83490d4c9 remove extra font code, add meta description 2025-03-17 21:14:35 -04:00
dee52d9b0c fix contact us button link 2025-03-05 22:40:57 -05:00
160370eb93 remove ref to index.html 2025-03-04 18:47:10 -05:00
fa6a499de8 update open status js 2025-03-03 09:16:46 -05:00
3e895307d9 gallery img is link, add open/closed sign 2025-03-02 22:19:49 -05:00
0ce88f7961 add metrics for gallery pages 2025-03-02 19:55:39 -05:00
d77d46d358 added phone, address, and location to contact page 2025-03-02 10:14:23 -05:00
7245e97034 forgot to update terms page 2025-03-02 10:10:24 -05:00
fa1e2ba5ff update metrics and form popup 2025-03-02 10:07:56 -05:00
6304066cd6 clean up old files 2025-03-02 09:59:25 -05:00