37 Commits

Author SHA1 Message Date
Mathis HERRIOT
38adbb6e77 feat(media): add public URL generation for media files and improve S3 integration
Introduce `getPublicUrl` in `S3Service` for generating public URLs. Replace custom file URL generation logic across services with the new method. Add media controller for file streaming and update related tests. Adjust frontend to display user roles instead of email in the sidebar. Update environment schema to include optional `API_URL`. Fix help page contact email.
2026-01-14 23:13:28 +01:00
Mathis HERRIOT
e84aa8a8db feat(ui): integrate dynamic tag handling in MobileFilters
Add support for fetching and displaying dynamic popular tags in `MobileFilters` using `TagService`. Replace static tag list with API-driven content and handle empty states gracefully.
2026-01-14 22:19:18 +01:00
Mathis HERRIOT
c6b23de481 feat(api): add TagService and enhance API error handling
Introduce `TagService` to manage tag-related API interactions. Add SSR cookie interceptor for API requests and implement token refresh logic on 401 errors. Update `FavoriteService` to use `favoritesOnly` filter for exploring content.
2026-01-14 22:19:11 +01:00
Mathis HERRIOT
0611ef715c feat(ui): add ViewCounter component and enhance accessibility annotations
Introduce a new `ViewCounter` component to manage view tracking for content. Add biome-ignore comments for accessibility standards in several UI components, enhance semantic element usage, and improve tag handling in `SearchSidebar`.
2026-01-14 22:18:50 +01:00
Mathis HERRIOT
0a1391674f feat(meme): add ViewCounter component to meme detail pages
Integrate the `ViewCounter` component into meme standard and modal detail pages to track and display content views.
2026-01-14 22:18:10 +01:00
Mathis HERRIOT
74b61004e7 refactor(auth): rename id to uuid in AuthStatus and mock uuid in tests 2026-01-14 21:59:51 +01:00
Mathis HERRIOT
760343da76 refactor(app): simplify metadata description formatting in layout component 2026-01-14 21:59:02 +01:00
Mathis HERRIOT
14f8b8b63d refactor(contents): reorder imports and improve code formatting
Standardize import order in `contents.controller.ts` and related files for better code readability. Adjust SQL formatting in repository methods for consistency.
2026-01-14 21:58:52 +01:00
Mathis HERRIOT
50a186da1d refactor(core): standardize and reorder imports across admin services and modules
Optimize the structure and readability of import statements in `admin` services, modules, and controllers. Ensure consistency and logical grouping for improved maintainability.
2026-01-14 21:58:41 +01:00
Mathis HERRIOT
3908989b39 feat(users): enhance user schema and extend service dependencies
Add `email` and `status` fields to user schema for better data handling. Update `UsersService` with new service dependencies (`RbacService`, `MediaService`, `S3Service`, `ConfigService`) for enhanced functionality. Mock dependencies in tests for improved coverage. Adjust user model with optional and extended fields for flexibility. Streamline and update import statements.
2026-01-14 21:58:28 +01:00
Mathis HERRIOT
02d70f27ea refactor: optimize import orders, improve formatting and code readability
Standardize import declarations, resolve misplaced imports, and enhance consistency across components. Update indentation, split multiline JSX props, and enforce consistent function formatting for better maintainability.
2026-01-14 21:58:04 +01:00
Mathis HERRIOT
0e9edd4bfc feat(app): enhance metadata and add admin sidebar section
Update app metadata with multilingual support, SEO improvements, and structured OpenGraph and Twitter metadata. Add an "Administration" section in the sidebar for authenticated admin users. Improve role display and enable dynamic sorting in `HomeContent`. Extend UI badges with a success variant.
2026-01-14 21:44:25 +01:00
Mathis HERRIOT
6ce58d1639 feat(admin): implement admin statistics API and service
Add admin statistics endpoint to provide user, content, and category stats. Introduce `AdminModule` with controller, service, and repository integration for data aggregation. Include frontend service to consume the stats API.
2026-01-14 21:44:14 +01:00
Mathis HERRIOT
d7c2a965a0 feat(contents): enhance user-specific data handling and admin content management
Integrate user-specific fields (`isLiked`, `favoritesCount`) in content APIs and improve `ContentCard` through reactive updates. Add admin-only content deletion support. Refactor services and repository to enrich responses with additional data (author details, tags).
2026-01-14 21:43:44 +01:00
Mathis HERRIOT
fb7ddde42e feat(app): add dashboard pages for settings, admin, and public user profiles
Introduce new pages for profile settings, admin dashboard (users, contents, categories), and public user profiles. Enhance profile functionality with avatar uploads and bio updates. Include help and improved content trends/recent pages. Streamline content display using `HomeContent`.
2026-01-14 21:43:27 +01:00
Mathis HERRIOT
a30113e8e2 feat(users): add avatar and bio support, improve user profile handling
Introduce `avatarUrl` and `bio` fields in the user schema. Update repository, service, and controller to handle avatar uploads, processing, and bio updates. Add S3 integration for avatar storage and enhance user data handling for private and public profiles.
2026-01-14 21:42:46 +01:00
Mathis HERRIOT
975e29dea1 refactor: format imports, fix indentation, and improve readability across files
Some checks failed
Backend Tests / test (push) Has been cancelled
Lint / lint (push) Has been cancelled
Apply consistent import ordering and indentation in frontend and backend files. Ensure better maintainability and adherence to code style standards.
2026-01-14 21:06:38 +01:00
Mathis HERRIOT
ff6fc1c6b3 feat(ui): enhance mobile user experience and authentication handling
Add `UserNavMobile` component for improved mobile navigation. Update dashboard and profile pages to include authentication checks with loading states and login prompts. Introduce category-specific content tabs on the profile page. Apply sidebar enhancements, including new sections for user favorites and memes.
2026-01-14 20:50:38 +01:00
7c3f4050c5 Update Dockerfile for documentation to simplify base image and streamline dependency handling
Some checks failed
Lint / lint (push) Has been cancelled
Lint / lint (pull_request) Has been cancelled
2026-01-14 19:17:37 +01:00
Mathis HERRIOT
35abd0496e refactor: apply consistent formatting to improve code quality
Some checks failed
Deploy to Production / deploy (push) Failing after 2m20s
Lint / lint (push) Successful in 9m37s
Ensure uniform code formatting across components by aligning with the established code style. Adjust imports, indentation, and spacing to enhance readability and maintainability.
2026-01-14 17:26:58 +01:00
Mathis HERRIOT
8425ffe4fc refactor!: remove pnpm-lock.yaml file from the repository to eliminate redundant dependency tracking and streamline package management. 2026-01-14 16:38:26 +01:00
Mathis HERRIOT
fbc231dc9a refactor!: remove unused resizable components and enhance efficiency in critical areas
Remove outdated `ResizablePanelGroup`, `ResizablePanel`, and `ResizableHandle` components from the codebase. Optimize API error handling with anti-spam protection for repetitive errors. Update Dockerfile for streamlined builds, improve sitemap generation in `app`, and refactor lazy loading using `React.Suspense`. Refine services to support enhanced query parameters like `author`.
2026-01-14 16:37:55 +01:00
Mathis HERRIOT
0b07320974 feat: introduce new app routes with modular structure and enhanced features
Added modular app routes including `login`, `dashboard`, `categories`, `trends`, and `upload`. Introduced reusable components such as `ContentList`, `ContentSkeleton`, and `AppSidebar` for improved UI consistency. Enhanced authentication with `AuthProvider` and implemented lazy loading, dynamic layouts, and infinite scrolling for better performance.
2026-01-14 13:52:08 +01:00
Mathis HERRIOT
7cb5ff487d feat: add components configuration file for UI setup
Some checks failed
Backend Tests / test (push) Successful in 9m41s
Lint / lint (push) Failing after 4m59s
Introduce `components.json` to define UI schema, aliases, styling preferences, and Tailwind integration.
2026-01-14 12:13:12 +01:00
Mathis HERRIOT
0cef694f2b feat: add useIsMobile custom hook for responsive breakpoint detection
Introduce a reusable React hook to determine mobile viewport state based on a defined breakpoint, enhancing responsiveness and code modularity.
2026-01-14 12:12:58 +01:00
Mathis HERRIOT
5c4badb837 feat: add utility function for class merging with Tailwind and clsx
Introduce `cn` utility function to simplify class name manipulation by combining `clsx` and `tailwind-merge`.
2026-01-14 12:12:48 +01:00
Mathis HERRIOT
b53c51b825 feat: enhance global styles with custom properties and dark mode support
Refactored `globals.css` to include detailed custom property definitions for colors, fonts, shadows, and spacing. Introduced `oklch` color format for consistent theming. Added `@custom-variant` for dark mode styles and extended base layer styling with Tailwind utilities for improved maintainability.
2026-01-14 12:12:27 +01:00
Mathis HERRIOT
76de69fc64 feat: add new dependencies and update pnpm workspace configuration
Added several dependencies, including Radix UI components, `react-hook-form`, `tailwind-merge`, `zod`, and others to enhance frontend functionality. Updated `pnpm-workspace.yaml` and lockfile to reflect changes for better dependency management.
2026-01-14 12:12:15 +01:00
Mathis HERRIOT
ec8eb8d43a feat: add reusable UI components for enhanced consistency
Introduce reusable UI components including `Button`, `Card`, `Accordion`, `DropdownMenu`, `HoverCard`, `Drawer`, `Avatar`, and others. Standardize styling and functionality across features to improve code maintainability and user experience.
2026-01-14 12:12:00 +01:00
Mathis HERRIOT
9c45bf11e4 chore: fix inconsistent indentation and formatting in Next.js config
Some checks failed
Backend Tests / test (push) Failing after 5m0s
Lint / lint (push) Failing after 4m56s
2026-01-10 16:34:00 +01:00
Mathis HERRIOT
6254c136d1 feat: enable standalone output mode in Next.js configuration 2026-01-08 15:32:55 +01:00
Mathis HERRIOT
3828f170e2 feat: add Dockerfile for frontend service
Introduce a multi-stage Dockerfile for the frontend service to enable efficient builds and an optimized runtime using Node.js 22.
2026-01-08 15:32:46 +01:00
3d2a92d283 Update Biome and TailwindCSS configurations; remove unused font imports 2026-01-04 23:39:06 +01:00
74be5e889a Apply consistent tab-based indentation across the frontend codebase 2026-01-04 23:32:41 +01:00
acfcc3562f Initialize Next.js frontend with Biome setup, TailwindCSS, and basic configurations 2026-01-04 19:19:31 +01:00
04afa75b7f Create initial frontend with global styles and basic layout components 2026-01-04 19:19:07 +01:00
bd1ceca25c Add MemeGoat SVG assets (white, black, color) to public directory 2026-01-04 19:17:35 +01:00