79 Commits

Author SHA1 Message Date
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
cf995f2e80 clean up old files 2025-03-02 09:59:13 -05:00
6e09f0a32c add gitignore 2025-03-02 09:54:22 -05:00
ec1897f247 add rotate script 2025-02-26 21:26:50 -05:00
50aed702fa add .gitattributes 2025-02-26 21:26:19 -05:00
81039f5bcf update convert scripts and fixed card title size 2025-02-21 07:36:28 -05:00
f6141b0047 center and fit modal 2025-02-20 21:11:43 -05:00
a2549ff7db fix bulma modal 2025-02-20 20:49:31 -05:00
664c95820f fix modal mobile size 2025-02-20 11:35:21 -05:00
58a3275a49 update bulma modal 2025-02-20 11:13:15 -05:00
797acae974 Merge branch 'main' of https://gitea.chrisedwards.tech/chris/bpb-website
delete requirements.txt
2025-02-20 09:51:46 -05:00
0fb4e0af5c adjust back to top button 2025-02-20 09:48:34 -05:00
537487924b Remove requirements.txt 2025-02-20 07:42:42 -05:00
e47e495911 add lazy loading on gallery 2025-02-20 00:11:12 -05:00
b60e1044e1 add back to top button on all pages 2025-02-20 00:07:26 -05:00
169d1977b4 fix nav on mobile in gallery 2025-02-19 23:45:45 -05:00
d656f79bf2 updated gallery convert code 2025-02-19 22:47:03 -05:00
d019a24c3d final update for gallery 2025-02-19 22:13:40 -05:00
681569e5b3 adjust main contact button 2025-02-18 14:25:58 -05:00
3208b58067 update FAQ 2025-02-18 14:07:31 -05:00
c0634c0971 add metrics 2025-02-18 13:30:36 -05:00
a880d6bc8a contact form now work! 2025-02-18 12:05:50 -05:00