Commit Graph
74 Commits
Author SHA1 Message Date
auto 905373093c Update rate limiting headers and adjust time unit for limits
Added `Access-Control-Expose-Headers` to rate limit responses to expose retry-related headers for easier accessibility on the client side. Changed the rate limit time unit in `HistoryApiController` from seconds to minutes for more reasonable throttling.
2025-04-18 19:32:34 +02:00
auto 21f2b3e4a5 Refactor pagination logic and add error handling in history
Introduced `updatePageSize` for better page size management and added checks to prevent rapid page changes. Enhanced error handling in `history.component` with retry logic on failure. Implemented `RemoveTrailingPeriodPipe` for cleaner UI formatting.
2025-04-18 19:32:23 +02:00
auto 53f67a5075 Fix handling of non-positive expiry times in punishment history 2025-04-18 18:46:14 +02:00
auto a01038e86c Refactor rate-limiting and name history queries.
Removed redundant rate-limit response headers and improved query methods for fetching punishment history. Refactored methods to handle cases where partial names are empty and added escaping for underscores in search names.
2025-04-18 18:33:47 +02:00
auto e3eaab708c Add rate-limiting mechanism with AOP for API endpoints
Introduced a rate-limiting feature using Spring AOP and a custom `RateLimit` annotation. Includes `InMemoryRateLimiterService`, `RateLimitAspect`, and related classes for controlling request limits. Applied rate limiting to specific API controllers to enhance system stability and prevent abuse.
2025-04-17 20:31:14 +02:00
auto 48fd133b6d Fix pageChange emission to use history length
Modified the `ngOnChanges` method to emit the length of the history instead of the current page. This ensures accurate data is provided to parent components during changes.
2025-04-12 23:01:35 +02:00
auto 21b87fbf68 Add appeal endpoints and schema definitions
Introduce new API endpoints for handling Minecraft and Discord appeals, as well as updating appeal email addresses. Define detailed schemas for request and response payloads, supporting streamlined appeal processing across all platforms.
2025-04-12 22:51:16 +02:00
auto 3a2a54050f Add custom avatar for console entries in ban history
Updated the `getAvatarUrl` method to return a specific avatar image for console entries. This ensures better visual distinction for console-generated actions in the ban history.
2025-04-12 22:20:45 +02:00
auto a5adb031bd Add pagination handling with pageSize and pageChange EventEmitter
Introduced `pageSize` in `bans.component.ts` to manage pagination logic and updated `buttonActive` to account for page size constraints. Added `pageChange` EventEmitter in `history.component.ts` to notify the parent component of page changes. Updated the template to bind `pageChange` for dynamic page size updates.
2025-04-12 22:11:40 +02:00
auto d535dd1ba9 Reset page number on search and filter changes
Ensure the page is reset to 0 when performing a search or changing filters. This prevents issues with incorrect page states and improves navigation consistency.
2025-04-12 21:55:51 +02:00
auto 3ed5fcfc0f Add pagination controls with proper state handling in BansComponent
Introduced "First", "Previous", "Next", and "Last page" buttons with state-dependent activations for improved navigation. Refactored pagination logic to utilize a constant PAGE_SIZE and adjusted calculations for max page determination. Ensured page transitions and state updates are accurate and consistent.
2025-04-12 17:41:44 +02:00
auto a70159e88d Refactor avatar URL generation into reusable method
Centralized avatar URL generation with `getAvatarUrl()` method to reduce redundancy and improve code maintainability. Updated relevant components to utilize the new method for cleaner and more consistent implementation.
2025-04-12 17:20:47 +02:00
auto 1264003a44 Adjust scroll activation threshold and reset inverseYPos.
Increased the scroll threshold for activating the header to 5 for better usability. Added a reset for `inverseYPos` to 0 when the scroll position is at the top, ensuring consistent behavior.
2025-04-12 16:51:08 +02:00
auto a1b42060b0 Revise scroll position calculation in header component
Updated the formula for calculating `inverseYPos` to use a 20% reduction approach instead of dividing by 4 and inverting. This ensures a smoother and more proportional adjustment during scrolling.
2025-04-12 16:47:17 +02:00
auto 3499f331a0 Add required fields to HistoryCount object in schema
Updated the schema to include `bans`, `mutes`, `warnings`, and `kicks` as required properties in the `HistoryCount` object. This ensures proper validation and consistency across the API.
2025-04-12 01:49:57 +02:00
auto 2b27fb6955 Add dynamic pagination and state management for history
Introduced dynamic pagination based on punishment types and counts, retrieved via a new API call. Refactored state management with a centralized `pushState` method and updated button logic in the template to reflect the changes. This improves navigation consistency and user experience.
2025-04-12 01:45:59 +02:00
auto 66d641b825 Add search state persistence and pagination for bans history
Enhanced the bans component to retain search state using the History API. Updated the history component to support paginated and filtered data loading based on user input and search terms.
2025-04-12 01:35:40 +02:00
auto 0a2338e42e Adjust widths in history component styling
Reduced the width of `.historyReason` and increased the width of `.historyDate` to improve layout alignment. These changes ensure better visual balance and accommodate content more effectively.
2025-04-12 01:02:14 +02:00
auto aa2797c51c Merge remote-tracking branch 'origin/master'
# Conflicts:
#	frontend/src/app/bans/bans.component.html
2025-04-12 00:55:53 +02:00
auto c83f95a3de Enable user search and filtering in the bans component
Added support for searching and filtering user names using `HistoryService`. Implemented a dropdown for search suggestions with dynamic filtering and selection. Updated UI and styles to accommodate the new input functionality.
2025-04-12 00:54:58 +02:00
auto 02c69b318a Sort history query results by time in descending order.
Added `ORDER BY time DESC` to ensure that history query results are consistently returned with the most recent entries first. This update improves data clarity and usability for end-users.
2025-04-11 23:44:22 +02:00
auto 44d28494e5 Add API endpoint to retrieve total punishment counts
Introduced a new API endpoint `/history/total` for fetching the total counts of bans, mutes, kicks, and warnings. Added database mapping and DTO classes to support this functionality, along with necessary schema and controller updates.
2025-04-11 23:27:20 +02:00
auto e7fde81f49 Change page size from 100 to 10 2025-04-11 21:57:10 +02:00
auto 23367b6dea Fix history not loading 2025-04-11 21:37:21 +02:00
auto 2289b14b5a Add history page 2025-04-11 21:20:02 +02:00
auto 4b891dd672 Reworked database setup and added pagination
The database tables are now automatically created
The history lookup now uses a view for names (for simplicity and readability)
The all history lookup now uses a view combining all punishment history for efficiency
2025-04-11 18:22:07 +02:00
auto 3c6141f7ad Refactor imports in team.component.ts for conciseness
Consolidated and simplified imports from '../../api' to clean up the code. This reduces redundancy and improves readability while maintaining functionality.
2025-04-11 14:48:13 +02:00
auto 0f9761da3a Refactor history APIs and integrate LiteBans database support
Redesigned history-related APIs to streamline handling of user and UUID punishments, moving from POST to GET endpoints. Added support for LiteBans database with mappers for retrieving punishment records by name and UUID, and implemented global exception handling for better error reporting. Updated schema paths and added enums (UserType, HistoryType) and a new Gradle dependency.
2025-04-11 01:12:46 +02:00
auto 43a5dafd82 Refactor API structure and update schema references
Moved API files from `sub_api` to `schemas` for better organization. Updated schema references to use `ApiError` instead of `Error`. Adjusted build configuration to include new schema folder in the API generation process.
2025-04-10 23:16:57 +02:00
auto 2b818fc297 Add removedReason field to bans API schema 2025-04-10 23:12:20 +02:00
auto 7fa84fec81 Add "removedBy" field to bans.yml
This new field captures the name of the staff member who removed a punishment. It provides additional traceability and accountability for punishment actions.
2025-04-10 22:55:53 +02:00
auto 1585011143 Refactor API structure and endpoints for history and team.
Updated API definitions and endpoints to better support punishment history and team queries. Introduced new parameters, schemas, and operations to improve functionality, and reorganized related controllers into appropriate packages.
2025-04-10 22:46:30 +02:00
auto 2137459e9b Refactor API structure and enhance logging/debugging.
Modularized OpenAPI definitions by splitting into dedicated files for teams, bans, and errors. Improved backend logging for database connections, CORS configuration, and debugging. Updated application properties to support environment-specific CORS origins and logging levels.
2025-04-10 21:45:00 +02:00
auto 23f298b8c9 Log error when database settings fail to load 2025-04-10 21:11:26 +02:00
auto 02f21169b4 Remove unused TeamMemberDto import in TeamApiController
The TeamMemberDto import was unnecessary and not used in the code. Removing it improves code cleanliness and reduces potential confusion. This is a minor optimization with no functional changes.
2025-04-10 20:39:51 +02:00
auto f10c3ab2d3 Refactor team component to use dynamic data loading
Replaced static member entries with dynamic rendering using `getTeamMembers` for better scalability. Added caching and data deduplication logic to optimize API calls. This enhances maintainability and reduces redundancy in the team component.
2025-04-10 02:08:27 +02:00
auto d5daa8458b Refactor database structure and improve player handling.
Reorganized database-related code into a dedicated module, added mappings for UUID handling, and updated SQL queries for clarity. Enhanced team members API to use player data directly, ensuring consistency and better handling of UUIDs. Introduced new database table for connection settings and adjusted Gradle configurations for modularization.
2025-04-10 01:22:19 +02:00
auto 67a3162ae3 Added backend and fixed openapi generation 2025-04-08 22:24:24 +02:00
auto 21496baab5 Remove AppModule and enhance Team and Header components
Deleted unused `AppModule` to streamline the project structure. Enhanced the `TeamComponent` by integrating team member data from the API and updating its template. Improved the `HeaderComponent` by adding `priority` to the logo image for better performance.
2025-04-08 22:23:37 +02:00
auto c2c81de9d0 Convert components to standalone and implement route-based loading
Refactored Angular components to standalone modules, enhancing modularity and reducing dependency on `AppModule`. Updated routes to facilitate lazy loading for improved performance and maintainability. Replaced `platformBrowserDynamic` with `bootstrapApplication` for modern bootstrapping.
2025-04-08 21:45:44 +02:00
auto ab3abe7f6b Refactor background-position logic in header component 2025-04-06 20:50:49 +02:00
auto 7b377a3667 Refactor team section styles by using a common CSS class
Replaced inline styles with a reusable `.teamContainer` class in the team component. This improves maintainability and ensures consistent styling across sections.
2025-04-06 20:46:57 +02:00
auto b256b9f66b Enable scroll position restoration in app routing 2025-04-06 17:51:16 +02:00
auto 6f0c667bdd Revert "Add OnInit to components to scroll to top on initialization"
This reverts commit d4e231f67b.
2025-04-06 17:48:44 +02:00
auto d4e231f67b Add OnInit to components to scroll to top on initialization
Updated Privacy, Team, Terms, and About components to implement OnInit. Each component now calls the `scrollToTop` method of the `ScrollService` in the `ngOnInit` lifecycle to ensure the page starts at the top when initialized.
2025-04-06 17:47:12 +02:00
auto b4d78690d9 Add overlay gradient option to rules page header 2025-04-06 17:34:44 +02:00
auto d981b7dcff Add toggle functionality for exceptions in Rules component 2025-04-06 17:29:52 +02:00
auto d006a47cf3 Integrate ScrollService into multiple components. 2025-04-06 17:27:22 +02:00
auto 849f09d10a Update carousel to include opacity animation
Refactored slide navigation to integrate smooth fade animations using opacity changes. Introduced `carouselOpacity` and `triggerAnimation` to manage animation state, and replaced direct slide index changes with the `setSlide` method for improved modularity. Updated HTML and SCSS to support the new animation behavior.
2025-04-06 00:03:35 +02:00
auto 6f3445dc01 Move <app-footer> to the root app component
The <app-footer> component is now included only in app.component.html to avoid duplication across pages. This simplifies maintenance and ensures consistent behavior throughout the application.
2025-04-05 23:19:50 +02:00
auto 13089ba437 Add footer component to rules page
Inserted the `<app-footer>` component to the rules page template. This ensures consistency in the layout by including the footer across all pages. No additional logic or styles were modified.
2025-04-05 23:18:55 +02:00
auto 1af614323e Fix header background position logic on scroll
Updated the header's background position calculation to use string concatenation for `inverseYPos` and introduced dynamic adjustment of `inverseYPos` on scroll. This ensures smoother and more accurate background position updates.
2025-04-05 23:18:37 +02:00
auto e158c30bf1 Standardize hex color codes in map component HTML
Updated hex color codes to use uppercase letters for consistency. This change improves code readability and adheres to common hex formatting practices.
2025-04-05 23:03:44 +02:00
auto 18cc111b26 Adjust overlay_gradient to accept numeric transparency values.
Replaced the boolean `overlay_gradient` property with a numeric input to allow for more granular control over the overlay transparency. Updated both the map component and the header logic to handle this change dynamically.
2025-04-05 23:01:27 +02:00
auto a2f1a079cf Enhance header and map components with new features
Refactor header background styling to use a method supporting optional gradient overlays. Update map component to include detailed server map links and adjust styling for better layout and clarity.
2025-04-05 23:00:03 +02:00
auto 9761923190 Add getCurrentYear method to FooterComponent
This method retrieves the current year dynamically. It can be used to ensure the footer displays up-to-date information without manual updates.
2025-04-05 22:31:32 +02:00
auto 297bd473a6 Refactor IP copy functionality into a reusable component
Extracted the "Copy IP" button to a new `CopyIpComponent` to improve reusability and modularity. Updated `HomeComponent` to use this new component and removed redundant methods for copying text to the clipboard. Added tests and styles for the new component.
2025-04-05 22:07:53 +02:00
auto dee84cc1a9 Refactor scrolling and enhance UI accessibility.
Replaced inline JavaScript for scrolling and copy functionality with Angular methods. Introduced `ScrollService` for smooth scroll-to-top functionality and added associated styles. Removed unused `isHomePage` method and cleaned up components for better maintainability.
2025-04-05 21:50:54 +02:00
auto c628f1e05b Refactor randomize slide images on init 2025-04-05 21:30:55 +02:00
auto de989ad5a0 Add rules page and enhance home slider functionality
Introduced a new "Rules" component with its routing, templates, and styles, outlining server rules. Enhanced the home slider with navigation dots, updated click events, and improved styling for active/inactive indicators. Also modified the header component to support dynamic height styling.
2025-04-05 21:22:59 +02:00
auto 42dd1a184c Refactor header structure
Reorganized header component to use content projection for titles and simplified input properties.
2025-04-05 20:02:51 +02:00
auto 5aec42320a Add background image support to header components
Updated header components to accept and render background images via a new `[background_image]` input property. Modified relevant templates to apply the background image dynamically and updated usage in `home` and `map` components.
2025-04-05 18:52:29 +02:00
auto a5ef610a09 Add instructions for creating a new Angular component
Expanded setup guidelines with steps to generate a new component in Angular. Detailed instructions include modifications to the component, app module, and routes for proper integration.
2025-04-05 18:29:42 +02:00
auto a993c1cc3e Standardize coding style and formatting across the project
Updated codebase to follow consistent styling for spacing, braces, and indentation. Changes improve readability and align with standardized conventions throughout SCSS, TypeScript, and HTML files.
2025-04-05 18:19:10 +02:00
auto 50d28e62d9 Update header image styles and comment out width property
The `width` property for `#header-img` was commented out due to layout issues impacting the logo display.
2025-04-05 03:45:50 +02:00
auto 8b76a729b8 Add Angular-based carousel and improve clipboard functionality
Replaced JavaScript-powered carousel and clipboard copying with Angular implementations for better integration and code maintainability. Introduced slide navigation and display using Angular bindings and streamlined the "Copy IP" functionality to utilize the new Angular method.
2025-04-04 22:29:42 +02:00
auto 5ac5b139c8 Remove redundant home page container
Simplified the HTML structure by removing the unnecessary conditional wrapper for the home page component. The home page rendering logic is now handled directly by the router outlet.
2025-04-04 21:55:09 +02:00
auto 5737de3cfc Remove unused OnInit lifecycle and theme toggle logic from incorrect component
Removed the duplicate OnInit lifecycle and associated theme toggling methods from the HeaderComponent.
2025-04-04 20:31:20 +02:00
auto dbfe5b38ab Add theme switcher component with dark and light mode support
Extracted theme toggle functionality into a new `app-theme` component to improve modularity and reusability. Integrated theme settings with a service using cookies for persistence and introduced the `THEME_MODE` enum. Updated header component to utilize the new theme switcher and removed inline implementation.
2025-04-03 22:21:21 +02:00
auto e3c9fa2165 Refactor homepage and header components.
Moved header content logic based on `current_page` input for reusability. Updated styling and layout structure to improve maintainability and accommodate dynamic titles and subtitles.
2025-04-03 21:37:48 +02:00
auto 0063e1012b Not fully styled/finished version of header and home page + all images 2025-04-02 22:52:15 +02:00
auto 6ff99ffb5f Remove SSR support and associated server-side code.
This change eliminates Angular server-side rendering (SSR) features, including related files, dependencies, and configurations, simplifying the codebase. The update also adjusts routing and references to support client-side rendering exclusively.
2025-04-02 19:48:07 +02:00
auto a5665b3172 Update frontend API generation output directory
Changed the output directory for generated frontend APIs to `frontend/src/api` for better organization. Adjusted `.gitignore` accordingly to reflect the new path.
2025-04-02 19:22:15 +02:00
auto eb1cb1076d Initial setup 2025-04-02 19:18:39 +02:00