Implemented logic to store and retrieve theme preferences using localStorage for both logged-in users and guests. This ensures the selected theme is applied immediately on load, preventing theme flash issues. Adjusted initialization to apply the correct theme at app startup.
Adjusted the logic to ensure celebrations trigger only when the winner ID changes and not on initial meta loads. Also added a reset check to prevent celebrations when the winner ID becomes empty.
This update introduces a winner celebration overlay displayed when a game's winner is announced. It includes confetti animations along with a congratulatory message, enhancing user experience. The feature resets appropriately during game transitions and logout to maintain correct behavior.
This update introduces visual indicators to identify the host and the current user in the GamePickerCard component. Hosts are marked with a star, and the current user is labeled as "(du)". The design of the member pills has also been enhanced for better clarity and aesthetics.
Added functionality to display members in GamePickerCard, replacing the previously redundant implementation in NewGameModal. This change centralizes member display logic, reducing code duplication and improving maintainability.
Introduced a UI element in NewGameModal to display the list of current members when available. Also used React Portal to render the bottom snack for joins directly in the document body. These updates enhance UI clarity and user feedback during game interactions.
Added functionality to detect new members joining games, displaying a snack message and providing optional vibration feedback. Managed state with refs to track members and reset baselines when switching games. Styled a bottom toast notification for better user feedback.
Introduced functionality to detect and handle ongoing games in the new game modal. The modal now switches between "running" and "choice" modes based on game state, improving clarity for users. Added a dedicated section to display the game code when a game is active.
Implemented a useEffect to periodically refresh game member and winner metadata every 2.5 seconds. This ensures new joiners are visible without requiring a page reload, balancing performance and usability.
Updated backend to include winner's display name in the game metadata API and frontend to display it alongside the email. This enhances clarity by showing a more user-friendly identifier.
Introduced an endpoint to fetch user stats and integrated it with a new StatsModal component in the frontend. Users can now view game statistics, including played games, wins, losses, and win rates, accessible from the user menu.
This commit introduces significant changes across the backend and frontend to improve game creation, joining, and member management. Key updates include adding a host role, structured handling of winners, and a New Game modal in the frontend. The refactor also simplifies join codes, improves persistence for user themes, and enhances overall user interaction with better UI feedback and logic.
This update introduces "join codes" for games to simplify game joining. Enhancements include player role and winner management for better organization. Additionally, theme preferences are now user-configurable and persisted server-side.
Refactored winner storage logic by introducing `clearWinnerLS` and replacing outdated functions with `getWinnerLS` and `setWinnerLS`. Added a `WinnerBadge` component to display the winner's status and updated game lifecycle handling to ensure proper winner reset and management.
Introduced a theme selection feature, allowing users to customize the application's appearance, with themes stored per user. Added functionality to manage and store the game's winner locally. These changes improve user experience and personalization.
Split GamePickerCard, HelpModal, and SheetSection into separate components for better modularity and clarity. Refactored App.jsx to utilize these new components, restructured state variables, and organized functions for improved readability. Enhanced code comments for easier maintenance.
The changes split large features into smaller, reusable components like `AdminPanel`, `LoginPage`, `TopBar`, `PasswordModal`, and `ChipModal`. Utility functions such as `cycleTag` and `chipStorage` were extracted for better organization. This improves the code's readability, maintainability, and scalability.
Replaced the email with a generic "Account" label in the user menu for better design consistency and to avoid truncation issues. Adjusted the dropdown max width to 180px for improved alignment with the new layout.
Implemented a secure password change endpoint in the backend with validation. Enhanced the frontend to include a modal for updating the user's password, ensuring real-time input validation and user feedback.
Updated the chip handling logic to ensure a smoother user experience by immediately closing modals in the frontend before performing asynchronous operations. Enhanced error handling and streamlined tag display logic for clarity and consistency.
Previously, only "i" and "s" were considered in the note_tag check for determining effectiveStatus. This update adds "m" to the condition, ensuring accurate status handling for entries with note_tag "m".
Introduced functions to manage chip data in local storage, ensuring smoother handling of chip selections without backend dependency. Adjusted UI logic to display chip tags dynamically and modified "s" state handling to integrate local storage data seamlessly.
Consolidated tag cycling logic into a single function, simplifying and clarifying its purpose. Removed redundant functions related to tag parsing and storage. Updated UI elements for better readability and consistency.
Implemented the cycleTag function to handle transitions between tag states ("i", "m", "s") and reset for special cases starting with "s.". This prepares the application to support dynamic tag cycling functionality.
Renamed state variables `chipPickOpen` and `chipPickEntry` to `chipOpen` and `chipEntry`. This change improves naming consistency across the component, simplifying readability and maintenance.
Unified chip modal functionality by consolidating state variables and methods. Enhanced UI consistency for effective statuses and streamlined code for readability and maintainability. Updated styles for better visual appeal and clarity.
Adjusted text decoration and opacity to apply when certain tags ("i" or "s") are set. This ensures better visual feedback for the specified conditions in the application interface.
Refactored tag handling logic by introducing helper functions to improve clarity and maintainability. Added localStorage support for storing and retrieving chip values associated with entries, ensuring smoother transitions and proper state management across sessions. Simplified backend interactions for the "s" tag and improved display logic for tags with chips.
Implemented a chip selection modal that appears when cycling to the "s" tag. Users can now assign specific chips (e.g., "s.AL") to entries, improving interactivity and flexibility in tagging.
Replaced hardcoded colors and styles with reusable `stylesTokens` for improved maintainability and uniformity across the application. Simplified inline styles, cleaned up redundancies, and enhanced readability while adhering to the new dark and gold theme.
Removed unused `bgInkVignette` styles and adjusted `zIndex` for better layering control. Updated background image URL for `bgMap` to ensure proper path resolution. These changes improve overall code clarity and maintainability.
The background color settings for `document.body` and `document.documentElement` were removed as they are not needed. This simplifies the global styling without affecting functionality.
This cleanup removes the bgInkVignette element and its associated styles from the codebase. These changes simplify the component structure and improve maintainability by eliminating unnecessary code.
Replaced a single-line comment with a block comment in the background styling configuration. No functional changes were made; this is purely for better readability and maintainability.
Replaced the old background image with a new blurred version to improve visual aesthetics. The updated image is located in the '/public/bg/' directory.
Unused CSS styles related to hover, tap highlight, and button states in the App component have been commented out to clean up the file. This change helps to improve code readability and reduce clutter while retaining the styles for potential future use.
Removed unnecessary styles and adjusted z-indexing for dynamic viewport handling. Enhanced background blur effect and gradient styling to improve stability and appearance while minimizing potential rendering issues.
Updated styles to remove hover, active, and focus effects across rows and buttons for a cleaner UI. Adjusted status-based row colors and added left borders for improved visual clarity on status changes. Optimized mobile tap highlights for a smoother touch experience.
Updated styles for better readability and consistency, including reformatting and minor adjustments. Replaced the blurred map background image with a pre-blurred version for performance and visual enhancements. Removed redundant comments and adjusted layout z-indices for improved layering.
The background setup, including an image and readability overlay, has been removed from the body element. A simpler color background is now applied to the HTML and body elements, and the root retains transparency. This change simplifies the layout and improves maintainability.
Deleted redundant CSS objects `page` and `loginPage` from the styles object as they were no longer in use. This helps in reducing code clutter and improving maintainability.
This commit introduces a new design for the application background by adding a fixed map illustration and ink vignette effects. It updates the login and main page to include these background elements and applies corresponding CSS styles for a polished and immersive appearance.
Replaced the old radial gradient background with a blurred "Marauders Map" image and readability overlay. Removed "PaperCard" components and their torn paper effect in favor of a cleaner, modern card style. Updated styles for better readability, simplifying hover effects and improving status badge design.
This commit unifies and enhances the design of various components, applying cleaner styles, better transitions, and reducing redundant CSS. Key changes include modernizing hover effects, improving color palettes, refining shadows, and consolidating layout components for better maintainability. This results in a more polished and cohesive user interface.
The PaperCard component now uses a reusable SVG-based "torn paper edge" for improved performance and maintainability. Several redundant styles, unnecessary comments, and animations were removed, resulting in cleaner and more consistent code. Background gradients were streamlined, and redundant wrapper styles were eliminated.
Introduced a new `PaperCard` component for consistent and reusable card styling across the app, replacing inline card styles. Added subtle animations and paper edge effects to enhance the visual design and provide a polished user experience. Updated existing components to integrate with the new `PaperCard` while maintaining backward compatibility.
Replaced fine-grained noise patterns with coarser ones to reduce repaints and enhance performance. Disabled `background-attachment: fixed` to avoid scroll lag on mobile devices and ensured smoother scrolling. Also adjusted minor styles for better compatibility and user experience on iOS.
This commit tidies up the styles by improving readability, reformatting inline styles, and introducing consistent spacing. It also includes accessibility improvements such as setting input attributes and fixing iOS-specific issues like input zoom and overflow handling. Small UI adjustments and background behavior fixes enhance the overall user experience.
Introduced a toggle button to reveal or hide the password field for better user experience. Additionally, added a candle glow animation and background layer styling for a more immersive visual appearance. Minor refactoring of related styles was also performed.