Commit Graph

58 Commits

Author SHA1 Message Date
Felipe Cardoso
996727aa13 Remove unused Cancel button in ImageUploader component
The Cancel button was commented out as it is no longer needed. This simplifies the UI and reduces potential confusion for users. Future iterations can reintroduce it if necessary functionality is added.
2025-03-14 01:31:56 +01:00
Felipe Cardoso
9c4d0f97dc Refactor asset uploader layout and improve UI components
Updated the layout to use a responsive grid for displaying assets and separated CardHeader for better organization. Simplified the asset input and image uploader components while improving responsiveness and styling consistency. Removed redundant code and added enhancements for a cleaner and more user-friendly UI.
2025-03-14 01:30:10 +01:00
Felipe Cardoso
3d26c0f982 Update image URL logic in ImageUploader component
Some checks failed
Build and Push Docker Images / changes (push) Successful in 4s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Failing after 49s
Replace direct `fileUrl` usage with `getServerFileUrl` utility for consistent server URL formatting. Remove unnecessary fallback logic to streamline image selection.
2025-03-14 01:18:14 +01:00
Felipe Cardoso
aaa7c68c12 Refactor file upload to use generated upload mutation
Replaced direct SDK file upload calls with generated React Query mutations for better progress tracking and error handling. Streamlined logic for obtaining presigned URLs and uploading files, ensuring consistency and maintainability. Removed redundant code and improved state management during the upload process.
2025-03-14 01:17:13 +01:00
Felipe Cardoso
0afdbc973c Enable remote image loading in Next.js configuration
Added support for loading images from pragmazest.com and localhost. This allows flexibility for handling remote images during development and production. Adjustments align with application requirements for external asset management.
2025-03-14 01:17:07 +01:00
Felipe Cardoso
058b2b3c73 Move constants, add API URL, and implement file URL helper
Relocated common constants to a new "lib/constants" directory for better organization. Added BACKEND_API_URL constant to manage API base URL dynamically. Introduced a utility function `getServerFileUrl` to generate file URLs using the backend API.
2025-03-14 01:17:02 +01:00
Felipe Cardoso
b47dbaeb0b Refactor file upload to use SDK instead of XMLHttpRequest
Some checks failed
Build and Push Docker Images / changes (push) Successful in 4s
Build and Push Docker Images / build-backend (push) Successful in 50s
Build and Push Docker Images / build-frontend (push) Failing after 47s
Replaced manual XMLHttpRequest implementation with the SDK's `uploadFile` method for handling file uploads to presigned URLs. This simplifies the code, leverages built-in features like progress tracking, and improves error handling. Added token extraction and upload progress updates to maintain functionality.
2025-03-14 00:05:26 +01:00
Felipe Cardoso
8c1e6b7ebe Refactor forms and uploader components UI with Card layout
Some checks failed
Build and Push Docker Images / changes (push) Successful in 5s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Failing after 49s
Updated color, font, and asset forms to use Card and CardContent for improved structure and consistency. Enhanced input styles and hover effects for better user experience. Adjusted the image uploader background for a more cohesive design.
2025-03-13 16:04:54 +01:00
Felipe Cardoso
4044d85410 Add components and hooks for event theme management
Some checks failed
Build and Push Docker Images / changes (push) Successful in 5s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Failing after 49s
Introduced the `usePresignedUpload` hook for file uploads and multiple components for event theme management, including form handling, asset uploads, and UI enhancements. These additions support creating, editing, and managing event themes effectively.
2025-03-13 08:36:20 +01:00
Felipe Cardoso
f2f8d85775 Update link in event themes page to correct path
Fixed the href value in the "Create Your First Theme" button to point to the correct `/dashboard/event-themes/new` route. This ensures proper navigation and resolves potential routing issues.
2025-03-13 08:36:11 +01:00
Felipe Cardoso
d9e9a88ea1 Add @radix-ui/react-progress to dependencies
Some checks failed
Build and Push Docker Images / changes (push) Successful in 4s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Has been cancelled
Included @radix-ui/react-progress (v1.1.2) in package.json and package-lock.json. This addition introduces progress components, enhancing the UI toolkit. Updated related peer and optional dependencies accordingly.
2025-03-13 08:35:38 +01:00
Felipe Cardoso
0449291caf Refactor file upload and presigned URL types and method names
Simplify and standardize type and function names for uploadFile and generatePresignedUrl operations. This change improves readability and aligns naming conventions across the codebase. No functional behavior was altered.
2025-03-13 07:51:19 +01:00
Felipe Cardoso
6397cfae49 Add support for generating and uploading files via presigned URLs
Some checks failed
Build and Push Docker Images / changes (push) Successful in 4s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Failing after 48s
Introduces schemas, types, and API endpoints for managing file uploads using presigned URLs. Includes request and response models, React Query hooks, and client SDK functionality for generating and consuming presigned URLs.
2025-03-13 07:34:53 +01:00
Felipe Cardoso
63dadb9429 Add Event Themes management page to dashboard
Some checks failed
Build and Push Docker Images / changes (push) Successful in 5s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Failing after 50s
Introduced a new "Event Themes" page to allow users to manage visual themes for events. Updated the dashboard to include a button for navigating to the new page. The themes page supports listing, viewing, and creating themes, enhancing customization options for users.
2025-03-12 16:39:58 +01:00
Felipe Cardoso
9c7bc1f2cf Add new properties to event theme schemas and types
Some checks failed
Build and Push Docker Images / changes (push) Successful in 4s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Failing after 48s
Introduce `background_image_url`, `foreground_image_url`, `asset_image_urls`, and `is_active` properties to the `EventTheme` schemas and types. These additions enhance flexibility and allow better customization of event themes. Default value for `is_active` ensures consistent behavior.
2025-03-12 16:23:00 +01:00
Felipe Cardoso
b94d88bcf6 Refactor provider composition with DataProviders wrapper
Some checks failed
Build and Push Docker Images / changes (push) Successful in 5s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Failing after 49s
Encapsulated `EventsProvider` and `EventThemesProvider` into a new `DataProviders` component to simplify and modularize provider structure. Updated the root provider hierarchy to use `DataProviders`, improving maintainability and readability.
2025-03-12 15:59:01 +01:00
Felipe Cardoso
99ec4ebfa1 Add EventThemesContext for managing event theme state
Introduced a new React context, EventThemesContext, to handle event theme state and CRUD operations. It includes support for creating, updating, deleting, and fetching themes with React Query integration. This provides a centralized solution for managing event theme-related data in the application.
2025-03-12 15:55:28 +01:00
Felipe Cardoso
e2265573eb Add support for deleting event themes
This commit introduces functionality to delete event themes via the API. It includes type definitions, SDK methods, and a React Query mutation for `deleteEventTheme`. Users can perform both soft and hard deletes with this implementation.
2025-03-12 15:22:03 +01:00
Felipe Cardoso
a0d472f583 Remove Events link from the navbar.
The Events link in the navbar has been commented out, effectively hiding it from the UI. This change may be temporary or subject to further decision, but it cleans up the navigation display for now.
2025-03-12 15:02:50 +01:00
Felipe Cardoso
3356c93374 Add Popover component using Radix UI primitives
Some checks failed
Build and Push Docker Images / changes (push) Successful in 4s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Failing after 48s
Introduce a reusable Popover component with Trigger, Content, and Anchor subcomponents, leveraging Radix UI primitives for accessibility and animations. Includes utility classes for styling and positioning, ensuring consistency and ease of use in the UI.
2025-03-12 14:47:03 +01:00
Felipe Cardoso
b7598350ba Enhance event details UI and add date/time format utilities
Some checks failed
Build and Push Docker Images / changes (push) Successful in 5s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Failing after 40s
Refactor event details page with a modernized design using cards, badges, and icons, improving user experience and accessibility. Introduce robust utilities in `/lib/utils.ts` for formatting dates and
2025-03-12 12:44:52 +01:00
Felipe Cardoso
768d1820e5 Add user menu with logout in navbar
Replaced the text-based logout button with a user menu using a popover. The menu includes the user's name and a logout option with an icon for better UX. This improves the design and accessibility of the authenticated navbar.
2025-03-12 10:14:08 +01:00
Felipe Cardoso
d5a24234d0 Refactor container layout and remove redundant wrappers
Reorganized container layouts across dashboard and event pages to remove redundant `div` wrappers and ensure consistent structure. This improves maintainability and simplifies the codebase while retaining visual behavior.
2025-03-12 10:14:04 +01:00
Felipe Cardoso
3ddb289c76 Add @radix 2025-03-12 10:13:53 +01:00
Felipe Cardoso
ad0f9f1078 Refactor: Move Navbar to MainLayout for consistency
Some checks failed
Build and Push Docker Images / changes (push) Successful in 4s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Failing after 47s
Relocated the Navbar component to the MainLayout to streamline its rendering across dashboard pages. This eliminates redundant Navbar instances in individual pages, improving maintainability and reducing duplication.
2025-03-12 09:56:03 +01:00
Felipe Cardoso
77c5b5df9a Refactor navbar for improved UI and code consistency.
Some checks failed
Build and Push Docker Images / build-frontend (push) Failing after 46s
Build and Push Docker Images / changes (push) Successful in 3s
Build and Push Docker Images / build-backend (push) Has been skipped
Simplified the navbar layout and styling for better readability and maintainability. Replaced custom button styling with reusable Button component for consistency across the app. Enhanced hover and active state styles with dynamic class handling.
2025-03-12 09:52:27 +01:00
Felipe Cardoso
4cdf8b7576 Add reusable UI components: Textarea, Input, Label, and Switch
Some checks failed
Build and Push Docker Images / changes (push) Successful in 3s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Failing after 47s
Introduce four reusable components (Textarea, Input, Label, Switch) with consistent styling and accessibility support. These components streamline UI development and follow best practices for design and interactivity.
2025-03-12 09:49:06 +01:00
Felipe Cardoso
193e9fa4d2 Refactor event creation form with improved UI and validation
Some checks failed
Build and Push Docker Images / changes (push) Successful in 5s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Has been cancelled
Replaced basic HTML form with styled components for better UI consistency. Added fields for start/end time and location URL, along with live slug validation to prevent reserved slugs. Enhanced layout and structure for improved usability and responsiveness.
2025-03-12 09:48:50 +01:00
Felipe Cardoso
e896575f62 Add @radix-ui/react-label and @radix-ui/react-switch deps
Included new Radix UI components, `react-label` and `react-switch`, in `package.json` for enhanced UI elements support. Added related dependencies in `package-lock.json` to ensure compatibility and proper functionality within the project.
2025-03-12 09:48:44 +01:00
Felipe Cardoso
5ecc8441ae Add RESERVED_SLUGS constant and consolidate exports
Introduce a RESERVED_SLUGS constant to standardize restricted slugs across the application. Created a `constants/index.ts` file to centralize and streamline exports for better maintainability.
2025-03-12 09:36:44 +01:00
Felipe Cardoso
71c114798b Add "Add New Event" button to dashboard
This update introduces a button to the "Your Events" section of the dashboard, allowing users to quickly navigate to the event creation page. The enhancement improves user flow and accessibility for managing events.
2025-03-12 09:35:51 +01:00
Felipe Cardoso
e5eccf1361 Add Badge component and update axios to 1.8.3
Some checks failed
Build and Push Docker Images / changes (push) Successful in 4s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Failing after 47s
Introduce a reusable Badge component with variant support for consistent UI styling. Additionally, upgrade axios from version 1.8.1 to 1.8.3 to include the latest fixes and improvements.
2025-03-12 09:30:26 +01:00
Felipe Cardoso
446fae44b0 Add Badge component and update axios to 1.8.3
Introduce a reusable Badge component with variant support for consistent UI styling. Additionally, upgrade axios from version 1.8.1 to 1.8.3 to include the latest fixes and improvements.
2025-03-12 09:30:21 +01:00
Felipe Cardoso
11fa5f6c78 Add event detail page with dynamic slug support
This commit introduces a new dynamic event detail page under the dashboard. It fetches event data based on the slug using context and handles loading, error, and empty states gracefully. Includes integration with the Navbar component for consistent UI.
2025-03-12 09:22:13 +01:00
Felipe Cardoso
9a59c88143 Add event creation page and link from dashboard
Introduced a new page for creating events with a form to input event details and added a link from the dashboard to this page. The form includes fields for title, description, date, location, and public/private options, enhancing user functionality. Users are redirected to the event page upon successful creation.
2025-03-12 09:22:06 +01:00
Felipe Cardoso
e57c63e60b Add framer-motion to project dependencies
Integrated framer-motion package (v12.4.11) to enhance animation capabilities. Updated `package.json` and `package-lock.json` to include the package and its dependencies. This addition provides advanced motion animations for React components.
2025-03-12 09:21:55 +01:00
Felipe Cardoso
d8980e18ce Add support for fetching events by slug in context
Introduced `fetchEventBySlug` method and `event` state to the events context, enabling retrieval of event data via slugs. Updated context state to handle related loading and error states (`isLoadingEvent` and `eventError`), and integrated query logic for slug-based event fetching.
2025-03-12 09:21:45 +01:00
Felipe Cardoso
082c1dc585 Remove unused DashboardPage component from the codebase.
This component was no longer in use and has been deleted to clean up the codebase. Its removal helps maintain clarity and reduces unnecessary clutter in the frontend directory.
2025-03-11 06:57:55 +01:00
Felipe Cardoso
158a8b441a Add invitation and dashboard pages with UI components
Introduced a dynamic invitation page to display event details based on a slug, including RSVP functionality (placeholder). Added a dashboard page for authenticated users, providing a welcome message and placeholder for event management. Also implemented reusable Card UI components for consistent styling.
2025-03-11 06:57:34 +01:00
Felipe Cardoso
80ff350053 Add EventsContext for managing events state and operations
Introduce an EventsContext and EventsProvider to centralize event-related logic, including queries, mutations, and pagination. Wrap the application with the EventsProvider in the providers index to make the context accessible throughout the app.
2025-03-11 06:19:06 +01:00
Felipe Cardoso
114f0e7807 Add schemas and types for events and event themes
This commit introduces detailed schemas and types for events and event themes, including creation, update, and response objects. It also adds support for paginated event responses and newly defined API endpoints such as creating, updating, and fetching event themes and events. These additions enhance the schema structure and improve type safety for event-related operations.
2025-03-11 06:18:56 +01:00
Felipe Cardoso
d0bcb77438 Add theme toggle and button components to UI
Some checks failed
Build and Push Docker Images / changes (push) Successful in 4s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Failing after 45s
Integrated a ThemeToggle component into the Navbar for dark/light mode switching and created a reusable Button component with configurable styles. Updated `.gitignore` to exclude the `lib` folder for cleanup.
2025-03-05 11:27:32 +01:00
Felipe Cardoso
0df4c8c1f6 Add TailwindCSS utilities and update UI dependencies
Introduce TailwindCSS utilities, animations, and theme configurations to enhance UI styling. Update dependencies to include Radix, clsx, lucide-react, and other utilities for improved design flexibility and component styling. Refactor global CSS, PostCSS config, and utils for streamlined development.
2025-03-05 11:27:26 +01:00
Felipe Cardoso
29e0ba2a70 Add invite page with invitation code validation
Some checks failed
Build and Push Docker Images / changes (push) Successful in 4s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Failing after 43s
This commit introduces a new invite page where users can input and validate their invitation codes. The page redirects valid users to the related event, and displays appropriate errors for invalid or failed submissions. It includes a responsive UI with loading states and error handling.
2025-03-05 11:04:47 +01:00
Felipe Cardoso
c1cfc05a9e Add dynamic homepage with authentication and feature sections
Replaced static placeholder homepage with a dynamic one that includes authentication checks. Redirects authenticated users to the dashboard and shows a redesigned landing page with hero, features, and footer sections for unauthenticated users. Enhances user experience and aligns with product goals.
2025-03-05 11:04:43 +01:00
Felipe Cardoso
c3da4bbaef Add a navbar component and refactor dashboard logic
Introduce a reusable Navbar component to streamline navigation and hide it on public pages. Simplify dashboard logic by removing redundant authentication checks and improve layout structure. Enhances user experience with a cleaner and more maintainable codebase.
2025-03-05 11:04:39 +01:00
Felipe Cardoso
1b453e80c9 Refactor authentication flows and improve logout handling
Some checks failed
Build and Push Docker Images / changes (push) Successful in 4s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Failing after 44s
Split authentication logic into a reusable `MainLayout` component for better structure and consistency. Enhanced logout functionality to ensure proper state resetting and added minor delays for reliable redirect behavior. Improved safeguards for unauthenticated access, reducing potential edge case errors.
2025-03-05 10:56:20 +01:00
Felipe Cardoso
585ae65758 Add dashboard and login pages with authentication logic
Some checks failed
Build and Push Docker Images / changes (push) Successful in 4s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Failing after 44s
Introduced the dashboard page that verifies user authentication and redirects unauthenticated users to the login page. Added a login page enabling users to sign in, with error handling and redirects upon successful authentication. Both pages are styled and handle loading states appropriately.
2025-03-05 10:39:07 +01:00
Felipe Cardoso
eba94f981c Update font to Inter and add Providers to RootLayout
Some checks failed
Build and Push Docker Images / changes (push) Successful in 5s
Build and Push Docker Images / build-backend (push) Has been skipped
Build and Push Docker Images / build-frontend (push) Failing after 43s
Replaced Geist fonts with Inter for better design consistency. Integrated a Providers component into RootLayout to manage app-wide context. Updated metadata to reflect the branding of "EventSpace - Family Celebrations".
2025-03-05 10:30:38 +01:00
Felipe Cardoso
4525dd21be Add global providers for react-query, theming, and auth
Introduce a new Providers component to manage global contexts including react-query, theme switching, and authentication. Added necessary dependencies: `@tanstack/react-query-devtools` and `next-themes`, and configured default options for react-query.
2025-03-05 10:17:29 +01:00