Commit Graph

587 Commits

Author SHA1 Message Date
giancarlo
b1c3f12721 Fixed React Query provider. Removed getSession and replaced with getUser to make Supabase happy. Fixed Stepper's responsiveness. 2024-06-03 16:13:55 +07:00
giancarlo
88cebc2126 Improved cache invalidation, and minor design fixes 2024-06-03 15:10:40 +07:00
giancarlo
d0c6981e78 New Tailwind CSS formatter run 2024-06-03 00:35:09 +07:00
giancarlo
08de59a43a Update dependencies and improve type safety in webhook handling
This commit updates various dependencies across the project, including a version bump for 'lucide-react' and 'prettier'. Additionally, it improves type safety in the 'database-webhook-handler.service.ts' by making the 'DatabaseChangePayload' and 'handleEvent' function more type-safe.
2024-06-03 00:33:49 +07:00
giancarlo
26b2eed60d Update pricing table to exclude flat line items
The pricing table component now filters out flat line items as they do not require further explanation. Consequently, changes have been made to the billing sample configuration file, turning a previously metered item into a flat one for clearer demonstration of usage.
2024-06-02 12:22:52 +07:00
giancarlo
2c52a06536 Update pricing table and billing configuration
Updated the pricing table component to display all line items for a plan, removed condition to exclude primary plan. Adjusted the type of a billing package in the sample configuration to be "metered" instead of "flat". Made related changes in line-item-details component to handle the changes in billing type and to fix the layout.
2024-06-01 15:59:39 +07:00
giancarlo
88ff32479a Update dependencies and refactor SentryProvider component
This update includes version bumps for several dependencies across multiple packages and applications including "@sentry/nextjs", "lucide-react", "@types/node", "pnpm", and others. It also includes a change to the SentryProvider component where the SentryMonitoringService is now instantiated outside the MonitoringProvider function instead of using useRef inside the function.
2024-05-31 19:38:56 +07:00
Giancarlo Buomprisco
7f4bfb15e5 Replace createServerClient with createClient in multiple files (#30)
The `createServerClient` function has been replaced with the `createClient` function in the `server-actions.client.ts`, `route-handler.client.ts`, and `server-component.client.ts` files. This includes adding necessary import statements for `createClient` and adjusting the options passed to it, including `persistSession`, `detectSessionInUrl`, and `autoRefreshToken`.
2024-05-29 09:33:43 +07:00
giancarlo
cbf116c688 Add user id parameter to multi-factor authentication functions
The multi-factor authentication functions have been modified to accept a user id as a parameter. This provides more flexibility as it allows a more specific targeting of users. The `useFetchAuthFactors` function has been updated to export the function rather than default, and the `useFactorsMutationKey` function has been updated to take a user id.
2024-05-28 21:13:36 +07:00
Giancarlo Buomprisco
c495335fd5 Sentry + Turbopack fixes (#28)
* Updated packages

Updated all packages to the latest versions

* Refactor Sentry monitoring configuration and services

The Sentry monitoring configuration and services have been refactored to simplify the setup process. In addition, unnecessary files or exports have been removed from the Sentry package. These changes should make the process of initializing and using the Sentry monitoring services in both the client and server more straightforward and efficient.

* Refactor server-side Sentry instrumentation code

The conditional logic responsible for checking the runtime environment and the enabled status of the monitoring instrumentation has been adjusted. This refactoring simplifies the code, making it more readable, by clearly separating the conditions and nesting the environment-specific operations. A typo in the environment variable name "ENABLE_MONITORING_INSTRMENTATION" was also corrected to "ENABLE_MONITORING_INSTRUMENTATION".

* Rename environment variable for monitoring instrumentation

The environment variable controlling monitoring instrumentation has been renamed from 'MONITORING_INSTRUMENTATION_ENABLED' to 'ENABLE_MONITORING_INSTRUMENTATION'. It affects both the README and .env.production files within the monitoring/api and apps/web directories respectively.
2024-05-28 15:17:56 +07:00
giancarlo
1e047463c8 Upgrade dependencies and enhance UI components
This commit primarily focuses on updating various dependencies, including "@types/react", "@tanstack/react-query", "lucide-react", and others. In addition, several adjustments have been made to UI components, such as adding more properties
2024-05-27 16:12:29 +07:00
Giancarlo Buomprisco
127ad5a315 Force no cache in Supabase clients with Next.js (#27)
* Update navigation menu text color and disable caching in Supabase clients

Updated the active and hover text colors for the navigation menu in the UI package. Also, added prevention of any sort of caching in the Supabase clients (server-actions.client.ts, route-handler.client.ts, server-component.client.ts) to be eventually removed in Next v15. Automatic token refresh is also turned off in the server-component client.

* Increase content items limit in docs loader

The content items limit in the documentation loader has been increased to the maximum safe integer. This ensures that all documentation entries are retrieved from the CMS, avoiding any potential omissions due to arbitrary limits.
2024-05-26 14:44:43 +07:00
giancarlo
f164b24786 Updated packages 2024-05-25 11:31:42 +07:00
giancarlo
a115e37535 Update error handling and function calls in billing services
Minor modifications made to the billing service handlers to improve data interpretation and error processing. The 'getLineItemTypeById' function now uses 'item.variant' for more accurate line item type identification. Unnecessary 'Crypto' object instantiation has been removed in 'createHmac', while improved formatting applied to the error logging within the billing webhook.
2024-05-21 20:41:41 +07:00
giancarlo
9107e31921 Rename 'subscription' path to 'return' in pricing components
The path referred to by "subscription" in the pricing table and pages has been updated to "return". This will redirect users back to the home page instead of the previously configured personalAccountBilling page after signing up or selecting a plan.
2024-05-21 13:50:30 +07:00
Giancarlo Buomprisco
048ab96cbc Add AuthCallbackService to handle auth callbacks in Supabase (#25)
* Add AuthCallbackService to handle auth callbacks in Supabase

Created a new service, AuthCallbackService, in the Supabase package to centralize the handling of authentication callbacks. This service handles two main tasks: verifying the token hash for user email verification and exchanging the authentication code for a session. Code in the web app routes were updated to utilize this new service, improving code organization and reusability.

* Remove CSRF Token Meta component and add Jaeger exporter

The CSRF Token Meta component was removed from the application. Instead, CSRF tokens are now included in the root metadata of the application. Additionally, the "@opentelemetry/exporter-jaeger" package was added as a dependency to the Sentry monitoring package. This enables the tracing of application requests via Jaeger.

* Refactor README.md and remove redundant content

Removed the excessive content and detailed instruction from the README.md file. The documentation has been moved to a more suitable and detailed location elsewhere.

* Update package dependencies in sentry/package.json

An ordering change has been made in the dependencies within the sentry/package.json file. The "@opentelemetry/exporter-jaeger" dependency was moved to its correct alphabetical order. No version changes were made.
2024-05-19 23:45:12 +07:00
giancarlo
3cf3c263bc Fixed issue with one-time payments; Updated packages 2024-05-18 22:56:57 +07:00
giancarlo
5c1e1d5cd0 Update package versions in pnpm-lock.yaml
Several package versions including '@types/node', '@supabase/supabase-js', '@tanstack/react-query' and others were updated in the pnpm-lock.yaml file. This commit ensures all references to these versions are properly updated across the project, contributing to the maintenance of dependency consistency.
2024-05-17 23:13:13 +07:00
giancarlo
e88ae7268a Update UI styles and behavior across various components
This commit updates a variety of user interface styles and interactivity across multiple components. Changes include altering color schemes and border styles, modifying button interactivity and behaviors, and updating font weights. An emphasis has been placed on enhancing visual appearance, improving user experience, and maintaining a more consistent look-and-feel across the application.
2024-05-16 15:56:25 +07:00
giancarlo
09c24346a6 Update logging and return statements in billing services
The commit modifies the logging level in the billing services from 'error' to 'info'. Moreover, the error statement has been modified to clarify that the subscription cancellation has possibly been done by the user. Also, it reduces redundant imports and beefs up the return structure in stripe-billing-strategy.service.
2024-05-15 11:28:37 +07:00
Giancarlo Buomprisco
4e50094808 Fix upsert billing (#24)
This commit updates the product_id and variant_id in both the subscription_items and order_items in the billing tests. Updates also include adding new checks to verify these changes. Changes are reflected in corresponding SQL files for personal and team billing subscriptions/orders tests.
2024-05-15 11:08:19 +07:00
giancarlo
fe86b04d95 Update database schema and tests for subscription and order management
This commit includes a significant change in the way subscriptions and orders are handled. It introduces the ability to update existing orders and subscriptions, including adding and deleting items. The diff also adds checks to ensure that only valid items can be read, and adds corresponding test cases to verify these changes.
2024-05-14 15:38:53 +07:00
giancarlo
f07610ad8e Remove 'taint' from experimental features in next.config
This commit removes the 'taint' feature from the experimental features list in the Next.js configuration file. This change has been made after reviewing that this feature was not required or being used in the current project.
2024-05-13 22:49:11 +07:00
giancarlo
9d30039ba8 Update package versions and optimize URL generation
Updated the versions of several packages including pino and pnpm. Also, the generation of URLs in the pricing-table.tsx file has been optimized by implementing URLSearchParams. A new global error page was also added.
2024-05-13 21:47:51 +07:00
giancarlo
a75009c0df Update route check and add PageBody wrapper
Updated the `isRouteActive` check in the sidebar component to ensure it doesn't falsely identify nested routes as active. Additionally, introduced a `PageBody` wrapper in the account page component for consistent styling and padding.
2024-05-13 19:51:33 +07:00
giancarlo
6ab4558691 Refactor page layout in admin accounts component
The layout of the admin accounts component has been refactored. The "Accounts" heading has been removed from the 'admin-accounts-table.tsx' component and placed as a PageHeader in the 'page.tsx'. A description has also been added to the PageHeader, and the content was wrapped in a PageBody component for better structure and readability.
2024-05-13 19:27:25 +07:00
giancarlo
55e364aebd Update packages to latest versions
Several packages have been updated to their latest versions. This includes "@tanstack/react-table", "@makerkit/data-loader-supabase", and "@tanstack/react-query". Moreover, some UI tweaks have been made in multi-factor-auth-setup-dialog.tsx.
2024-05-13 18:54:12 +07:00
giancarlo
741d54b994 Handle API error in team account retrieval
This update adds error handling for the API call in 'join' page while retrieving the team account information. If the call fails, it will catch the error and return undefined avoiding potential crashes.
2024-05-13 14:43:51 +07:00
giancarlo
f7be3e84f4 Add localization for teams-related strings in home component
Support for internationalization was added to the account components related to teams. This includes localizing messages prompting a user to create a team which were previously hardcoded. Additionally, `Trans` components from '@kit/ui/trans' has been imported and used to enable this.
2024-05-13 14:17:25 +07:00
giancarlo
43bfa16db2 Improved CardButton component; Fixrd translation 2024-05-13 11:23:21 +07:00
giancarlo
84271a31a8 Add card button component and enhance routing
This commit introduces the Card Button component to the UI package and improves URL matching by allowing end to be a boolean or function. Navigation menu components now support both cases. Additionally, changes have been made to improve the visual and functional aspects of various components throughout the application. This includes changes in pricing display, route active checking, and the introduction of new files such as HomeAddAccountButton and HomeAccountsList.
2024-05-13 02:09:28 +07:00
giancarlo
f4e2b8cf75 Add action path to request headers for server actions
In the middleware.ts file, an action path has been appended to the request headers. This is particularly useful for identifying the action path in server actions. If the action is recognized as a server action, the 'x-action-path' is then set with the respective pathname from the request.
2024-05-12 14:52:12 +07:00
giancarlo
f22c9817bd Update dependencies versions in pnpm-lock.yaml
Updated the versions of various dependencies including '@tanstack/react-query', '@marsidev/react-turnstile', and 'i18next' among others in pnpm-lock.yaml. This ensures the project uses the latest and most secure versions of these dependencies.
2024-05-11 23:30:05 +07:00
giancarlo
3740ed642a Refactor middleware to decompose user data object
This commit modifies the middleware in web application to decompose the user object from the returned data of the getUser function. This is a simplification of the code, eliminating unnecessary references to the "data" object when accessing the user's details and role. It's carried out in all places where the getUser function is called and user data is processed.
2024-05-10 22:52:28 +07:00
giancarlo
9d3f6eee92 Rename "user-workspace.loader" to "load-user-workspace"
The file "user-workspace.loader.ts" was renamed to "load-user-workspace.ts", in order to better reflect its purpose. All imports across different components and settings pages were updated accordingly. The changes ensure the application adheres to naming conventions, enhancing code readability and maintainability.
2024-05-10 20:53:14 +07:00
giancarlo
9acf6d1295 Revert "Rename 'team-account-workspace.loader' to 'load-user-workspace'"
This reverts commit 543a95c867.
2024-05-10 20:52:41 +07:00
giancarlo
543a95c867 Rename 'team-account-workspace.loader' to 'load-user-workspace'
The 'team-account-workspace.loader' module across various components was renamed to 'load-user-workspace' to better reflect its functionality. This change affects many import statements within these components. The file itself was also renamed.
2024-05-10 20:46:38 +07:00
giancarlo
39e0a229b6 Refactor account handling to improve performance
This commit dates the transition from a global user session to individual account handling based on user ID. The transition was made across several components, notably the account settings, icons, and selector. This change improves performance by reducing unnecessary requests and ensures more accurate data handling. The commit also includes some cleanups and minor fixes spread across different components.
2024-05-10 20:33:05 +07:00
giancarlo
6b3b3cb58b Update dependencies and improve CSS for notifications popover
This commit updated the lock file version and various module versions in pnpm-lock.yaml to reflect the latest versions of the dependencies. Simultaneously, the width of the notifications popover has been modified to allow for larger content by changing the className property of PopoverContent in notifications-popover.tsx.
2024-05-10 14:37:32 +07:00
giancarlo
aa01436f0d Add feature flag for team accounts in home-menu-navigation
In the home-menu-navigation.tsx file, a feature flag for displaying the Team Accounts section has been implemented leveraging the 'If' component and the flags from the feature-flags.config file. Now, the display of the HomeAccountSelector depends on the status of the 'enableTeamAccounts' flag.
2024-05-10 00:39:48 +07:00
giancarlo
7a1dd7768a Updated zod; Fix issue displaying mode toggle in site header when disabled 2024-05-09 10:46:00 +07:00
giancarlo
b81cc94800 Enforce config for billing; updated packages 2024-05-08 21:47:17 +07:00
giancarlo
a501bb5444 Update SQL tests and schema definitions for membership and invitation management
This commit includes updates to the SQL tests for the database layer handling memberships and invitations. Test cases are improved and expanded. It also introduces some changes to the underlying schema, including creation of new indices on the 'accounts' table and several adjustments to function definitions with regard to how user IDs are accessed. Also, some views related to user accounts are redefined for better data handling.
2024-05-08 17:16:33 +07:00
giancarlo
374c506c38 Remove @keystatic/next and @kit/keystatic dependencies
The commits include removal of @keystatic/next and @kit/keystatic from the package.json file and pnpm-lock.yaml file. Removing these dependencies should clean up our package dependencies and prevent relying on deprecated or unused packages.
2024-05-07 18:54:10 +07:00
giancarlo
bd79563dcd Refactor and add generators for keystatic and package
The changes include refactoring the create-reader in cms keystatic and changing @keystatic/next version. Additionally, code generators for keystatic and package have been added, and corresponding templates have been organized into their respective directories.
2024-05-07 18:52:30 +07:00
giancarlo
05255cbebe Update react-query and lucide-react dependencies and improve lockfile version
This commit updates '@tanstack/react-query' from '5.32.0' to '5.35.1' and 'lucide-react' from '^0.376.0' to '^0.378.0' in package.json. Additionally, changes were made in pnpm-lock.yaml including updating the lockfile version from '9.0' to '6.0'.
2024-05-07 14:22:47 +07:00
giancarlo
ca4932e351 Update package versions for improved stability
This commit updates the versions of "@types/node", "react-hook-form", and "@tanstack/react-query-next-experimental" packages throughout the application. These updates include minor version changes that improve the stability and compatibility of these libraries within the app.
2024-05-05 14:39:31 +07:00
giancarlo
d7d3693f41 Refactor function components across multiple files
Function components have been refactored across the codebase. Single export-const arrow function components have been adapted into traditional function declarations. This change provides better stack trace in case of errors and better function and argument names on runtime debugging.
2024-05-05 13:31:40 +07:00
giancarlo
de15abb801 Update Supabase and Sentry dependencies
Updated dependencies for Supabase-js from version 2.43.0 to 2.43.1 and Sentry from various 7.112.2 versions to 7.113.0. It was necessary to ensure compatibility, bug fixes, and to benefit from new features and improvements.
2024-05-04 11:48:19 +07:00
giancarlo
8324b49d70 Update CSS classes in billing pages
The CSS classes in the billing pages of both the account and user sections have been modified. The 'mx-auto' class, which previously applied automatic horizontal margins to the elements, has been removed to adjust the layout.
2024-05-04 00:22:08 +07:00