Skip to content

Release : 17 September 2025#104

Merged
Saterz merged 268 commits into
mainfrom
developer
Sep 17, 2025
Merged

Release : 17 September 2025#104
Saterz merged 268 commits into
mainfrom
developer

Conversation

@Saterz

@Saterz Saterz commented Sep 17, 2025

Copy link
Copy Markdown
Member
  • fix 500 error in explore user page by only showing onboarded users
  • fix search bar in cube explore page by trimming and lowercasing the name

Saterz and others added 30 commits April 18, 2025 17:45
Saterz added 26 commits August 12, 2025 20:53
* feat: introduce CubeCardSkeleton component for better consistency

- Refactored cubeCard and userCubeCard to utilize the new skeleton component
- Updated imports to use centralized type definitions from dbTableTypes for better maintainability.

* fix: remove optional chaining for verified_by_id display name
* feat: implement buildProductJSONLD function for structured product data and integrate into cube detail page

* feat: add sitemap.xml for improved SEO and update robots.txt to include sitemap reference

* chore: remove outdated image files and add new logo and artwork

- Deleted several unused image files including CubeIndex pixel art and default profile images to clean up the assets.
- Introduced a new logo in WebP format and a new version of the "we want you" image for updated branding.

* fix: update meta tag for description in app.html for improved SEO

- Changed the property attribute to name in the description meta tag to align with HTML5 standards, enhancing search engine optimization.

* refactor: update image references in footer, navbar, and about page

- Replaced the CubeIndex pixel art logo with a new WebP format logo across the footer, navbar, and about page for improved performance and visual consistency.
- Updated the "we want you" image filename for better clarity and organization.

* feat: introduce new CubesModelFeatures and UserCubeRatings interfaces in dbTableTypes

- Added CubesModelFeatures interface to define structure for cube model features, including primary key, slug, feature code, and timestamps.
- Introduced UserCubeRatings interface to capture user ratings for cubes, including rating value, optional comments, and timestamps for creation and updates.
- Updated relevant components to import types from dbTableTypes for improved type consistency.

* feat: update app styles and enhance asset management

- Added import for Clash Display font in app.css and updated font variable to "ClashDisplay-Semibold".
- Enhanced app.html by updating favicon references and adding multiple apple-touch-startup-image links for improved mobile support.
- Replaced the legendary cube image with a WebP format for better performance.
- Removed outdated image files and added new icons and splash images for improved branding and user experience.
- Introduced new Clash Display font files in various formats for better compatibility.

* feat: integrate PWA support and enhance service worker management

- Added netlify.toml for deployment configuration and redirects.
- Updated .gitignore to exclude dev-dist directory.
- Introduced PWA functionality with @vite-pwa/sveltekit for improved offline capabilities.
- Implemented reloadPrompt component to notify users of new content availability and offline readiness.
- Enhanced tsconfig.json to include types for PWA client and info.
- Updated vite.config.ts to configure PWA settings and manifest details.

* feat: optimize image loading and enhance asset management

- Updated image sources in various components to utilize Cloudinary for optimized loading and format conversion.
- Implemented eager loading for avatar and cube images to improve performance.
- Adjusted app.html to preload Font Awesome styles for faster rendering and added a noscript fallback for better accessibility.

* fix: enhance image attributes in footer and navbar for better performance

- Added width, height, and fetchpriority attributes to the CubeIndex logo in both footer and navbar components to optimize loading and improve rendering efficiency.

* feat: enhance performance with preconnect links in app.html

- Added preconnect links for Umami and Supabase to improve resource loading times and overall performance of the application.

* feat: implement cache control headers for improved performance

- Added Cache-Control headers to various load functions across public routes to enhance caching strategies and optimize resource loading times.

* feat: enhance image loading and SEO with preloading and structured data

- Added a preload link for cube images to improve loading performance.
- Updated structured data script to use {@html} for better rendering.
- Set fetchpriority to high for cube images to optimize loading efficiency.

* feat: update robots.txt to enhance crawling control

- Added disallow rules for /staff/, /api/, and /user/settings/ to prevent search engines from indexing sensitive areas of the site.

* feat: add page titles for improved SEO and user experience

- Implemented dynamic page titles across various routes, including login, signup, reset password, user profiles, achievements, and more, to enhance search engine optimization and provide clearer context for users.

* fix: update image paths in app.html for correct referencing

- Changed image source paths in app.html to ensure they are correctly referenced with leading slashes, improving accessibility and resource loading for icons and splash images.

* feat: add Open Graph image generation for user and cube profiles

- Implemented dynamic SVG to PNG conversion for user and cube profile images using Satori and Resvg.
- Integrated data fetching from Supabase to populate profile and cube metrics.
- Added support for custom fonts and color formatting using Culori.
- Created new API routes for generating Open Graph images for user and cube profiles.

* fix: improve error handling in user ratings loading

- Changed error handling in the user ratings loading function to throw an error instead of logging it, ensuring better visibility of issues during data fetching.
- Reformatted the select statement for clarity.

* feat: enhance cube detail loading with comprehensive stats and SEO metadata

- Implemented a detailed loading function for cube data, including average ratings, shop availability, and ownership statistics.
- Added a description builder for improved SEO and user engagement, ensuring concise and informative summaries of cube features.
- Updated the Svelte component to utilize server-provided metadata for Open Graph and canonical links, enhancing social sharing and search visibility.
- Improved image preloading strategy for better performance and user experience.

* feat: enhance user profile loading with detailed stats and SEO metadata

- Implemented a comprehensive loading function for user profiles, including follower and following counts, cubes, and achievements.
- Added a description builder for improved SEO, generating concise summaries for user profiles.
- Updated the Svelte component to utilize server-provided metadata for Open Graph and canonical links, enhancing social sharing and search visibility.
- Included image preloading for user avatars to improve performance and user experience.

* refactor: comment out offline readiness message in reload prompt component

- Temporarily commented out the offline readiness message in the reload prompt Svelte component for further review and potential redesign.
- Maintained the structure of the component to ensure future updates can easily reintegrate the message.

* refactor: uncomment offline readiness message in reload prompt component

* feat: configure PWA registration options for improved user experience

- Added registration type and injection settings for the PWA to enhance offline capabilities.
- Integrated service worker registration in the layout component for immediate activation.

* refactor: streamline cube detail page by removing unused metadata handling

- Removed redundant server-provided metadata handling for canonical URLs and Open Graph images in the cube detail Svelte component.
- Updated image source to utilize a new preload image variable for improved performance.

* fix: update language attribute in app.html for consistency

- Changed the language attribute in app.html from a dynamic placeholder to a static value of "en" for improved clarity and consistency in HTML structure.

* feat: enhance cube detail loading with improved data fetching and SEO metadata

- Refactored the loading function for cube details to streamline data fetching, including user ratings, vendor links, and related cubes.
- Integrated a new JSON-LD structure for better SEO and social sharing capabilities.
- Updated the Svelte component to utilize derived states for features and improved error handling for data fetching.
- Removed the now outdated +page.ts file to simplify the codebase and enhance maintainability.

* refactor: update buildProductJSONLD function to use origin and href parameters for URL handling

* refactor: update crossorigin attributes for preconnect links and enhance image preloading

* refactor: optimize image loading with preload and dns-prefetch enhancements

* refactor: update image source for cube details to optimize loading performance

* refactor: consolidate user data fetching and enhance component structure

- Replaced the existing +page.server.ts files with a new +page.ts file to streamline user data fetching for cubes and achievements.
- Updated the user achievements component to simplify the display logic and removed unnecessary variables.
- Optimized image loading in the user profile layout by changing the image source format.
- Removed outdated server files to clean up the codebase and improve maintainability.

* refactor: optimize rendering of components with key blocks for improved performance

* feat: implement user profile layout with enhanced data fetching and SEO optimization

- Added a new layout for user profiles that fetches user data, including profile details and statistics.
- Implemented functions to build a concise profile description for improved SEO.
- Integrated error handling for data fetching and set appropriate meta tags for better social sharing.
- Introduced avatar preloading to enhance user experience.

* refactor: remove outdated test file for page component

- Deleted the test file for the page component as it is no longer needed.
- Cleaned up the codebase by removing unnecessary test cases.

* refactor: remove feature toggles and related components for cleaner codebase

- Deleted the configCatClient and FeatureDisabled component imports from various pages to streamline the code.
- Removed feature availability checks from explore pages, simplifying the rendering logic.
- Cleaned up unused variables and imports to enhance maintainability and readability of the codebase.

* feat: add cube detail page with comprehensive data fetching and SEO optimization

- Introduced a new page for cube details that fetches extensive data including user ratings, vendor links, and related cubes.
- Implemented a function to generate a concise cube description for improved SEO.
- Enhanced error handling for data fetching and set appropriate meta tags for better social sharing.
- Included preloading for images to optimize loading performance.

* feat: add dynamic sitemap generation and update environment configuration

- Implemented a new server-side function to dynamically generate the sitemap based on public routes, improving SEO and site indexing.
- Updated `.env.example` to include a new `PUBLIC_SITE_URL` variable for better configuration management.
- Modified `netlify.toml` to set up a redirect for the sitemap to the new server function.
- Enhanced the README to reflect the new environment variable requirements.

* refactor: optimize data fetching in API routes for cubes and users

- Consolidated multiple database queries into Promise.all for improved performance and reduced response time in the cube and user API routes.
- Enhanced error handling for data fetching to ensure clearer responses in case of failures.
- Streamlined the code by removing redundant query calls, improving maintainability and readability.

* fix: update base site URL in environment configuration

* refactor: remove feature toggles and clean up login, signup, and achievements pages

- Eliminated the configCatClient and FeatureDisabled component imports from login, signup, and achievements pages to streamline the code.
- Removed feature availability checks, simplifying the rendering logic and enhancing maintainability.
- Cleaned up unused variables and imports across the affected files.
…igin

