Commit Graph

258 Commits

Author SHA1 Message Date
giancarlo
07deb28e12 1. Updated packages
2. Added comments to schema
3. Minor API updates
2024-04-27 14:39:28 +07:00
giancarlo
259e6ba555 Add contact form, cookie banner, and update packages
This commit includes the addition of a contact form and a cookie banner to improve user experience and comply with regulations. The contact form involves email submission functionality. Several packages have also been updated and new routes have been added to the sitemap for better SEO. Environment variables have also been adjusted for email and contact form functionality.
2024-04-26 13:43:41 +07:00
giancarlo
2b3dbb4549 Add 'use client' statement to monitoring.context.ts
In this commit, the 'use client' statement has been added to the top of the 'monitoring.context.ts' file. This is to ensure that the context is properly set for further monitoring operations.
2024-04-25 23:00:23 +07:00
giancarlo
2a65cd0b95 Update UI components and styling
This commit includes overall UI and styling improvements in different areas of the application. In particular, it refactors the font usage in the tailwind configuration and modifies the Heading import path in `heading.tsx`. The pricing table and line item details in the billing gateway had been extensively updated to provide better visual representation. Finally, changes were made to the marketing page to make it more straightforward and clear.
2024-04-25 20:17:50 +07:00
giancarlo
0ad26e991d Update invitation acceptance UI for clarity
Updated the invitation acceptance interface components. The 'Join Team' button text has been changed to reflect the user's email. This provides the user more clarity about which account they are accepting the invitation for. Other minor adjustments were made to the layout and heading level for consistency and improved readability.
2024-04-25 19:56:30 +07:00
giancarlo
341762b6a5 Update useBaselime hook and upgrade dependencies
Add a captureEvent function to the useBaselime hook for capturing events within the monitoring service. Multiple dependencies, including `@supabase/supabase-js` and `next`, have also been updated to newer versions. This ensures usage of the most recent and efficient versions of the tools needed in our project to resolve potential issues and benefit from recent improvements.
2024-04-25 17:37:12 +07:00
giancarlo
e8d34ce77e Add event capturing to monitoring services
Updated the monitoring services - baselime-server and sentry-server, to capture specific events. This includes modifications in their respective fetch methods for logging these events. Also, expanded the core monitoring service to allow for event tracking.
2024-04-25 15:03:20 +07:00
giancarlo
a0fe5a3794 Remove unused import in baselime-server-monitoring.service
The 'node:process' import isn't used in baselime-server-monitoring.service. This makes the code cleaner and reduces overhead.
2024-04-25 13:36:53 +07:00
giancarlo
3b3f50a714 Refactor Baselime monitoring provider for optional API key
The code was adjusted to not require an API key for the Baselime monitoring provider. Now, a warning will be logged if no key is provided. Dependencies in pnpm-lock.yaml and error message in baselime-server-monitoring.service.ts were also updated accordingly to reflect this change, primarily to utilize the variable 'NEXT_PUBLIC_BASELIME_KEY' instead of 'BASELIME_API_KEY'.
2024-04-25 13:32:22 +07:00
giancarlo
03d06b64ba Refactor billing code and add error monitoring
Refactored the code that retrieves the billing customer id by renaming the function getBillingCustomerId to getCustomerId. Also, bolstered error handling: implemented exception capture in particular scenarios across multiple files. If an error occurs, it's now captured and reported to the configured provider.
2024-04-25 13:19:46 +07:00
giancarlo
8d04624b1d Add queryUsage method to billing services
A new method, queryUsage, has been added to the billing strategy classes and the gateway service to offer usage querying capabilities for Stripe and Lemon Squeezy. QueryBillingUsageSchema has also been introduced in the schema-related changes. Changes also include updates to the functions' comment descriptions. A minor tweak was made to the Button and Link components in the `faq/page.tsx' file.
2024-04-25 11:34:47 +07:00
giancarlo
19332d124d Update nesting of Button and Link components
The Link component is modified to be nested within the Button component in various JSX files. This change was made with the aid of the 'asChild' property, it ensures that the link remains operable even when wrapped by the button, improving the site's semantics and accessibility.
2024-04-25 10:57:56 +07:00
giancarlo
944197b84a Update dependency versions in pnpm-lock.yaml
This commit updates the version numbers for several dependencies across multiple packages in the pnpm-lock.yaml file. Most notably, the versions for '@keystatic/core', '@opentelemetry/resources', '@opentelemetry/sdk-node' and others have been incremented for better functionality and up-to-date usage. This will ensure that the application benefits from the latest fixes and improvements in these dependencies.
2024-04-25 10:48:56 +07:00
giancarlo
38a03b6a52 Add lucide-react library to project
The lucide-react library has been added to the project in the `accounts` and `team-accounts` package.json files, and in the pnpm-lock.yaml. Changes were made to the next.config.mjs file to reflect this. Also, the name of the `AuthRedirectListener` function in use-auth-change-listener.ts file has been changed to `useAuthChangeListener`.
2024-04-24 20:07:36 +07:00
giancarlo
452e9e3567 Update dependencies and remove unused packages
This commit updates the versions of some dependencies, removes a few unused packages, and corrects the locations of some of the dependencies. Specific changes include version updates for '@tanstack/react-query-next-experimental', 'lucide-react', and 'supabase'. Furthermore, several unnecessary '@tanstack/react-table', 'next', 'tailwind-merge', and 'zod' dependencies were removed from various packages. The exact details of these changes can be obtained by comparing the changes in the 'pnpm-lock.yaml' file.
2024-04-24 19:58:03 +07:00
giancarlo
936adc271c Add Super Admin layout and update subscription functionalities
The key changes made in this code include the addition of a Super Admin layout. Also, subscription functionalities are updated and optimized. This ensures read, write permissions are specific to the relevant user and a helper function has been implemented to check if an account has an active subscription. Furthermore, UI enhancements have been made to the accounts table in the administration section. The seed data has also been modified.
2024-04-24 19:00:55 +07:00
giancarlo
dbdccc59bc Refactor subscription and order retrieval methods
The changes refactor how subscription and order data is retrieved throughout the codebase. This includes renaming methods from 'getSubscriptionData' and 'getOrdersData' to 'getSubscription' and 'getOrder' respectively. The code for obtaining these subscriptions and orders has been rewritten for improved clarity and error handling.
2024-04-24 12:07:09 +07:00
giancarlo
abd0771c4a Update package dependencies across modules
This commit addresses the update of various npm package dependencies across multiple modules. These updates include a version bump for lucide-react from 0.368.0 to 0.372.0 and rearrangement of "@types/react" and "@kit/monitoring-core" in the 'devDependencies' section for improved organization. These updates will ensure that we're using the most recent secure releases and enhance the project maintainability.
2024-04-24 09:03:46 +07:00
giancarlo
34d9034e65 Refactor monitoring services into separate packages
Separated and isolated the responsibilities of monitoring tools. Reorganized the code by introducing a core package that contains common code related to monitoring and moved all the service operations like error capturing and identification of users into their respective packages. This ensures each tool is independent and easy to maintain.
2024-04-24 09:02:02 +07:00
giancarlo
a004cbae63 Modify language identification in locale handling
The update changes the way locales are checked against the list of accepted languages. Now, instead the full locale, only the language segment is considered when determining if the locale is accepted. Additionally, a check in 'getPreferredLanguageFromBrowser' was added to ensure 'acceptLanguage' is not undefined before attempting to parse it.
2024-04-23 23:04:17 +07:00
giancarlo
448fee01c4 Add language priority feature flag
This commit adds a new 'languagePriority' key to the feature flags configuration. It determines whether to use user's preferred language or the application's default language. Adjustments to the language selection process according to new flag have been made in the 'createInstance' function in 'i18n.server.ts'. Additionally, updates have been made to 'README.md' and '.env' files to reflect these changes.
2024-04-23 22:51:45 +07:00
giancarlo
e19af9af52 Refactor content fetching and enhance UI mods
Refactored content fetching in the docs and blog pages to use a new 'getDocs' function to improve code reuse. Made minor adjustments to the UI in 'makerkit/page.tsx'. This involved modifying the layout and adding conditionals to tackle optional props. Also added a new textarea component reference in the UI package.
2024-04-23 11:30:32 +08:00
giancarlo
6814cc7089 Fix linting 2024-04-23 00:15:41 +08:00
giancarlo
17e0781581 Refactored classes according to new convention 2024-04-23 00:10:12 +08:00
giancarlo
70da6ef1fa Adjusted Per seat billing and added example to the sample schema 2024-04-22 22:48:02 +08:00
giancarlo
8e1d7ad1f5 Refactor admin dashboard loader and update translations
The admin-dashboard.loader file was refactored to use a newly created AdminDashboardService. This service encapsulates the logic for fetching dashboard data. Translations related to account settings, privacy policy, terms of service, and cookie policy were updated for better readability. Changes also include minor reorganizing of code files for clearer structure.
2024-04-22 20:30:21 +08:00
giancarlo
8c5b0496da Refactor authentication listener to be a hook
The previous authentication listener component was transformed into a `useAuthChangeListener` hook. All relevant functionality was preserved in this transition. The purpose of this change was to improve flexibility and code reusability by enabling the auth listener to be integrated in various parts of the application as needed. The old component was also removed from the exported packages in the `package.json`.
2024-04-22 19:46:45 +08:00
giancarlo
a074e1ec3b Implement Baselime monitoring and update error handling
This commit introduces the integration of Baselime for monitoring, accounting for various error scenarios and improved console error logging. Request handling has been updated to assign unique IDs for each request, aiding in tracing/logs. The environment variable key was updated, and the `MonitoringProvider` was nested in the root providers. In the base monitoring service, a function to format errors for logging was added. The provider logic was updated to create a new instance of service for each request, improving memory efficiency.
2024-04-22 18:41:38 +08:00
giancarlo
b6d303f90e Refactor monitoring package and improve error handling
The monitoring package has been significantly refactored to improve the granularity of error capture. Code from the 'capture-exception.ts' files in different locations have been deleted and replaced by a more unified approach in the 'use-baselime.ts' and 'use-sentry.ts' hooks. The README documentation has also been updated to reflect these changes and provide additional information about error monitoring setup and usage.
2024-04-22 15:24:01 +08:00
giancarlo
3ce6c62425 Update Zod and Lucide-react version in all packages
The Zod and Lucide-react libraries have been updated to version ^3.23.0 and ^0.372.0, respectively, in all packages. This change ensures that all packages are using the latest stable versions of these libraries, keeping the codebase up-to-date and minimizing potential compatibility issues.
2024-04-22 14:03:03 +08:00
giancarlo
0796aaeb81 Update UI and translations in billing component
The pricing-table.tsx and plan-picker.tsx components under billing have been updated to improve UI spacing, layout, and text translations. The revisions allow for better localization through the use of the useTranslation hook from react-i18next. Layout changes include adjustment in spacing and removal of Sparkles icon. Certain product details are refactored to use translation keys for easier language support.
2024-04-22 13:52:40 +08:00
giancarlo
7020e21193 Refactor join service and fix imports
Join service was deleted and its functionality was integrated into the team-accounts API. General rearrangement and renaming of server-related files were made, particularly for billing-related services to ensure consistency. This made it necessary to fix import paths across multiple files.
2024-04-22 12:52:09 +08:00
giancarlo
61b1edcdd9 Add useCsrfToken hook and update README
A new `useCsrfToken` hook has been added for fetching CSRF token from the meta tag. The shared package's exports have been updated to include this new hook. Additionally, extensive documentation on writing server actions and API route handlers, as well as the usage of Captcha token protection and CSRF token, has been added to the README file.
2024-04-22 11:56:42 +08:00
giancarlo
e2503333e2 Update CSRF protection and modify database types
The CSRF protection in middleware has been re-implemented with `@edge-csrf/nextjs`, to catch and handle CSRF errors more effectively. Additionally, some parameters are renamed and functions are added in `database.types.ts` for better role management. The dependency in `package.json` has also been updated to reflect the changes.
2024-04-22 11:27:54 +08:00
giancarlo
acd5ad08f9 Update several package versions in pnpm-lock.yaml file
This commit updates various package versions in the pnpm-lock.yaml file. The updated packages include tailwind-merge, zod, recharts, and '@sentry/nextjs' among others. This is a part of regular maintenance and ensuring that the project dependencies are up-to-date.
2024-04-22 01:52:02 +08:00
giancarlo
866b9888f7 Refactor billing services with new AccountsApi
The billing services have been refactored to use the new AccountsApi and TeamAccountsApi. All methods that were previously defined in each billing service, including getting customer ID, getting permissions, etc., have been transferred to these APIs. This change improves the modularity and organization of the code.
2024-04-22 01:35:15 +08:00
giancarlo
7cbbae9fef Remove Suspense from root-providers and refine route checks
The Suspense wrapper was removed from root-providers.tsx to simplify code. For the Privacy Path Checking, a property was added to 'AuthRedirectListener' to allow customization of 'privatePathPrefixes', and the prefixes list was moved to the top. Also, explicit constant assertions were added in 'create-i18n-settings.ts' to ensure the types correctness.
2024-04-21 19:53:16 +08:00
giancarlo
ae10f7b142 Refactor i18n settings and improve language load handling
This update separates the creation of i18n settings into its own function (@kit/i18n) and enhances the handling of language and namespace loading in i18n.client. It tracks loaded languages and namespaces, and prevents rendering if none are loaded or after a maximum number of iterations. The usage of Suspense has also been modified in root-providers to employ a null fallback.
2024-04-21 18:40:12 +08:00
giancarlo
b1f2e435aa Add ArrowRight icon to signUp and signIn buttons
A new `ArrowRight` icon from `lucide-react` library is introduced to the signUp and signIn buttons on the auth source code. CSS animation properties are applied to the icon for better interactiveness and user experience.
2024-04-21 13:03:01 +08:00
giancarlo
c5b70d7b62 Refactor i18n client and server initialization
The refactor includes the removal of clientInstance checks as they are unnecessary. Also, i18n-provider.tsx has been updated to use react-query instead of local state for client initialization. Lastly, error handling has been added to the server initialization process and the @tanstack/react-query package has been added to the project dependencies.
2024-04-21 12:48:18 +08:00
giancarlo
a55655a61a Improve owner transfer process and member sorting
Extended the account ownership transfer tests and implemented several updates. This includes transferring the ownership only to an existing account member, sorting team members based on role hierarchy and whether a member is the primary owner. In the permissions check, prevented non-members from creating invitations and enhanced the styling of role badges depending on if they are custom or not.
2024-04-20 20:33:19 +08:00
giancarlo
4195697b54 Add new tests and update schema.sql and account permissions
New test files for database functionalities like transfer of ownership, schema conditions, and updating roles have been added. Changes have also been made in the schema.sql file for checking the role hierarchy levels and updating rules for permissions. Modifications in account permissions test have also been performed for more accuracy.
2024-04-20 19:37:39 +08:00
giancarlo
bf0d2e1c87 Fixed bugs in memberships management 2024-04-20 18:12:04 +08:00
giancarlo
efd27aa7de Update localization texts, add permissions check, and seed data
This commit removes the membersTabDescription, updates the deleteAccountDescription text in the localization files, and adds a condition to check permissions in account invitation component. It also includes test credentials in README and provides a significant amount of seed data for testing the database.
2024-04-20 16:53:54 +08:00
giancarlo
fb8e091043 Refactor UI component and improve configuration handling
Refactored the components in the site header account section and page.tsx to improve readability. Updated the WordPress client to handle date types correctly. Adjusted the keystatic storage kind to default to 'local' if not specified in the environment variables.
2024-04-20 13:31:07 +08:00
giancarlo
8281de12a0 Update i18n settings and upgrade dependencies in lockfile
This commit refactors the i18n settings in `i18n.settings.ts` to improve language handling. In addition, it updates the `pnpm-lock.yaml` file to upgrade the lockfile version and several package dependencies. Most notably, it integrates `tailwind-merge` and `@tanstack/react-table` into various packages.
2024-04-20 13:17:38 +08:00
giancarlo
ecdb9ac717 Improve i18n resource loading mechanism 2024-04-20 02:12:36 +08:00
giancarlo
c3d2e29f1b Update package manager version and role label reference
The package manager version in the package.json file has been updated to pnpm@9.0.0. Also, in membership-role-selector.tsx, the reference in i18nKey for role labels has been modified to include ".label" for better clarity and maintain the consistent schema in the translation files.
2024-04-20 01:10:12 +08:00
giancarlo
95e6c460cb Update i18nKey syntax in role-badge component 2024-04-20 00:52:54 +08:00
giancarlo
daf8c18de6 Add router refresh to language selector
Added useRouter import from 'next/navigation' and implemented a router refresh in the language change function. This update ensures that cached translations are refreshed when the language is changed.
2024-04-20 00:52:05 +08:00