Commit Graph

141 Commits

Author SHA1 Message Date
Teriuihi 53f67a5075 Fix handling of non-positive expiry times in punishment history 2025-04-18 18:46:14 +02:00
Peter 87a0b9ad1b Refactor pagination buttons and adjust rate limit interval.
Updated pagination buttons with new styles and class name (`historyPageButton`) for consistency and improved UX. Modified backend rate limit interval from 1 minute to 1 second for faster request handling.
2025-04-18 18:45:40 +02:00
Peter a3570b6833 Fix improperly formatted (input) binding in bans component
Removed excessive whitespace in the (input) binding of the search field to ensure proper functionality and readability. This change improves code cleanliness without altering behavior.
2025-04-12 23:02:28 +02:00
Teriuihi 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
Teriuihi 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
Teriuihi 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
Teriuihi 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
Peter 13122559db Refactor table and pagination UI components.
Replaced inline styles with reusable classes for better maintainability. Improved pagination button styling and added transitions to the history table header for a polished user experience. Updated SCSS variables for consistent naming conventions.
2025-04-12 21:55:25 +02:00
Peter a4d8fc07e9 Updated styles and structure for history table and navigation
Refactored the history buttons to include click handlers in the outer div for better clarity and functionality. Improved the table styling in the history component by adding consistent padding, fixing column widths, and ensuring text overflow handling. Added new CSS variables for table header colors to enhance theming consistency.
2025-04-12 19:42:06 +02:00
Teriuihi 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
Peter 81807b107c Enhance user and punisher avatar display in history table
Refactored the layout for player and punisher avatars by adding a container around usernames and aligning elements vertically. Updated the `getAvatarUrl` method to accept only UUID strings, streamlining its usage. Improved styling for better alignment and presentation.
2025-04-12 17:41:29 +02:00
Peter 5e75c82994 Fix inconsistency in image width and height attributes
Updated the width and height attributes of the avatar image in the history component to use consistent integer values (25) instead of "25px". This ensures proper rendering and prevents potential styling issues.
2025-04-12 17:21:50 +02:00
Peter 2383c291c8 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	frontend/src/app/bans/history/history.component.html
2025-04-12 17:21:10 +02:00
Teriuihi 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
Peter fd1115086a Update header styling and improve avatar image attributes
Adjusted the header height and title text for clarity and consistency in the bans page. Also streamlined avatar image attributes by removing unnecessary units for better HTML standards compliance.
2025-04-12 17:16:10 +02:00
Peter 6a70428c75 Updated styling and components for punishment history 2025-04-12 17:05:08 +02:00
Teriuihi 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
Teriuihi 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
Teriuihi 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
Teriuihi 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
Teriuihi 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
Teriuihi aa2797c51c Merge remote-tracking branch 'origin/master'
# Conflicts:
#	frontend/src/app/bans/bans.component.html
2025-04-12 00:55:53 +02:00
Teriuihi 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
Peter df9c3ac996 Punishment page styling 2025-04-12 00:53:20 +02:00
Peter 4b5a49b82a Alignment fix 2025-04-11 23:40:45 +02:00
Peter 9076f6d150 Styling and date changes on punishment page
Some styling changes for the punishments page. Also changes how the dates are displayed - they should display differently depending on what region you're in.
2025-04-11 23:35:57 +02:00
Peter 807569a0a1 More ban pages changes 2025-04-11 22:24:25 +02:00
Peter ce9260ede6 Added table headings and darkmode fix 2025-04-11 21:56:46 +02:00
Peter 97e5d202bb Renamed and added Bans nav links 2025-04-11 21:25:18 +02:00
Teriuihi 2289b14b5a Add history page 2025-04-11 21:20:02 +02:00
Teriuihi 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
Teriuihi 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
Teriuihi 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
Teriuihi 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
Teriuihi 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
Peter 9615139554 Added styling for birthday member component
Introduce new CSS styles to ensure consistent layout and design for the birthday member section. These styles handle width, padding, text alignment, and font styling for improved visual presentation.
2025-04-06 22:10:46 +02:00
Peter e7ac2d0462 Added Birthdays page
Introduced a new BirthdaysComponent with its corresponding HTML, SCSS, and spec files. Added a route for '/birthdays' in the application and integrated it into the module and routing. This component showcases staff and previous staff birthdays.
2025-04-06 22:06:48 +02:00
Teriuihi ab3abe7f6b Refactor background-position logic in header component 2025-04-06 20:50:49 +02:00
Teriuihi 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
Peter d61a783f7f Merge remote-tracking branch 'origin/master' 2025-04-06 20:46:13 +02:00
Peter b1f2a89a2e Added voting page & header styling fix
Implemented VoteComponent to allow users to vote for the server on multiple platforms. Updated routes, styles, and headers for consistency.
2025-04-06 20:45:43 +02:00
Teriuihi b256b9f66b Enable scroll position restoration in app routing 2025-04-06 17:51:16 +02:00
Teriuihi 6f0c667bdd Revert "Add OnInit to components to scroll to top on initialization"
This reverts commit d4e231f67b.
2025-04-06 17:48:44 +02:00
Teriuihi 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
Teriuihi b4d78690d9 Add overlay gradient option to rules page header 2025-04-06 17:34:44 +02:00
Teriuihi d981b7dcff Add toggle functionality for exceptions in Rules component 2025-04-06 17:29:52 +02:00
Teriuihi d006a47cf3 Integrate ScrollService into multiple components. 2025-04-06 17:27:22 +02:00
Peter 85c73c22c8 Update "Contact Us" link to use routerLink
Replaced the external Typeform link with an internal [routerLink] to route to the "/contact" page. This ensures consistency and improves navigation within the application.
2025-04-06 14:38:40 +02:00
Peter c0f2a38f4d Added Socials page component
Created a new SocialsComponent with corresponding HTML, SCSS, and tests. Updated `app.module.ts` to include the Socials route and modified the Team page to use `ngSrc` for image optimization.
2025-04-06 13:37:44 +02:00
Peter 6e459767ed Added About and Team components with routing
This commit introduces new "About" and "Team" components, integrating them into the application and updating the routing module.
2025-04-06 13:03:59 +02:00
Peter 2eb619b253 Added detailed Terms of Use and improved Terms styling
Expanded the Terms of Use content with sections on fair use, donations, external services, and more to improve clarity and coverage. Updated SCSS to enhance readability and layout. Updated expired links to their current live version.
Minor punctuation fix in the Privacy Policy for consistency.
2025-04-06 12:18:00 +02:00
Peter 7b5002a475 Updated Privacy Policy
Updated privacy policies with revised dates, modernized links, and replaced references from Mojang's expired links to their Privacy Policy to Microsoft's Privacy Policy. Replaced hardcoded links with Angular router links for improved maintainability. Updated the "Last Updated" date.
2025-04-06 11:59:46 +02:00
Peter 25931d05d7 Implement detailed privacy policy content
Replaced placeholder privacy content with a comprehensive privacy policy, including sections on data collection, usage, third-party involvement, and user rights. Added necessary styles for the privacy policy layout.
Also actually fixed the social icons in the footer
2025-04-06 11:43:33 +02:00
Peter b029153657 Added Terms and Privacy components with routing
Introduced `TermsComponent` and `PrivacyComponent` with basic templates, styles, and unit tests. Updated routing in `app.module` to include `/terms` and `/privacy` paths and registered these components.
2025-04-06 10:25:48 +02:00
Peter 4e77f50d70 Update header and scroll-up button functionalities
Removed unnecessary `background-size` property from the header and updated the scroll-up button to use a service for scrolling.
2025-04-06 10:13:30 +02:00
Peter 0652e5e55e Fixed all styling for rules page.
Reorganized SCSS files for better structure and maintainability. Updated layouts to ensure consistent spacing, alignment, and responsiveness across components. Note: "Show exceptions" still needs to be fixed.
Also fixed social icon spacing in the footer.
2025-04-06 10:11:23 +02:00
Peter 1a6e489f9a Improved UI styles and updated community section content
Added styling updates to map title and container padding for better visual consistency. Updated the community section text to acknowledge player contributions and invite suggestions for featured builds.
2025-04-06 09:19:06 +02:00
Teriuihi 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
Teriuihi 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
Teriuihi 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
Teriuihi 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
Peter 04c5a3e846 Stuff for index background scroll 2025-04-05 23:11:44 +02:00
Peter 4f2118a83a Finished the footer 2025-04-05 23:05:45 +02:00
Teriuihi 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
Teriuihi 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
Teriuihi 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
Teriuihi 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
Peter 46c755040d Added FooterComponent and updated various UI elements
Introduced a new FooterComponent and integrated it into the application. Adjusted home page layout and refined styles for better consistency, including minor restructuring of CSS rules and HTML elements.
2025-04-05 22:24:38 +02:00
Teriuihi 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
Teriuihi 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
Teriuihi c628f1e05b Refactor randomize slide images on init 2025-04-05 21:30:55 +02:00
Teriuihi 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
Peter 44a7a2140e Added darkmode styles and optimized class structure
Introduced dark mode styling across sections and improved CSS for better readability and maintainability. Replaced generic class names with more descriptive ones and reorganized structure for consistency. Adjusted responsive design to ensure better display on various screen sizes.
2025-04-05 21:10:36 +02:00
Teriuihi 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
Teriuihi 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
Peter 8d0da93c99 Added map page. Fixed navbar coloring when on a page. 2025-04-05 18:32:55 +02:00
Teriuihi 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
Teriuihi 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
Peter 5bf9c725f4 Fixed darkmode working in the navbar 2025-04-05 18:17:57 +02:00
Teriuihi 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
Peter ba258fbf30 Fixed anchorpoint, tiny-ing and centering of navbar 2025-04-05 00:55:37 +02:00
Peter ca96b36246 Fixed anchorpoint and tiny-ing of navbar 2025-04-05 00:20:07 +02:00
Teriuihi 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
Teriuihi 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
Teriuihi 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
Teriuihi 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
Teriuihi 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
Peter 1d0f1d3896 Removed comment in scss and fixed 0px 2025-04-03 21:35:32 +02:00
Teriuihi 0063e1012b Not fully styled/finished version of header and home page + all images 2025-04-02 22:52:15 +02:00
Teriuihi 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
Teriuihi eb1cb1076d Initial setup 2025-04-02 19:18:39 +02:00