- Modified the load function in the user profile layout to use the URL parameter for obtaining the origin, enhancing clarity and consistency in server-side rendering.
- Removed the unused page state import to streamline the code.
- Removed several unused dependencies from package.json and package-lock.json, including @cartamd/plugin-emoji, @cartamd/plugin-slash, drizzle-orm, and @lukulent/svelte-umami, to streamline the project.
- Updated package-lock.json to reflect the changes in dependencies and ensure consistency across installations.
- Added a script for Umami analytics in app.html to enhance tracking capabilities.
…eCube components (#86)

- Added Portal component to both addCube.svelte and rateCube.svelte for improved modal handling.
- Refactored the structure of modal dialogs to enhance user experience and maintainability.
- Ensured consistent styling and functionality across both components while preserving existing features.
* fix: enhance tab navigation in user profile layout

- Added data-sveltekit-noscroll attribute to tab navigation links to improve user experience during navigation.

* feat: add price and ratings pages (#87)

* feat: enhance cube detail page

- Added a new layout for cube details, integrating comprehensive data fetching for user ratings, vendor links, and price history.
- Implemented a price tracking chart using Chart.js for visual representation of price trends.
- Refactored user ratings component to streamline data handling and improve user experience.
- Updated navigation and layout for better accessibility and clarity across cube-related pages.

* refactor: streamline user ratings display and enhance cube layout

- Removed redundant StarRating component from user ratings section for cleaner presentation.
- Updated cube layout to include a highlighted StarRating for improved visibility and user engagement.
- Refactored button logic for adding cubes to collections to enhance user experience and accessibility.

* feat: enhance price display and data fetching for cubes

- Removed unused price_history variable from the data structure to streamline data handling.
- Introduced a new function to get the currency symbol based on the vendor's currency code, improving the price display format.
- Updated the price display in the Svelte component to include the currency symbol, enhancing user clarity and experience.

* feat: enhance vendor exploration page with search and pagination

- Integrated a search bar for filtering vendors by name, improving user navigation.
- Added pagination functionality to manage vendor display, enhancing usability.
- Updated data fetching to include cubes sold, allowing for better vendor statistics.
- Refactored vendor display to utilize derived states for improved performance and clarity.

* feat: add currency symbol helper function and update price tracking tab label

- Introduced a new helper function to retrieve currency symbols based on currency codes, enhancing price display consistency.
- Updated the label of the price tracking tab to "Shops - Price History" for improved clarity in navigation.
- Refactored price display logic to utilize the new currency formatting function, improving user experience.

* feat: updated migration file
* feat: enhance achievements display with improved UI and functionality

- Refactored achievements section to show a more user-friendly layout, including a header with total achievements and a toggle button for showing more items.
- Centralized rarity styles for maintainability and consistency in achievement presentation.
- Updated the logic to derive visible achievements based on user interaction, improving user experience.
- Integrated a date formatting function for better readability of achievement dates.

* feat: enhance achievements page with user-specific data and improved styling

- Added current user achievements data to the achievements page for personalized display.
- Centralized rarity styling for achievements to improve maintainability and visual consistency.
- Refactored the layout for better user experience, including updated card designs and hover effects.
- Implemented logic to indicate unlocked achievements, enhancing user engagement.

* feat: add AchievementUnlocked component for displaying user achievements

- Introduced a new Svelte component to show a toast notification when a user unlocks an achievement.
- Integrated Supabase real-time updates to listen for new achievements specific to the logged-in user.
- Enhanced user engagement with visual effects like confetti and dynamic styling based on achievement rarity.
- Updated layout to include the AchievementUnlocked component, ensuring it receives the current user data.

* refactor: comment out dev trigger button in achievementUnlocked component

- Temporarily commented out the dev trigger button for showing test achievements to clean up the UI during development.
- Maintained the structure of the component for future reactivation of the feature.

* feat: update remote schema to be up to date
…ce aggregation logic

- Removed compact currency formatting from chart ticks for clearer display.
- Enhanced price data aggregation to ensure the latest price is recorded for each vendor per day, improving accuracy in price history representation.
- Streamlined the structure of the price history data for better maintainability and performance.
* feat: update package dependencies and add new validation schemas

- Added `file-type` and `sharp` packages to `package.json` for enhanced file handling and image processing capabilities.
- Introduced new `passwordStrength` helper function for password validation, providing feedback on password strength.
- Created `cubeForm` and `signup` validation schemas using Zod for structured data validation in forms.
- Updated user avatar handling in the signup process to support file uploads and image processing.
- Refactored user profile and signup components to integrate new validation logic and improve user experience.

* feat: add OTP verification handler for email confirmation

- Introduced a new server route for handling email OTP verification, allowing users to confirm their accounts.
- Implemented error handling for missing parameters and verification failures.
- Updated user profiles to mark them as verified upon successful OTP verification.
- Added functionality to sync user data with Brevo after verification.
- Ensured safe redirection to prevent open redirects.

* fix: improve error message for user data retrieval failure in signup process

- Updated the error handling in the signup action to include the specific user error in the failure message, enhancing clarity for debugging and user feedback.

* fix: refine error message for user data retrieval in signup process

- Enhanced the error message to provide clearer feedback by including a conditional check for user errors, improving user experience during signup failures.

* fix: update error handling for missing parameters in OTP verification

- Changed the error response for missing token_hash or type from a 303 to a 400 status code, providing clearer feedback for client-side validation during the OTP verification process.

* fix: update OTP verification to use code parameter

- Replaced token_hash and type parameters with a single code parameter for OTP verification.
- Adjusted error handling to return a 400 status code for missing code, improving clarity in client-side validation during the verification process.

* refactor: streamline profile creation and error handling in authentication flow

- Simplified the GET handler for OTP verification by removing unnecessary parameters and improving error handling for profile creation.
- Updated the signup action to provide clearer feedback for user data retrieval failures and adjusted the redirect logic to enhance user experience.
- Improved the email verification process by ensuring users are prompted to verify their email before proceeding with signup.
- Eliminated the getMessages function from the navbar.svelte file to streamline the code, as it was not being utilized in the component.
- Updated the onMount lifecycle method to reflect this change, enhancing clarity and maintainability of the navbar component.
* feat: add 'bought_from' field to user cubes and enhance addCube functionality

- Introduced a new 'bought_from' field in the UserCubes interface to track the shop where the user purchased the cube.
- Updated the addCube component to include 'bought_from' in the form, allowing users to select from a list of vendors.
- Enhanced the userCubeCard component to display the 'bought_from' information, improving user experience.
- Refactored the API to handle the new 'bought_from' field during cube addition and updates.
- Removed the outdated update-cube-collection API route to streamline functionality.

* feat: enhance CubeCard component with user-specific details and new buttons

- Added AddToCollectionButton and RateCubeButton components to the CubeCard for improved user interaction.
- Integrated userCubeDetail to provide personalized data for the cube, enhancing the user experience.
- Refactored button logic to streamline the addition and rating of cubes, improving maintainability and clarity in the CubeCard layout.
- Updated the addToCollectionButton to accept an optional addClass prop for better styling flexibility.

* feat: add RateCubeButton component and enhance rating functionality

- Introduced a new RateCubeButton component for improved user interaction when rating cubes.
- Enhanced the rateCube component with additional validation, character limit tracking for comments, and improved accessibility features.
- Updated the API to handle comment length validation, ensuring better user feedback during the rating process.
- Refactored the modal dialog structure for the rating feature to enhance user experience and maintainability.

* refactor: streamline ManageCubeStatus and StaffCubeCard components

- Removed the existingNote prop from ManageCubeStatus, simplifying the component's interface.
- Integrated the Portal component for improved modal handling in ManageCubeStatus.
- Updated StaffCubeCard to remove the unapprove functionality and adjusted the reason state management.
- Refactored the cube status display to enhance clarity and maintainability.
- Deleted the unapproveCube component and related API endpoint to streamline functionality.

* feat: add host option to Vite dev script in package.json

- Introduced a new script command "host" to allow Vite to run the development server with host binding, enhancing accessibility for local development.

* refactor: streamline profile creation and redirect logic in authentication flow

- Removed unnecessary profile ID generation and simplified the profile insertion logic in the auth callback.
- Updated the redirect logic to direct users to the signup profile step, enhancing the user experience during the authentication process.
- Eliminated redundant error handling for user retrieval in the confirm route, improving code clarity.

* feat: enhance user achievements and cubes display with additional data and filtering options

- Updated user achievements loading to include rarity information and improved data structure for better accessibility.
- Enhanced the user cubes display by adding vendor information to the cubes fetched from the database.
- Introduced new components for pagination, sorting, and filtering in the achievements view, improving user interaction and experience.
- Refactored the achievements page to support dynamic filtering and sorting, allowing users to customize their view of achievements.

* feat: enhance user card component with extended profile data and improved layout

- Introduced an extended profile interface to include additional user metrics such as achievements and cube counts.
- Updated the user card layout to support compact and arrow visibility options for better user experience.
- Implemented number formatting for user metrics to display in a more readable compact format.
- Enhanced accessibility features with improved aria labels for user profile links.
- Refactored the achievements and cubes pagination controls to align with the new user card structure.

* feat: enhance form components with onchange event handlers

- Added `onchange` event handlers to `ItemsPerPageSelector`, `SortSelector`, `TriStateCheckbox`, and `SearchBar` components for improved interactivity.
- Updated component props to include optional `onchange` functions, allowing parent components to respond to user input changes.
- Refactored the `onChange` logic in `SortSelector` to trigger user-defined change handlers, enhancing flexibility in handling sorting changes.
- Improved state management in the `cubes` page to reflect user-driven filter changes, ensuring a more dynamic user experience.

* feat: enhance CubeCard and CubeCardSkeleton components with new visual indicators

- Added a "NEW" ribbon to the CubeCard component for newly verified cubes, improving visual distinction.
- Removed the redundant newRibbon prop from CubeCardSkeleton, simplifying its interface.
- Refactored CubeCard to streamline the rendering of top snippets, enhancing maintainability.

* feat: integrate Portal component into reloadPrompt for improved alert handling

- Wrapped the alert message in a Portal component to enhance modal handling and improve user experience.
- Maintained existing functionality while ensuring the alert displays correctly in the application layout.

* feat: update explore page layout and card availability indicators

- Added availability status to explore cards, allowing users to see which features are currently accessible.
- Enhanced the layout of the explore page for better responsiveness and visual appeal.
- Removed the accessories page and its related server logic, streamlining the explore section.

* feat: add Userbar feature with profile data and sharing options

- Introduced a new Userbar component that displays user profile information and allows sharing via generated snippets.
- Implemented a new API endpoint to fetch user profile data and metrics for the Userbar.
- Added a Tag component for visual indicators in the Userbar and other areas of the application.
- Enhanced the navbar to include a link to the Userbar, improving navigation and accessibility for users.

* feat: improve authentication flow with enhanced error handling and profile management

- Added error handling for missing code in the confirmation process, ensuring better user feedback.
- Streamlined the session exchange process with Supabase, improving clarity in the code.
- Enhanced profile verification logic to handle existing profiles more effectively, including redirection based on username availability.
- Simplified the profile creation process for new users, ensuring a smoother onboarding experience.

* feat: enhance userbar snippets with improved markdown and HTML structure

* feat: update user profile retrieval to use detailed profiles and simplify metrics calculation

* feat: refactor about page to include features and future features with improved UI handling

* feat: add ExplorePopover component with dropdown functionality in navbar

* chore: remove explore popover test

* feat: redesign footer component with improved layout and navigation links

* feat: add BackButton and ScrollToTop components for improved navigation on mobile

* feat: implement inView action and WhenVisible component for viewport detection

- Added a new Svelte action `inView` that triggers callbacks when an element enters or leaves the viewport.
- Created `WhenVisible` component to utilize the `inView` action, allowing content to be conditionally displayed based on visibility.
- Introduced `FeatureSection` component for marketing purposes, showcasing features with responsive design.
- Added tests for `FeatureSection` to ensure proper rendering and layout behavior.
- Updated the main page to include multiple `FeatureSection` instances, enhancing the user experience with visual storytelling.
- Included new SVG illustrations for achievements, collection, community, pricing, and ratings to support the new features.

* feat: move Notification Bell component to a new position in the navbar for improved visibility

* feat: update signup page layout and styling for improved user experience

- Adjusted minimum height and padding for better responsiveness on different screen sizes.
- Modified button sizes and spacing for consistency across forms.
- Enhanced stepper layout for improved visibility and usability.
- Updated checkbox alignment and styling for better accessibility.

* fix: improve error handling and conditional rendering in components

- Enhanced error handling in shareButton.svelte to ensure proper error messages are generated.
- Made useronchange in sortSelector.svelte optional for better flexibility.
- Updated redirect path in userbar/+page.server.ts to point to the correct login route.
- Adjusted padding in explore/users/+page.svelte for improved layout consistency.

* feat: enhance cube detail layout with additional features and related information

- Added conditional rendering for moderator notes visible only to the submitting user.
- Implemented trim selector for cubes with multiple trims, enhancing user interaction.
- Introduced related cubes and same series sections to provide users with more context and options.
- Updated ShareButton component to include a label for better accessibility.

* fix: adjust feature card display limit for better user experience

* feat: implement advanced filtering and sorting for user reports

* feat: enhance signup and login page layouts for improved user experience

* feat: enhance user collection, ratings, and social pages with improved sorting, filtering, and pagination features

- Added sorting options for cubes and ratings by recent, name, rating, and type.
- Implemented filtering capabilities for user cubes and ratings based on type, condition, and status.
- Introduced quick stats for owned cubes, wishlist counts, and unique types in the user collection.
- Enhanced social page with search functionality and pagination for followers and following lists.
- Improved UI elements for better user experience, including responsive design adjustments and clearer labeling.

* feat: enhance ExplorePopover and navbar components with improved accessibility and mobile menu functionality

* fix: remove Disclaimer component from layout

* feat: update userbar component with improved layout and snippet functionality

* fix: made the logs appear in descending order

* feat: improved the user report page ui

* feat: add class to AddToCollectionButton and RateCubeButton for consistent styling

* fix: made minimum height be of the screen

* feat: show the amount of user who bought from the store

* feat: update feature tiles with new titles and descriptions for improved clarity

* feat: integrate Turnstile captcha validation in signup and login processes

* feat: enhance password reset functionality with strength indicator and improved error handling

* feat: unify recent activity feed by consolidating cubes, ratings, and achievements

* feat: refactor profile loading and pass profile data to Navbar component

* feat: enhance user settings with file uploads for avatar and banner, improve UI and validation

* feat: add functionality to handle already added cubes in the collection, update UI accordingly

* feat: enhance report dialog with accessibility improvements, validation, and UI updates

* feat: remove unused fetch-cubes API endpoint

* feat: update achievement fetching to use slug instead of name

* feat: refactor WhenVisible component to use destructured props and improve readability

* feat: add svelte-turnstile dependency to package.json

* feat: enhance Turnstile integration with error handling and flexible size

* feat: improve user profile layout by conditionally rendering main cubes and cleaning up unused quick links

* feat: integrate SortSelector component across multiple pages and update sorting logic

* feat: update cube details layout with enhanced feature display and improved stats section

* feat: enhance bio input section with Markdown formatting tips and examples

* refactor: format code for improved readability in login page

* feat: extend CubeWithMeta type to include additional metadata fields in cubeCard and cubeCardSkeleton components

* feat: add images for collection, home, and price tracking sections in README

* feat: implement user dashboard with profile overview and recent activity

* refactor: remove authentication and database schema files

* fix: update achievement date reference from created_at to awarded_at

* fix: make key stats section full width for better layout

* feat: redirect authenticated users to dashboard from marketing homepage

* feat: add mobile bottom navigation component for user profile and notifications

* feat: enhance cube comparison page with improved data handling and UI updates

* feat: implement auto-hiding navbar on scroll and improve mobile navigation experience

* fix: adjust positioning of back and scroll-to-top buttons for improved visibility on mobile

* feat: enhance cube detail layout with URL-aware tabs and improved accessibility

* feat: implement notifications system with fetching, marking as read, and email verification features

* fix: remove unnecessary dataType option from superForm in signup page

* fix: handle error when retrieving user profile in layout and improve error logging

* feat: add pricing support page with Ko-fi integration for user contributions

* feat: update Vite configuration for Supabase integration and add offline page

* feat: refactor cube loading logic to server-side for improved SSR performance and caching

* feat: add public API landing page with initial UI and planned endpoints

* feat: update environment configuration with new site URL and add Ko-fi support link

* fix: update email verification handling in mobile navigation and navbar components to ensure safe access

* feat: implement legal document layout for Privacy Policy and Terms of Service with structured content sections

* refactor: moved home, offline and sitemap.xml to the (public) route group

* refactor: moved the user profile page from the (private) to the (public) route group

* refactor: enhance report submission form with improved accessibility and user experience features

* feat: implement server-side layout redirection for non-authenticated users in private routes

* refactor: streamline Supabase usage in dashboard server load function for improved readability and performance

* refactor: optimize server-side cube loading function by simplifying Supabase client usage and enhancing cache control

* fix: made filter card work the same way as in explore cubes and others

* fix: update user achievements query to use achievement_slug for improved data retrieval

* refactor: enhance authentication guard to streamline redirection for unauthenticated users across various routes

* refactor: replace direct Markdown usage with a dedicated Markdown component for improved code organization and maintainability

* refactor: update service worker registration method and improve error handling in reload prompt

* docs: update README images paths and add new images for better documentation clarity

* refactor: replace outdated SVG illustrations with new WebP images for improved performance and visual consistency on the homepage

* fix: update navbar link to point to the correct explore route for improved navigation

* refactor: enhance offline page with improved layout and functionality for better user experience

* refactor: update Svelte and Vite configurations to improve build artifact paths and service worker behavior for better routing handling

* feat: add onboarded flag to user profile during signup for improved user onboarding process

* refactor: remove outdated remote schema SQL migration and replace with new schema definitions for improved database structure and functionality
* refactor: remove service worker support

* fix: add back web app manifest for CubeIndex

* fix: rename web app manifest and link in app.html

- Updated `app.html` to include a link to the manifest
* chore: remove unused runtime dependencies

* fix: remove offline support and service worker (#94)

* refactor: remove service worker support

* fix: add back web app manifest for CubeIndex

* fix: rename web app manifest and link in app.html

- Updated `app.html` to include a link to the manifest

* chore: remove unused runtime dependencies

* chore: update package dependencies and remove unused packages

- Updated `@tailwindcss/typography` to version `0.5.16` in both `package.json` and `package-lock.json`.
- Removed unused dependencies from `package-lock.json` to streamline the project and reduce bloat.
* feat: add PUBLIC_DEPLOYMENT_CHANNEL to environment configuration and update README

- Introduced a new environment variable `PUBLIC_DEPLOYMENT_CHANNEL` to specify the deployment channel for UI cues.
- Updated the README to document the new variable and its purpose in toggling the Beta UI label.
- Enhanced the navbar and layout components to conditionally display a "Beta" badge based on the deployment channel.

* fix: update Ko-fi support link in pricing page and remove environment variable reference

- Changed the Ko-fi support link in the pricing page to a direct URL for better user access.
- Removed the `PUBLIC_KOFI_URL` environment variable reference from the README, streamlining the documentation.

* chore: remove unused PUBLIC_KOFI_URL from environment configuration

- Deleted the `PUBLIC_KOFI_URL` environment variable from `.env.example` as it is no longer needed, streamlining the configuration file.
…gs pages (#98)

- Eliminated quick stats sections from the user achievements, cubes, and ratings pages to streamline the UI and reduce clutter.
- Removed derived state calculations related to owned counts, wishlist counts, unique types, average ratings, and last earned achievements for improved performance and maintainability.
- Updated the layout to focus on search and filtering functionalities, enhancing user experience.
* feat: add PUBLIC_DEPLOYMENT_CHANNEL to environment configuration and update README

- Introduced a new environment variable `PUBLIC_DEPLOYMENT_CHANNEL` to specify the deployment channel for UI cues.
- Updated the README to document the new variable and its purpose in toggling the Beta UI label.
- Enhanced the navbar and layout components to conditionally display a "Beta" badge based on the deployment channel.

* fix: update Ko-fi support link in pricing page and remove environment variable reference

- Changed the Ko-fi support link in the pricing page to a direct URL for better user access.
- Removed the `PUBLIC_KOFI_URL` environment variable reference from the README, streamlining the documentation.

* chore: remove unused PUBLIC_KOFI_URL from environment configuration

- Deleted the `PUBLIC_KOFI_URL` environment variable from `.env.example` as it is no longer needed, streamlining the configuration file.

* feat: add server handler for dynamic suffix

- Created a server handler in `+server.ts` to serve the manifest with a dynamic suffix based on the deployment channel, enhancing the app's adaptability for different environments.
* feat: update footer and navbar with new links; add Privacy Policy and Terms of Service pages

* feat: implement badges display with dynamic data fetching and improved layout

* feat: enhance badges display with improved data fetching and layout adjustments

* feat: refactor cube routes to use name_id instead of id; and update links

* feat: added "in construction" pages and updated the 404 page

* feat: implement user registration with username and email verification flow

* fix: update disclaimer text to reflect the current status as "Early Preview"

* feat: update navbar to include user profile links and improve layout; modified user routes

* feat: display username in navbar when connected

* feat: button in home page change if connected

* fix: update verification failure message for clarity

* feat: add Supabase SSR dependency and update report page to indicate construction status

* fix: fixed rarity handling in badge display

* feat: update cubes_availability logic to properly display vendor information

* feat: added modded status display

* feat: added rarity on badge

* feat: support for special rarity

* fix: revamped the auth system with supabase ssr and changed files organization

* feat: creation of user and collectors page

* disabling sign-up temporarily

* feat: implement email confirmation error page and update OTP verification flow

* refactor: remove email confirmation error page and related OTP verification logic

* fix: update sign-up and login links for correct routing

* fix: updated imported table names for cubes and vendors link

* feat: filtering options in explore page

* feat: add reset filters functionality to explore page

* feat: added indication for badges unlockability

* feat: moved components to components folder

* feat: remove background image from login, signup, about, badges, and explore pages

* feat: fetch and display disclaimers from the database

* feat: update disclaimer component layout and functionality; adjust page styling and remove hero background image

* feat: update release date formatting

* feat: update filter bar layout for better responsiveness

* feat: implement basic accessories explore page

* fix: update navigation links for explore and cube details pages

* fix: fixed overflow by enabling horizontal scrolling for vendor links section

* feat: add partner sections on the home page

* fix: update accessory category display logic for better formatting

* fix: removed category capitalization on accessories page and added report incorrect data button in cubes detail page

* fix: enhance cube details layout and improve vendor links display

* feat: add announcement cards

* feat: new UI for partners

* feat: enhance user profile page with banner, settings link, and social media integration

* feat: add WCA logo SVG file to static icons

* feat: replaced collectors page with the explore users page

* feat: add explore vendors page with vendor listing

* feat: update accessory card layout to include category with brand

* feat: implement user settings page with profile update functionality

* feat: enhance explore cubes page with search bar and filter toggle

* feat: rename badges to achievements, update related components and improve the achievement page

* feat: add feature flags

* feat: add confirm sign out modal and integrate with navbar for sign out confirmation

* fix: update confirm sign out modal to use link for sign out

* feat: implement notifications feature with dynamic loading and display in navbar

* feat: add svelte-sonner dependency and remove svelte-toast from package.json

* fix: improve error handling in login process

* fix: enhance error handling across various routes and update error display in error page

* feat: improve signup functionality with validation and error handling

* fix: update configcat-js to configcat-js-ssr and enhance feature availability checks in explore pages

* feat: implement authentication callback and enhance user signup with Discord integration

* refactor: remove unused paraglide middleware from hooks

* refactor: remove unused hooks file and related functionality

* feat: enhance Discord signup with redirect options

* refactor: simplify Discord signup function by removing redirect options

* feat: add Discord OAuth sign-in and update signup flow with redirect options

* feat: implement Discord OAuth login and signup flow with redirect

* feat: implement Discord OAuth login and signup flows with callback handling

* feat: add verified field to user profile during signup callback

* fix: reimplemented configCar checks

* fix: improve error handling for missing authorization code in signup callback

* fix: update redirect URLs for Discord OAuth login and signup to use dynamic origin

* feat: implement Discord OAuth login and signup flows with dedicated server routes

* feat: enhance user role management and profile display in user routes

* fix: remove unused user_role data and update role checks in profile display

* fix: streamline user role retrieval by removing unnecessary database query

* fix: remove user role retrieval to simplify profile loading

* fix: update Discord invite link in footer and about page

* fix: update Discord invite link across footer and about page

* fix: enhance cube details display by adding weight and maglev status

* fix: update Discord invite link in featureDisabled component

* fix: update Discord invite link in error page

* fix: adjust notification position in navbar for better visibility

* fix: update profile selection to include user role for auth redirection

* feat: add cube comparison feature with dynamic selection and display

* fix: remove unnecessary parameter from loadProfile function

* feat: include user achievements in user card data and display count in the users explore page

* feat: implement cube details loading with error handling and user ratings display

* feat: add cube card and star rating components for enhanced cube display

* feat: enhance cube exploration with availability checks and improved filtering options

* feat: make the sites url disappear when on mobile to add place for users to write

* feat: add user achievements display

* feat: implement initial load function for authentication layout

* refactor: remove unused props and comments from confirmSignOut component

* feat: enhance navbar with profile dropdown and role-based options

* fix: remove hover scale effect from user banner image

* feat: update dependencies and add daisyui plugin

- Added daisyui as a dependency in package.json
- Updated @tailwindcss/vite and tailwindcss versions to 4.1.8 in package.json
- Updated lightningcss and detect-libc versions in package-lock.json
- Added daisyui plugin to app.css

* feat: update profile role checks and change admin dashboard link to staff dashboard

* feat: add theme switcher dropdown to navbar and refactor profile options

* feat: update navbar styles and enhance notification indicators

* feat: update background color of disclaimer component

* feat: update footer styles for improved consistency

* fix: adjust formatting and structure of layout component

* feat: refactor styles for main section and buttons to improve consistency

* feat: implement achievements loading and enhance display details in achievements component

* feat: add Umami analytics integration and update package dependencies

* fix: update Open Graph and Twitter meta tags for improved social sharing

* refactor: Refactor UI components and styles across various pages for consistency and improved user experience

- Updated styles in explore cubes, compare, users, vendors, notifications, privacy, and terms of service pages to use a unified color scheme and layout.
- Introduced new CubeVersionType component for better version display in cube details.
- Enhanced user profile display with badge integration.
- Improved error page styling and messaging.
- Implemented InConstruction component for the report page.
- Added Open Graph images for better social media sharing.

* fix: update admin access control to restrict non-admin users

* fix: handle errors in login action by returning fail instead of throwing

* fix: improve error handling in signup action to return fail instead of throwing for upsert errors

* fix: enhance signup validation to check password length before username constraints

* fix: update styles for login and signup pages for improved consistency and user experience

* fix: improve layout and formatting for cubes exploration and detail pages

* fix: update Discord links to use relative path and create redirect page

* fix: rename login action to default and simplify form action in login page

* chore: update dependencies in package.json

- Added @umami/api-client version 0.79.0
- Added release-please version 17.1.0

* feat: add staff dashboard with role-based management tools and descriptions

* Create FUNDING.yml

* Added Github Sponsors

* feat: added support section in README

* Update README.md

* Added Discord invite link

* Update issue templates

Used the default templates

* feat: added deployment branch specification and star history graph in the README

* feat: added release please workflow file

* fix: remove class from paragraph in explore cubes page for accessibility

* fix: update Discord link to use relative path in cube details page

* Update release-please.yml for the pr to be open on the branch it originated from

* fix: made new users id be the id of the last user plus one

* feat: add NumberFlow integration for cubes, users, and achievements showcase on the home page (#26)

* feat: Added placeholder data for local development (#27)

* feat: local supabase init

* fix: remove unused supabase dependency and clean up package-lock.json

* Improved themes (#28)

* feat: added multiple themes and modified existing ones for consistency

* feat: add additional theme options to the mobile theme dropdown and added a Dark / Ligh divider

* fix: unify homepage stats color and refine CTA styling

* fix: preload user-selected DaisyUI theme to prevent flash

* fix: improve error handling for theme initialization from localStorage

* feat: Implement PWA (#29)

* feat: add PWA support with vite-plugin-pwa and include app icons

- Updated package.json to include vite-plugin-pwa dependency.
- Added PWA icons (192x192 and 512x512) to the static directory.
- Configured vite.config.ts to enable PWA features, including manifest settings and auto-update registration.

* feat: update PWA assets and manifest

* feat: add new images for desktop and mobile cubes page, and update webmanifest

* feat: Add cubes to collection (#30)

* chore: update dependencies in package.json

- Added sveltekit-superforms version 2.26.1
- Added zod version 3.25.64

* feat: added the ability to add a cube to your profile

* feat: added the display of the users cubes on his profile page

* feat: Update the logo of CubeIndex (#32)

* feat: Enhance About page with team profiles and feature highlights

* feat: Update logo image and style in navbar

* feat: Update favicon and PWA icons

* fix: removed the margin from the PWA maskable icons

* feat: Redesigned user page  (#33)

* chore: update dependencies in package.json

- Added sveltekit-superforms version 2.26.1
- Added zod version 3.25.64

* feat: added the ability to add a cube to your profile

* feat: added the display of the users cubes on his profile page

* feat: show the total number of cubes of a user in the users explore page

* fix: fixed the bug where the cards in the user page only showed the details of one cube on all the cube cards

* Refactor code for improved readability and consistency across multiple files

* feat: created NotificationCenter component

* feat: divided the user page into multiple page with the same user info card layout

* disabling the add to collection feature

* chore: Delete .github/workflows/release-please.yml

* faet: Manage cube collection (#31)

* chore: update dependencies in package.json

- Added sveltekit-superforms version 2.26.1
- Added zod version 3.25.64

* feat: added the ability to add a cube to your profile

* feat: added the display of the users cubes on his profile page

* feat: show the total number of cubes of a user in the users explore page

* fix: fixed the bug where the cards in the user page only showed the details of one cube on all the cube cards

* Refactor code for improved readability and consistency across multiple files

* feat: enhance cube addition functionality with improved UI and feedback

* feat: add edit and delete functionality for user cube

* fix: fixed the bug where adding from the cube page didn't work

* feat: Add user cube count to cube details page (#35)

* feat: generate new user ID during signup callback to be linear

* feat: update user cube and achievement display to handle pluralization

* fix: update private profile section to match the background color of the selected theme

* feat: add size display to cube details

* fix: signup id generation and handle missing props (#36)

* feat: add Netlify adapter for SvelteKit and update package dependencies

* fix: remove emoji from achievements header for consistency

* fix: remove emoji from achievements header for consistency (#38)

* feat: Reset password (#39)

* feat: implement password reset functionality with validation and user feedback

* feat: enhance password reset with password visibility toggle

* feat: Reset password (#39)

* feat: implement password reset functionality with validation and user feedback

* feat: enhance password reset with password visibility toggle

* fix: update redirect URLs in Discord authentication to use window.location.origin

* chore: Remove all known packages vulnerabilities (#40)

* chore: update package dependencies and remove Vercel analytics imports from layout

* fix: correct import variable name for Netlify adapter in svelte.config.js

* chore: update Svelte and adapter dependencies in package.json and package-lock.json

* fix: update redirect URLs in Discord authentication to use request URL (#41)

* fix: standardize error handling in authentication actions and improve user feedback

* feat: add sveltekit-top-loader for enhanced loading experience

* fix: correct prefersdark setting in dark theme configuration

* refactor: restructure authentication routes and update Discord login flow

* feat: implement submission form for CubeIndex Championship

* fix: remove unused data logging in submission action

* feat: Added submission page for CubeIndex Championship (#42)

* feat: implement submission form for CubeIndex Championship

* fix: remove unused data logging in submission action

* feat: enhance submission handling by generating dynamic filenames based on existing submissions

* chore: removed placeholder data and updated the schema from prod

* fix: streamline user authentication error handling and profile retrieval

* feat: Add paraglide (i18n) (#43)

* chore: removed paraglide

* feat: integrate Inlang for localization support and add project settings

* feat: add English and French localization support for CubeIndex messages

* feat: update localization messages for English and French, and enhance disclaimer component

* fix: remove unnecessary prerender export from layout

* Update Crowdin configuration file

* feat: update localization files and add new locale support

* fix: correct locale entry from 'js' to 'ja' in settings.json

* feat: add German and Spanish localization files, update French and Japanese translations, and modify Vite configuration for preferred language strategy

* feat: update localization files, add new translations, and modify i18n settings

* Update Crowdin configuration file

* fix: remove unused error localization file and simplify Vite plugin strategy

* feat: remove unused localization files and update message retrieval in components

* feat: Protect championship submissions (#48)

* fix: fix submission page when profile missing (#49)

* Update Crowdin configuration file

* feat: Localize all texts (#47)

* feat: update localization strings across components

* feat: added localization on more pages (#46)

* localize about and construction component

* localize more public pages

* localize additional pages and components

* feat: update localization strings and improve user interface messages

* fix: update overview user tab label and enhance Vite plugin strategy

* feat: added localization across user settings, footer, and comparison pages

* Update Crowdin configuration file

* feat: Protect championship submissions (#48)

* fix: fix submission page when profile missing (#49)

* fix: remove paraglide and related files

* fix: Revert developer branch to delete paraglide

* Revert "Merge branch 'developer' of https://github.com/cubeindex-project/CubeIndex into developer"

This reverts commit fa3c0f8f4f5637ddcafb56091eb97c64c31654f4, reversing
changes made to c7c8aff426dd5aa04dcf624d7226db7ff4b0fefc.

* fix: remove paraglide related files

* fix: only make the cubes who status code is marked as Approved show in the explore page (#51)

* feat: Enhance cube explore page (#52)

* update: added submission page

* feat: implement sub-type detection for cube types and enhance submission form

* feat: added stickered checkbox and an error message if the cube is already added

* chore: updated depedencies

* fix: adjust spin timing calculation for total cubes

* feat: implement csr of cubes on cube explore page

* feat: implement csr of cubes on cube detail page

* feat: implement csr of user cubes and cubes in cube page of user

* refactor: simplify conditional statements

* feat: moved fetching logic to +page.ts

* feat: add submission status on cube detail page

* feat: add message when no cubes are found due to filters or search

* fix: adjust spin timing for total cubes and ensure only approved cube models are selected

* fix: remove unnecessary inspection of paginated cubes in the template

* fix: optimize cube and user count retrieval in the load function of the home page

* fix: update site.webmanifest to add the support for any orientation on PWA app

* feat: Staff cube manager page (#53)

* feat: implement announcements and cubes management features in admin dashboard

* feat: add vite-plugin-devtools-json for enhanced development tools

* feat: filter out archived notifications from the list

* feat: added the possibility to publish announcement from the staff dashboard

* feat: added the ability to archive/unarchive an announcement

* feat: added cube addition form in staff available tools

* feat: update tools list to mark 'Manage Cubes' as implemented and add new 'User Reports' and 'User Feedbacks' tools

* feat: made the cubeVersionType component take the version type instead of the cube array as dependency

* feat: add size and discontinued status display in cube detail page

* feat: update dependencies and add slugify utility

- Updated Vite version from 6.2.5 to 6.3.5 in package.json.
- Added Supabase dependency version 2.24.3 in package.json.
- Created a new slugify utility function in slugify.svelte.ts for generating slugs from strings.
- Removed unused FeatureDisabled component import in staff cubes page.
- Added "Add a Cube" button in staff cubes page.
- Implemented server-side loading for individual cube details in [slug]/+page.server.ts using Supabase.
- Created a new page for displaying individual cube details with editing capabilities in [slug]/+page.svelte.
- Updated the add cube form to generate slug automatically using the slugify function and removed manual slug input.

* feat: create UserCard component for user profile display

* feat: add staff prop to UserCard component for user management

* feat: add formatDate utility function for consistent date formatting across components

* fix: pass version_type prop to CubeVersionType component in cubeCard and editUserCubeCard

* feat: Implement cube editing functionality with validation and improved cube addition

- Added server-side logic for loading and editing cube details in `+page.server.ts`.
- Created a new Svelte component for the cube editing form in `+page.svelte`.
- Integrated form validation using `sveltekit-superforms` and Zod schema.
- Implemented dynamic handling of related cubes and series in the form.
- Added API endpoint for updating cube status in `update-cube-status/+server.ts`.
- Updated the dashboard to reflect changes in the implementation status of announcements.
- Enhanced the explore page to display cube statuses dynamically.

* fix: Improve slug generation by handling empty series and versionName

* feat: Update routing and access control for staff and admin sections

* fix: Handle row-level security violation for vendor link upsert

* fix: Remove unimplemented staff report and feedback links from dashboard

* fix: Update description in the Manage Cubes section for clarity

* fix: made the staff/cubes page redirect when the profile role isn't equal to Admin AND Database Manager

* fix: made individual fetch for each cubes category to tone down server load

* fix; sameSeries fetch in staff cube edit page to not include the model of the current cube

* fix: return null instead of an empty string for unknown sub-types in getSubTypes function

* fix: update sub_type assignment logic to handle empty string case in cube editing

* fix: update cube status API to include verified_by field

* Improve the staff cube manager page (#54)

* refactor: enhanced the conditional rendering for the staff cube card to improve readability and maintainability

* fix: implemented csr to lessen the server load

* fix: update cube status API to include verified_by field

* feat: added reason on rejected cube card

* refactor: remove unused status background mapping function from staffCubeCard component

* fix: remove automatic page reload after form submission in manageCubeStatus component

* feat: add vendor fetching and selection functionality in cube edit page

- Implemented fetching of vendor data from the Supabase database.
- Updated the form to include a dropdown for selecting vendors.
- Enhanced error handling for vendor data retrieval.
- Integrated vendor base URL display in the form for better user experience.

* feat: display verified_by information in cube details and edit pages

* feat: enhance rejection reason selection in manageCubeStatus component

- Added a dropdown for selecting rejection reasons with an option for "Other".
- Implemented conditional textarea for entering custom reasons when "Other" is selected.
- Updated payload logic to handle custom reasons appropriately.

* refactor: update manageCubeStatus component to improve type safety and payload structure

* feat: enhance staffCubeCard component to display verified user and conditional edit button

- Added profile prop to staffCubeCard for user verification.
- Updated the display to show the verified user and conditionally render the edit button based on verification status.
- Improved layout for displaying cube notes and verified information.

* feat: implement cube selection dropdown in staff cube edit page

* fix: update condition for displaying related fields in cube addition form

* feat: implement link cleaning functionality in cube edit page

- Added a new `cleanLink` function to strip tracking wrappers and unnest redirects from URLs.
- Integrated `cleanLink` in the cube edit form to sanitize image URLs and vendor links before submission.
- Enhanced data handling by trimming whitespace from various input fields.

* feat: enhance cube edit form with dynamic type selection and custom type creation

- Updated the cube edit form to allow users to select from existing types or create a new type if "Create Type" is selected.
- Modified the data handling to include a new `otherType` field for custom type input.
- Integrated fetching of available types from the database to populate the type dropdown.
- Improved form submission logic to handle both selected and custom types appropriately.

* feat: enhance cube edit form with surface finish selection and loading state

- Added a dropdown for selecting surface finishes, fetching options dynamically from the database.
- Implemented loading state for surface finishes and subtypes to improve user experience.
- Updated error handling to correctly display validation messages for the new fields.

* fix: correct enum type name for cube surface finishes in edit page

* refactor: optimize cube filtering logic in explore page

- Simplified the filtering conditions for `sameSeries` and `cubeTrims` to enhance readability and performance.
- Ensured that only approved cubes are included in the filtered results for both series and trims.

* feat: enhance cube edit form with dynamic brand selection and custom brand input

- Updated the brand selection to show only approved brands from existing cubes.
- Added an option to input a custom brand when "Add Brand" is selected.
- Modified the form submission logic to handle both selected and custom brands appropriately.
- Improved the manageCubeStatus component integration for better user interaction.

* feat: enhance cube edit form with dirty state tracking and improved user feedback

- Added a dirty state to track unsaved modifications in the cube edit form.
- Implemented visual feedback for unsaved changes, disabling action buttons when modifications are present.
- Updated the manageCubeStatus component's background color for better visibility.

* feat: enhance UserCard component to display user achievements and cubes count

- Updated UserCard to accept user_achievements_count and user_cubes_count props for improved data handling.
- Adjusted rendering logic to dynamically display the count of user achievements and cubes, enhancing user experience.
- Refactored user profile rendering in the explore page to utilize the new props for better performance and clarity.

* fix: bug where other Brand and other Type error appeared when not relevant (#55)

* fix: update validation logic in cube edit form for brand and type fields

- Changed brand and otherBrand fields to enforce required validation.
- Updated type and otherType fields to ensure proper validation handling.
- Enhanced error messages for brand and type inputs based on user selection.
- Refactored conditional checks for versionName to improve clarity and functionality.

* fix: enhance cube edit form validation and search functionality

- Updated validation for type and otherType fields to ensure required input.
- Improved error messaging for type selection.
- Refactored relatedTo input to utilize a search feature for better user experience.
- Adjusted cube filtering logic to include only approved cubes in the edit form.

* feat: add Staff Logs page with log entry display and pagination (#56)

* feat: enhance search functionality in Staff Logs to include created_at and target_table fields

* feat: Reorganization of database (#57)

* feat: enhance cube edit form to include features and validation improvements

- Introduced a new features object in the cube edit schema to encapsulate various cube attributes such as smart, magnetic, and ball core.
- Refactored data handling in the load function to fetch and manage cube features more effectively.
- Enhanced the UI to dynamically reflect the new features structure, improving user experience and form clarity.
- Implemented error handling for feature-related submissions to ensure robust data integrity.

* fix: ensure UTC time zone is consistently applied in date formatting

* fix: update supabase reference in cube edit actions and clean up unused code in the Svelte component

* feat: enhance cube addition form with improved validation and dynamic features

- Introduced a new features object in the cube addition schema to encapsulate attributes like smart, magnetic, and ball core.
- Updated validation logic to ensure required fields for brand and type are enforced, with custom error messages for better user guidance.
- Enhanced the UI to allow users to create custom brands and types, improving flexibility in data entry.
- Implemented a search feature for related cubes, displaying only approved options to streamline user selection.
- Integrated a cleanLink function to sanitize image URLs before submission, ensuring data integrity.

* refactor: update cube types and brands to use 'name' field for consistency

- Changed database queries and data handling in the cube edit form to use 'name' instead of 'type' and 'brand' for fetching and inserting records.
- Updated the Svelte component to reflect these changes in the dropdown options and state management.
- Ensured proper error handling remains intact for data retrieval and submission processes.

* refactor: added several typescript interfaces for type safety

* refactor: update cube data handling and type definitions for improved consistency

- Refactored the loading logic in the cube page to utilize updated type definitions for Cube and Profiles.
- Enhanced data retrieval from Supabase to ensure accurate fetching of cube metadata and features.
- Updated Svelte components to reflect changes in data structure, improving type safety and clarity in the UI.

* refactor: streamline cube data handling and improve state management

- Refactored the cube exploration page to enhance data fetching and state management, utilizing updated type definitions for better type safety.
- Consolidated the logic for fetching cube features and metadata, ensuring a more efficient data structure.
- Updated Svelte components to reflect changes in state handling, improving clarity and performance in the UI.
- Enhanced filtering and pagination logic for a more responsive user experience.

* refactor: improve cube data fetching and state management in admin and public routes

- Enhanced the data fetching logic for cubes in both admin and public routes, consolidating feature retrieval and metadata handling for better performance.
- Updated type definitions for Cube and CubeWithMeta to ensure consistency and type safety across components.
- Refactored state management to streamline the handling of filters, pagination, and search functionality, improving overall user experience.
- Removed unused imports and optimized the component structure for clarity and maintainability.

* refactor: update Cube type definitions and remove deprecated cubeMeta

- Added SubmissionStatus type to manage cube submission states (Approved, Rejected, Pending).
- Changed optional properties in Cube interface from nullable to undefined for better type safety.
- Removed the cubeMeta file as its functionality is now integrated into the Cube type.

* feat: implement cube schema for form validation and refactor related routes

- Added a new cubeSchema using Zod for comprehensive validation of cube properties, including required fields and custom error messages.
- Refactored the cube addition and edit routes to utilize the new cubeSchema, improving validation consistency and reducing code duplication.
- Enhanced error handling and data management in the form submission process, ensuring better user experience and data integrity.

* refactor: remove obsolete cube comparison page and enhance data fetching logic

- Deleted the obsolete +page.server.ts file for the cube comparison page, streamlining the codebase.
- Refactored the +page.svelte component to improve data fetching and state management, integrating a new loading state and utilizing a search component for cube selection.
- Updated the structure of cube metadata handling to enhance clarity and performance in the UI.

* refactor: update Cube type imports for improved clarity and consistency

- Changed the Cube type import from the cube component to a dedicated types file, enhancing code organization.
- Updated state management variables to use the new Cube type, ensuring better type safety across the component.

* fix: ensure loading state is correctly managed in cube data fetching

- Updated the loading state handling in both admin and public cube pages to ensure it is set to false after data fetching, improving user experience by preventing loading indicators from persisting unnecessarily.

* feat: add SearchCubes component for improved cube selection

- Introduced a new SearchCubes component to facilitate searching and selecting cubes in the admin staff pages.
- Updated cube type imports for consistency and clarity across components.
- Refactored the related cube selection logic in both add and edit pages to utilize the new SearchCubes component, enhancing user experience and code organization.

* refactor: enhance type safety in cubeCard component

- Updated the cubeCard component to include explicit TypeScript types for props, improving type safety and clarity.
- Refactored the destructuring of props to align with the new Cube type definition, ensuring better consistency across components.

* feat: enhance feature mapping and display logic in cube exploration page

- Introduced a featureMap to efficiently manage and display features associated with cubes.
- Updated the display logic to reflect the status of features based on the new mapping, improving user experience.
- Refactored the handling of cube creation date display for consistency.

* fix: update getSubTypes function to handle unknown types and improve type definitions

- Changed the return value for unknown types from null to "Other" in the getSubTypes function, enhancing clarity in type handling.
- Updated the Cube interface to include a new required boolean field 'discontinued', improving type safety and data integrity.

* fix: correct verified_by assignment in manageCubeStatus component

- Updated the assignment of verified_by to always use the username, ensuring accurate tracking of who verified the status.
- Adjusted logic to maintain consistency in handling the reason for status updates.

* feat: Cube detail page improvements (#58)

* feat: implement cube collection management API and enhance UI forms

- Added API endpoints for adding, updating, and deleting cubes from the user's collection.
- Refactored the addCube and editUserCubeCard components to utilize the new API for form submissions.
- Improved user feedback with error messages and success notifications in the UI.
- Streamlined form handling and state management for better user experience.

* feat: enhance cubeCard and manageCubeStatus components with new features

- Added a visual indicator for newly added cubes in the cubeCard component, displaying a "NEW" label for cubes verified within the last week.
- Updated manageCubeStatus component to change the 'reason' field to 'notes' and ensure accurate tracking of verification status with a new 'verified_at' field.
- Refactored API handling to include the verified date when the cube status is updated, improving data integrity and user feedback.

* feat: add new API endpoint for cube notes management

- Implemented a new editNotes function in the manageCubeStatus component to allow users to update notes for cubes.
- Created a new API endpoint for editing cube notes, ensuring proper handling of requests and responses.
- Updated the form submission logic to conditionally call editNotes based on the selected reason, enhancing user interaction and data management.

* feat: update API endpoints for cube status and notes management

- Refactored the fetch calls in manageCubeStatus and unapproveCube components to point to the new staff API endpoints for updating cube status and editing notes.
- Introduced new server-side handlers for the /api/staff/update-cube-status and /api/staff/edit-mod-notes endpoints, enabling better organization and management of cube-related data.
- Enhanced error handling in the new API endpoints to ensure robust responses for successful and failed operations.

* feat: update cube exploration page layout and remove discontinued label

- Removed the "Discontinued" option from the cube features list to streamline the display.
- Enhanced the layout of the cube title to improve responsiveness and visual hierarchy.
- Added a conditional display for a "Discontinued" badge based on cube status, improving user awareness of cube availability.

* feat: add pagination component for cube exploration page

- Introduced a new Pagination component to handle page navigation, improving user experience.
- Removed inline pagination logic from the cube exploration page and replaced it with the new component for better code organization and maintainability.
- Updated the layout to ensure responsive design and accessibility features for pagination buttons.

* feat: enhance addCube and cubeCard components for improved UI

- Updated the addCube component's form layout for better alignment and responsiveness.
- Modified button labels in the cubeCard component to improve accessibility and visual clarity by conditionally displaying additional text on larger screens.

* feat: add discontinued field to cube schema and update related forms

- Introduced a new boolean field 'discontinued' in the cube schema for better tracking of cube availability.
- Updated the add and edit cube forms to include the discontinued field, ensuring proper data handling during submissions.
- Refactored the UI components to bind the discontinued checkbox correctly, enhancing user interaction and data integrity.

* fix: correct reason handling in manageCubeStatus component

* feat: update cube size validation and input type in forms

* feat: enhance cube size validation regex to accept decimals

* refactor: remove server-side staff logs loading logic and implement client-side fetching

* feat: Rate Cubes (#59)

* refactor: remove server-side staff logs loading logic and implement client-side fetching

* refactor: organize the components into folders

* refactor: reorganize component imports into structured folders for better maintainability

* fix: adjust spin timing calculation for cube animation to improve visual performance

* chore: remove championship submission and related components

- Deleted the championship submission page and its server-side logic to streamline the codebase.
- Removed the in-construction component from the championship route, simplifying the public route structure.

* chore: remove debug logging from add-cube-to-collection API endpoint

- Eliminated console log statements to clean up the code and improve performance.

* refactor: update StarRating component to use 'rating' prop instead of 'score'

- Changed the prop name from 'score' to 'rating' in the StarRating component for consistency across the application.
- Updated related components to reflect this change, ensuring proper data binding and functionality.
- Added a page reload on cancel in the RateCube component to refresh the state.

* refactor: reorganize component imports to improve structure and maintainability

- Updated import paths for various components to reflect new folder organization.
- Moved components related to cubes into a dedicated 'cube' directory for better clarity.

* feat: add SearchBar and TriStateCheckbox components for improved filtering options

- Introduced a new SearchBar component to facilitate searching cubes with a clear button and filter toggle.
- Added a TriStateCheckbox component to allow for multi-state filtering options (true, false, mixed) for various attributes.
- Updated the explore cubes page to integrate these new components, enhancing the user experience with better filtering capabilities.

* feat: enhance user rating functionality with improved interactions and filtering

- Added the ability to mark ratings as helpful and implemented a delete rating feature with confirmation.
- Introduced a search bar for filtering user ratings based on comments and usernames.
- Enhanced the user ratings display with pagination and statistics for better user experience.
- Updated the user rating card to show cube details conditionally and improved the overall layout.

* feat: implement rating management API endpoints for adding, deleting, and marking ratings as helpful

- Added POST endpoint for adding user ratings with error handling for duplicate submissions.
- Implemented POST endpoint for deleting user ratings, ensuring user authentication.
- Created POST endpoint for toggling helpfulness of ratings, allowing users to mark or unmark ratings as helpful.
- Enhanced error responses to provide clearer feedback for users.

* feat: implement staff rating management interface

- Added a new staff rating management page to display and filter user ratings.
- Introduced the StaffRatingCard component for individual rating display, including delete functionality with confirmation.
- Implemented a search bar for filtering ratings based on user input.
- Integrated data fetching from Supabase for user ratings and cube models, enhancing the overall rating management experience.

* feat: enhance user reviews page with dynamic data loading and display

- Updated the server-side load function to fetch user data and ratings from Supabase.
- Enhanced the Svelte component to display user ratings using the UserRatingCard component.
- Added conditional rendering for cases with no ratings, improving user feedback and interaction.
- Introduced a reset button for filters to enhance user experience.

* fix: update user settings link to include full path for navigation

- Changed the user settings link in the layout from a relative path to an absolute path for better routing consistency.
- Ensured that the link is correctly formatted to improve user navigation experience.

* refactor: improve layout and structure of user rating components

- Enhanced the user rating card layout for better visual alignment and responsiveness.
- Added pagination to the user reviews page for improved navigation through ratings.
- Updated the API call in the staff rating card to format the request body more clearly.
- Refactored the layout of the user profile page for consistency and readability.

* feat: update user rating components and API interactions for improved functionality

- Refactored user rating components to utilize user IDs instead of usernames for better data integrity.
- Enhanced the RateCube component to check user connection status using context.
- Updated API endpoints to handle user ratings with user IDs, ensuring accurate data management.
- Improved the user ratings display logic to conditionally render based on user roles and interactions.
- Added reporting functionality to user ratings for better user feedback mechanisms.

* feat: implement reporting functionality for user and cube issues

- Added a new Report component for users to report bugs or issues related to users, cubes, and website functionality.
- Integrated reporting functionality into the user profile and error pages, allowing users to submit reports easily.
- Created API endpoints for handling report submissions and marking reports as resolved, enhancing the user feedback mechanism.
- Improved the user experience by providing clear forms for reporting with necessary fields and validation.

* feat: add layout server load for staff ratings management

- Implemented a new layout server load function to manage access for staff ratings.
- Added user authentication check to redirect unauthenticated users to the login page.
- Integrated Supabase to fetch user profile data, ensuring only users with Admin or Moderator roles can access the staff ratings page.
- Enhanced error handling for profile data retrieval to improve user experience.

* fix: update user rating card API call to filter by rating category

- Modified the API call in the userRatingCard component to include a filter for the "rating_category" set to "cube", ensuring more accurate data retrieval for user ratings.

* refactor: update user reviews page to use user IDs for data retrieval

- Changed the import of the User type to use Supabase instead of ConfigCat.
- Updated API calls in the load function to filter user ratings by user_id instead of username, ensuring better data integrity.
- Modified the StarRating component to use the correct prop for rating display in the accessories page.

* refactor: update User type import for user reviews page

- Changed the import of the User type from ConfigCat to Supabase for consistency in data handling.
- This update aligns with recent changes to improve data integrity and API interactions across the application.

* refactor: improve button layout and spacing in cubeCard component

- Updated button classes in the cubeCard component to include gap spacing for better visual alignment.
- Simplified button click handlers for toggling add and rate card states.
- Enhanced accessibility by ensuring proper aria-labels are maintained for button actions.

* feat: add network restrictions management and new SQL migration

- Introduced a new section in the config.toml for managing database network restrictions, allowing for IPv4 and IPv6 CIDR block configurations.
- Added a new SQL migration file that creates various database tables, types, and functions to support user achievements, cube models, and reporting functionalities.
- Implemented triggers and policies for enhanced data integrity and user interaction within the database schema.

* refactor: update user profile data handling in rating components

- Modified the userRatingCard and staffRatingCard components to fetch all profiles at once, improving data retrieval efficiency.
- Updated the idOfUser function to accept profiles as an argument, enhancing its flexibility and reducing redundant API calls.
- Adjusted the profile selection logic to ensure accurate user data is displayed based on usernames.

* chore: update dependencies and configuration

- Removed vite-plugin-pwa from package.json and package-lock.json to streamline the build process.
- Adjusted .gitignore to ensure the .vscode directory is ignored correctly.
- Updated Vite configuration to remove the PWA plugin while maintaining other essential plugins for development.

* refactor: update user rating and reporting components for improved data handling

- Modified userRatingCard and staffRatingCard components to use user_id instead of username for profile selection, enhancing data accuracy.
- Updated report API validation to check for the presence of 'comment' instead of 'reported', ensuring correct error handling.
- Added a new ratings page for user-specific ratings, integrating pagination and improved user feedback display.
- Enhanced layout and messaging across various user pages to provide clearer user experience and visual consistency.

* refactor: improve layout and spacing in cube components

- Updated the addCube and rateCube components to enhance text alignment and spacing for better readability.
- Removed unnecessary margin classes in cubeVersionType component for a cleaner design.
- Adjusted button layout in the explore page for improved visual consistency.

* fix: enhance error handling in rating submission and improve report form structure

- Added error handling for unauthorized access in the add-rating API, returning a clear message when users are not logged in.
- Refactored the report page to include a structured form for bug reporting and feature suggestions, improving user experience and data submission flow.
- Implemented state management for form submissions, ensuring proper feedback and validation for users.

* feat: enhance report management with comment and image display features

- Added functionality to toggle visibility of comments and images in the staff reports page, improving user interaction.
- Implemented modal dialogs for displaying comments and images, enhancing the user experience when reviewing reports.
- Updated the report submission process to include the current location as the reported source, ensuring better context for issues reported.

* fix: made the x-mark in the search bar component have the text-base-content color

* refactor: streamline error reporting interface and update report submission context

- Removed the inline report component from the error page, replacing it with a direct link to the report page for improved navigation.
- Updated the reported source in the report submission to use document.referrer instead of location.href, enhancing context accuracy for reported issues.

* refactor: improve navbar layout and enhance dropdown functionality

- Reformatted the navbar component for better readability and structure.
- Updated the profile dropdown button to use a more accessible label swap for the caret icon.
- Simplified onclick handlers for dropdown items to ensure consistent state management.

* refactor: enhance userRatingCard layout and improve button accessibility

- Updated the layout of the userRatingCard component for better alignment and spacing.
- Wrapped the StarRating component in a div for improved layout control.
- Enhanced the button styles for user settings in the layout component for better visual consistency and accessibility.

* refactor: update user settings button style for improved layout

- Changed the button class for user settings to enhance layout and visual consistency.
- Improved alignment and spacing by using flexbox properties for better user experience.

* refactor: update cube collection header for improved visibility

- Added a header for the Cube Collection section to enhance visibility and organization.
- Removed duplicate header to streamline the layout and improve user experience.

* refactor: remove deprecated cube submission components and update user submissions page

- Deleted the cube submission form and its associated server logic to streamline the submission process.
- Updated the user submissions page to display a placeholder message indicating that submissions will be available soon, enhancing user experience.

* refactor: simplify cubeVersionType component and enhance layout in explore page

- Removed the moreInfo prop from the cubeVersionType component to streamline its usage.
- Updated the layout of the explore page header to improve organization and visual clarity, including adjustments to the version type display.

* refactor: enhance user interaction and validation in cube-related components

- Added user authentication checks in the addCube, rateCube, and report components to ensure actions are only performed by logged-in users.
- Improved layout and accessibility by adjusting button states and adding error messages for unauthorized actions.
- Streamlined the CubeVersionType component by removing unnecessary props for cleaner usage across various components.

* fix: update disclaimer text from "Early Preview" to "Beta" for clarity on product status

* fix: fix the bug where the manageCubeStatus component didn't appear because the getUser variable was falsly marked as a function

* feat: Improves the User Profile Page & Overall Site Experience (#74)

* feat: update report resolution logic to track resolver ID

- Enhanced the report resolution process by adding a 'resolved_by' field to record the user ID of the staff member who marked the report as resolved. This improves accountability and tracking of report handling within the system.

* fix: update staffRatingCard API call to use 'helpful_rating' table and filter by 'rating_category'

- Changed the API call in staffRatingCard component to reference the 'helpful_rating' table instead of 'helpful_cube_rating'.
- Added a filter for 'rating_category' set to 'cube' to ensure accurate data retrieval for user ratings.
- Updated the profile selection logic to correctly display the username associated with the rating.

* fix: simplify API call in rating components by removing unnecessary filters

- Updated the API calls in both staffRatingCard and userRatingCard components to remove the 'rating_category' filter, streamlining data retrieval from the 'helpful_rating' table.
- This change enhances the efficiency of data fetching while maintaining the core functionality of the components.

* fix: fixed the visual presentation of version types by ensuring consistent text color with background

* refactor: remove theme switcher dropdown from navbar for cleaner layout

* refactor: update userCard component to remove default bio text for cleaner display

* fix: bind currentPage in Pagination component to fix pagination bug in user ratings page

* feat: enhance achievements display with new rarity classification and transition effects

- Updated the achievements component to include a new rarity type 'Special' with a distinct gradient background.
- Implemented a transition effect for the achievements section to improve user experience.

* refactor: update footer component with new logo and styling adjustments

- Replaced the CubeIndex logo with a new pixel art version for improved visual appeal.
- Adjusted the logo's styling to be rounded and consistent in size.
- Simplified the footer description by removing unnecessary styling.

* refactor: rename rateCube function to sendReport for clarity

- Updated the function name from rateCube to sendReport to better reflect its purpose in submitting reports.
- Adjusted the form's onsubmit event to use the new function name.

* feat: enhance cube detail page with add to collection button and default data handling

- Introduced a new AddToCollectionButton component for managing user collections.
- Updated the addCube component to include default data for cube attributes.
- Modified the cube detail page to utilize user-specific data for displaying cube information and collection status.
- Improved loading skeletons for better user experience during data fetching.

* refactor: change insert to upsert in add-cube-to-collection API for improved error handling

* feat: enhance user cube card and ratings functionality

- Added user rating display to UserCubeCard component, showing user ratings if available.
- Updated user cube fetching logic to include user ratings in the user cubes list.
- Removed the deprecated user ratings page and its associated logic for cleaner codebase.

* feat: integrate Ssgoi transitions across multiple components for enhanced user experience

- Added SsgoiTransition to various pages and components to improve navigation and visual transitions.
- Updated layout and error handling components to utilize the new transition effects.
- Enhanced user interaction on forms and data display sections with smoother transitions.

* feat: enhance user settings page with improved form handling and theme customization

- Integrated sveltekit-superforms for better form validation and error handling in user profile, social links, and password sections.
- Added theme selection functionality with light and dark themes, allowing users to customize their appearance settings.
- Updated the layout to utilize Ssgoi transitions for smoother navigation between settings tabs.
- Refactored form submission logic to improve user experience and feedback during updates.

* docs: add contribution guide (#60)

* feat: add sorting options to cube explore (#62)

* feat: add client error reporter (#63)

* feat: add share buttons (#64)

* feat: add pagination and filtering to user cubes (#61)

* fix: update AGENTS.md to be more personalized for CubeIndex

* refactor: update user profile handling and improve error management

- Removed the deprecated idOfUser function and replaced its usage with direct profile.username references.
- Updated profile data structure to include display_name instead of username in various components.
- Enhanced error handling in API routes and component logic for better user feedback.
- Refactored user-related components to align with the new profile structure, ensuring consistency across the application.

* chore: remove console log from addCube component

- Eliminated unnecessary console log statement in the addCube.svelte file to clean up the code and improve performance.

* refactor: remove unused username state and simplify CubeVersionType component usage

* refactor: simplify button components and improve error handling

- Updated the addToCollectionButton to remove unnecessary classes for cleaner styling.
- Refactored the shareButton to use destructured props for better readability and added keyboard accessibility.
- Removed the unused verified_by field from the manageCubeStatus payload.
- Cleaned up the error.svelte file by removing the SsgoiTransition wrapper for a more straightforward structure.

* refactor: improve error handling across multiple components

- Replaced alert statements with Error objects for better error management in deleteCubeRating, unapproveCube, and reports components.
- Updated error handling in layout and various routes to throw Error objects instead of logging to console, enhancing consistency and clarity in error reporting.

* feat: add user avatar component

- Introduced a new avatar component that displays user profile pictures or a placeholder with the user's initial.
- The component supports different sizes (small, medium, large) for responsive design.

* chore: update AGENTS.md with typecheck and linting commands

- Added commands for typechecking and linting to enhance code quality and maintainability.

* chore: update dependencies in package.json and package-lock.json

- Added chart.js version 4.5.0 to both package.json and package-lock.json.
- Updated svelte to version 5.37.1 in both files.
- Added sveltekit-search-params version 3.0.0 to both files.
- Updated @eslint/plugin-kit to version 0.3.4 in package-lock.json.
- Removed unused dependencies from package-lock.json to streamline the project.

* feat: enhance user social interactions with following status

- Added logic to check if the current user is following the profile user, returning this status in the page server load.
- Updated the Svelte component to utilize the new isFollowing property, allowing the FollowButton to reflect the current following state.

* refactor: update user profile structure to use display_name

- Changed the profile property from username to display_name in the user settings and avatar components for consistency.
- Updated validation schema to reflect the new display_name field.
- Enhanced the user settings form to bind to display_name and adjusted related error handling.
- Removed deprecated username references in the avatar component, ensuring it displays the correct initial based on display_name.

* refactor: enhance user settings form with tainted state tracking

- Added tainted state tracking for profile, social, and password forms to manage dirty state effectively.
- Updated submit buttons to be disabled when forms are not dirty, improving user experience.
- Refactored form handling to include new tainted properties for better form validation and state management.

* chore: update dependencies and enhance user profile features

- Added new dependencies: @cartamd/plugin-emoji, @cartamd/plugin-slash, sass-embedded, isomorphic-dompurify, and tippy.js to package.json and package-lock.json.
- Updated user profile loading logic to include user achievements and improved data handling in the user settings form.
- Enhanced the user profile display with additional statistics and improved Markdown rendering for bio content.
- Refactored validation schema to provide clearer error messages for display_name.

* feat: improve mobile menu button (#67)

* fix: ensure profile layout updates on navigation (#69)

* feat: enhance user profile page with friends and ratings display

- Updated user profile loading logic to include friends and user cube ratings.
- Improved the user profile layout to conditionally render bio and added a dedicated section for friends.
- Refactored the main cubes display to utilize the new user cube card component, enhancing the user experience.

* refactor: update avatar component to use dynamic sizing and improve userCard layout

- Modified the avatar component to accept imgSize and textSize props for more flexible styling.
- Updated userCard to pass specific sizes for the avatar, enhancing the visual consistency across user profiles.
- Cleaned up unused size logic in the avatar component, streamlining the code.

* style: refine user profile layout for improved responsiveness and readability

- Adjusted grid layout for user profile page to enhance responsiveness across different screen sizes.
- Modified font sizes for the bio section to improve visual hierarchy and readability.
- Updated main cubes display to better utilize available space, ensuring a more consistent user experience.

* style: enhance avatar component for improved visual consistency

- Updated Avatar component in user social and settings pages to accept imgSize and textSize props for better responsiveness.
- Adjusted sizes for avatars to ensure a more uniform appearance across user profiles, enhancing overall user experience.

* refactor: update user profile and settings pages for improved Markdown rendering

- Replaced the Carta Markdown implementation with svelte-exmarkdown for better compatibility and styling.
- Enhanced bio rendering in user profile and settings pages to utilize DOMPurify for sanitization and improved Markdown support.
- Adjusted layout and styling for bio sections to ensure consistent presentation across user interfaces.

* refactor: update share button and user components for improved accessibility and styling

- Changed the share button from a div to a button element to enhance accessibility and semantics.
- Added aria-label to the share button for better screen reader support.
- Updated avatar component to include object-cover class for improved image presentation.
- Removed bio display from userCard for a cleaner layout.
- Adjusted layout in user profile to enhance responsiveness and visual consistency.

* feat: add display name functionality to user signup and profile creation

- Introduced a new field for display name in the signup form, requiring a minimum length of 4 characters.
- Updated the profile creation logic to include display name alongside username in the database.
- Enhanced the user interface to accommodate the new display name input, improving user experience during signup.

* style: improve layout and responsiveness of user profile components

- Adjusted layout of user profile elements for better alignment and spacing.
- Enhanced responsiveness by modifying flex properties and ensuring full-width usage in specific sections.
- Updated visibility of the FollowButton to improve user interaction on mobile devices.

* style: update user profile layout for improved visual consistency

- Changed background color of user profile cards for better contrast.
- Removed the friends list section to streamline the user profile display.
- Adjusted layout of stats card for enhanced readability and alignment.

* fix: improve display name validation message in user settings

- Updated the error message for the display name field to clarify the minimum character requirement, enhancing user understanding during profile updates.

* chore: update package dependencies and remove unused packages

- Removed deprecated dependencies: @cartamd/plugin-emoji and @cartamd/plugin-slash.
- Added new dependencies: github-markdown-css and svelte-exmarkdown for enhanced Markdown support.
- Cleaned up package-lock.json by removing unused modules to streamline the project.

* fix: enhance client error reporting with improved messaging

- Updated the error toast message to include the specific error details for better user context.
- Revised the description in the toast action to clarify the reporting process.
- Standardized quotation marks for consistency throughout the component.

* refactor: simplify sorting logic in cubes page by commenting out not prodduction-ready code

- Commented out the sorting logic for cubes based on various fields to streamline the code.
- Removed unnecessary sorting UI elements to enhance clarity and maintainability of the component.

* refactor: clarify error messages (#71)

* refactor: implement pagination for staff logs retrieval

- Updated the staff logs loading logic to fetch data in batches of 500, improving performance and reducing initial load time.
- Modified the log entry structure to include staff display names, enhancing clarity in the logs display.
- Adjusted filtering and rendering logic to accommodate the new data structure for staff logs.

* style: update avatar background color and improve layout spacing in user profile

- Changed avatar background color from primary to black for better contrast.
- Added gap between elements in user profile layout for improved visual consistency.
- Cleaned up import statement formatting for consistency.

* refactor: streamline data fetching and component rendering in staff ratings

- Removed unnecessary profile fetching logic in staffRatingCard, simplifying the component.
- Updated the data selection in the load function to include related user and cube data, enhancing the efficiency of data retrieval.
- Adjusted the rendering logic in staffRatingCard to directly use user_rating properties, improving clarity and maintainability.

* refactor: enhance username validation logic in signup process

* refactor: update username regex and error message for clarity

* refactor: update verified by display logic in staff components

- Changed the display of the verifier's name to use the associated user ID's display na…
@netlify

netlify Bot commented Sep 17, 2025

Copy link
Copy Markdown

Deploy Preview for cubeindex ready!

Name Link
🔨 Latest commit 8f43ae3
🔍 Latest deploy log https://app.netlify.com/projects/cubeindex/deploys/68cab4b80703eb0008ffac60
😎 Deploy Preview https://deploy-preview-104--cubeindex.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@Saterz Saterz merged commit 7d7ca62 into main Sep 17, 2025
7 checks passed
@Saterz Saterz deleted the developer branch September 17, 2025 13:19
@Saterz Saterz restored the developer branch September 17, 2025 13:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant