Commit Graph

149 Commits

Author SHA1 Message Date
Giancarlo Buomprisco
9033155fcd Add OTP sign-in option + Account Linking (#276)
* feat(accounts): allow linking email password
* feat(auth): add OTP sign-in
* refactor(accounts): remove 'sonner' dependency and update toast imports
* feat(supabase): enable analytics and configure database seeding
* feat(auth): update email templates and add OTP template
* feat(auth): add last sign in method hints
* feat(config): add devIndicators position to bottom-right
* feat(auth): implement comprehensive last authentication method tracking tests
2025-06-13 17:47:35 +08:00
Giancarlo Buomprisco
a416695400 feat(web): add mobile theme toggle (#274) 2025-06-09 21:55:26 +08:00
Giancarlo Buomprisco
2ae8e14158 Fix layout by removing unnecessary overflow-y-auto class from PageWithSidebar (#272) 2025-06-09 20:16:50 +08:00
Giancarlo Buomprisco
1c31e7ffab Update Calendar component and update dependencies and updated Agents MD files (#269)
* Update Calendar component and update dependencies

* Refactor AGENTS.md and CLAUDE.md for clarity and consistency

- Streamlined project overview and architecture sections in both AGENTS.md and CLAUDE.md to enhance readability.
- Updated command sections to reflect essential commands and improved formatting for better usability.
- Clarified multi-tenant architecture details and database operations, ensuring accurate representation of the project's structure.
- Enhanced component organization and security guidelines for better developer onboarding and adherence to best practices.

* Refactor code for consistency and readability

- Improved formatting in `env-variables-model.ts` for better description clarity.
- Enhanced readability of `current-plan-alert.tsx` and `current-plan-badge.tsx` by adjusting the status badge mapping.
- Standardized object syntax in `lemon-squeezy-webhook-handler.service.ts` for consistency.
- Refined className ordering in `account-selector.tsx` for better maintainability.
- Ensured proper syntax in `console.ts` with consistent object export.
- Reorganized imports in `calendar.tsx` for clarity and structure.
- Improved className formatting in `sidebar.tsx` for better readability.

* Update package version to 2.10.0 in package.json
2025-06-08 14:31:49 +08:00
Giancarlo Buomprisco
fc2fda595a Snyk report fixes + offcanvas sidebar fix (#263)
Refactor:
- Improved consistency and robustness by standardizing file encoding arguments from 'utf-8' to 'utf8' across various file read/write operations.
- Simplified status mapping logic in billing components and services by replacing switch statements with direct mapping objects for clearer and more maintainable code.
- Enhanced type conversion and error handling in billing and internationalization components for improved reliability.
- Updated sorting logic in team member tables for more predictable member ordering.
- Improved error logging with sanitized output to prevent formatting issues.
- Adjusted environment variable whitelisting to use a more flexible matching pattern.
- Fix variables for sidebar style handling

Style:
- Refined spacing and layout in account selector and sidebar header components for better visual consistency.
2025-06-01 20:10:39 +08:00
Giancarlo Buomprisco
76bfeddd32 Dev Tools improvements (#247)
* Refactor environment variables UI and update validation logic

Enhanced the environment variables page layout for better responsiveness and structure by introducing new components and styles. Added `EnvListDisplay` for grouped variable display and adjusted several UI elements for clarity and consistency. Updated `NEXT_PUBLIC_SENTRY_ENVIRONMENT` validation to make it optional, aligning with updated requirements.

* Add environment variable validation and enhance page headers

Introduces robust validation for environment variables, ensuring correctness and contextual dependency checks. Updates page headers with titles and detailed descriptions for better usability and clarity.

* Refactor variable page layout and improve code readability

Rearranged className attributes in JSX for consistency and readability. Refactored map and enum validation logic for better formatting and maintainability. Applied minor corrections to types and formatting in other components.

* Refactor styles and simplify component logic

Updated badge variants to streamline styles and removed redundant hover states. Simplified logic in email page by extracting breadcrumb values and optimizing title rendering. Adjusted environment variables manager layout for cleaner rendering and removed unnecessary elements.

* Add real-time translation updates with RxJS and UI improvements

Introduced a Subject with debounce mechanism for handling translation updates, enhancing real-time editing in the translations comparison module. Improved UI components, including conditional rendering, better input handling, and layout adjustments. Implemented a server action for updating translations and streamlined type definitions in the emails page.

* Enhance environment variable copying functionality and improve user feedback

Updated the environment variables manager to copy structured environment variable data to the clipboard, improving usability. Adjusted toast notifications to provide clearer success and error messages during the copy process. Additionally, fixed a minor issue in the translations comparison component by ensuring proper filtering of keys based on the search input.

* Add AI translation functionality and update dependencies

Implemented a new action for translating missing strings using AI, enhancing the translations comparison component. Introduced a loading state during translation and improved error handling for translation updates. Updated package dependencies, including the addition of '@ai-sdk/openai' and 'ai' to facilitate AI-driven translations. Enhanced UI components for better user experience and streamlined translation management.
2025-04-29 10:11:12 +08:00
Giancarlo Buomprisco
a149c52b99 Next.js 15.3.0 (#231)
1. Upgrade to Next.js 15.3.0
2. Formatted files
2025-04-10 08:41:07 +08:00
Giancarlo Buomprisco
e7f17dd34f Deps Update and minor changes (#222)
1. Revert Card changes
2. Use X logo instead of Twitter
3. Update Dependencies

* Remove reference to pg_sodium as new Supabase CLI doesn't play well with it
2025-03-28 11:51:38 +08:00
Giancarlo Buomprisco
a3c37d0e7c 1. Updated dependencies (#215)
2. Conditionally render childAction
2025-03-24 11:24:48 +08:00
Giancarlo Buomprisco
fcb37e7d75 Improve overall responsiveness on mobile devices (#214) 2025-03-19 11:24:53 +08:00
Giancarlo Buomprisco
4bba67246b 1. Updated packages (#211)
1. Updated packages
2. Improved responsiveness
2025-03-18 20:07:10 +08:00
Giancarlo Buomprisco
a45fda44cf Deps Update, CSSNano, Sentry env (#210)
1. Update dependencies
2. Use cssnano for production
3. Assign an environment variable to Sentry's environment settings
4. `Pill` now accepts React Nodes so we can pass translations using Trans component
5. Switch to mailpit API during tests
6. Do not require Email Sender to be of type email and add proper error messages
2025-03-12 16:51:11 +08:00
Giancarlo Buomprisco
131b1061e6 Enforce RLS when user opted in to MFA. (#188)
* Allow Super Admin to view tables using RLS
* Replace previous usages of the Admin client using the authed client using the new RLS
* Enforce MFA for Super Admin users
* Enforce RLS when user opted in to MFA.
* Add Super Admin Access Policies and Update Database Types
* Consolidate super admin logic into a single function that uses the RPC is_super_admin
* Added Super Admin E2E tests
* Fixes and improvements
* Bump version to 2.5.0
2025-03-02 11:21:01 +08:00
Giancarlo Buomprisco
d31f3eb993 Add support for OTPs and enhance sensitive apis with OTP verification (#191)
One-Time Password (OTP) package added with comprehensive token management, including OTP verification for team account deletion and ownership transfer.
2025-03-01 17:35:09 +08:00
Giancarlo Buomprisco
685b0920e5 Use plain image tag instead of Next.js (#184) 2025-02-21 10:01:15 +08:00
Giancarlo Buomprisco
fa3813e580 Only center logo below md (#179) 2025-02-20 08:43:01 +08:00
Giancarlo Buomprisco
c193f9fcb9 Update image uploader styling with object-contain and border (#173)
* Update image uploader styling with object-contain and border
* Fix avatar aspect ratio
2025-02-20 08:35:16 +08:00
Giancarlo Buomprisco
0808b91e0d 171 bug allow passing refs to inputbutton components (#172)
* Refactor UI components to use ComponentPropsWithRef for improved type safety
* Updated dependencies and removed duplicate instance of Tslint since it's already provided in the Next.js config
2025-02-19 09:34:20 +08:00
gbuomprisco
be88bdec6e Prevent flex container overflow with min-w-0 2025-02-14 21:47:15 +07:00
gbuomprisco
a4cb758ffa 1. Minor UI fixes
2. Updated packages
2025-02-14 11:10:20 +07:00
Giancarlo Buomprisco
95d27aa85b Fix SidebarTrigger context handling to prevent null reference errors (#156) 2025-02-10 08:17:19 +08:00
Giancarlo Buomprisco
6f9cf22fa8 EsLint v9 (#154)
* Upgrade ESLint and related configurations to version 9

- Update ESLint to version 9.19.0
- Migrate ESLint configurations to flat config format
- Remove deprecated ESLint config files
- Update package dependencies and configurations
- Simplify ESLint setup across packages
- Remove unnecessary ESLint config blocks from package.json files
- Improved CI caching with Turborepo tasks
- Removed duplicate styles
2025-02-07 11:38:29 +08:00
Giancarlo Buomprisco
e2f45cae49 Enhance DataTable component pagination and sorting UI (#152)
- Adjust pagination layout and styling for better readability
- Add support for optional sorting change event handler
- Improve sorting state management with flexible updater function
- Update text color and spacing in pagination component
2025-02-06 11:09:08 +08:00
Giancarlo Buomprisco
97e4bc9bad Refactor sidebar navigation menu item rendering and styling (#150)
- Improve sidebar menu item layout and responsiveness
- Extract and optimize classNames for link and span elements
- Remove conditional rendering of `renderAction`
- Enhance dynamic styling for collapsed and expanded sidebar states
2025-02-06 11:00:00 +08:00
Giancarlo Buomprisco
08d5b16123 Add optional sorting state to DataTable component (#148)
- Introduce `sorting` prop to allow initial sorting configuration
- Update DataTable to use provided initial sorting state
- Maintain default empty sorting state when no initial sorting is specified
2025-02-05 23:18:12 +08:00
Giancarlo Buomprisco
3140f0cf21 Improve PageHeader responsiveness for sidebar trigger and description (#146) 2025-02-05 18:03:20 +08:00
Giancarlo Buomprisco
2a157e8baa 134 improvement add a button that allows closing the sidebar (#135)
* Enhance sidebar navigation and layout configuration

- Added support for configurable sidebar collapsed style
- Updated layout components to use new sidebar configuration
- Added environment variable for sidebar trigger display
- Simplified page header and navigation components
- Improved sidebar responsiveness and user experience

* Refactor admin account page layout and action buttons

- Moved action buttons from sidebar to PageHeader for both personal and team account pages
- Updated button variants and styling for better visual hierarchy
- Improved spacing and layout of account page components
- Added border to PageHeader for better visual separation

* Update version updater dialog styling

- Replaced `space-x-4` with `gap-x-2` for better spacing
- Wrapped translation text in a `span` for improved layout
- Maintained consistent icon and text alignment in dialog title

* Refactor sidebar state management and configuration

- Simplified sidebar context and removed minimized state
- Updated layout components to use new sidebar open/closed state
- Modified sidebar navigation to handle collapsed state dynamically
- Added environment variable for sidebar trigger and collapsed style
- Improved sidebar responsiveness and rendering logic

* Remove sidebar configuration and environment variables

- Simplified sidebar context by removing `minimized` state in components
- Updated account selector components to use simplified sidebar state
- Removed unused helper functions in sidebar implementation
2025-02-04 09:45:16 +08:00
Giancarlo Buomprisco
77131d886c Refactor sidebar navigation to improve render action placement (#133)
- Moved `renderAction` from conditional rendering to a dedicated `SidebarMenuAction` component
- Simplified sidebar menu item rendering logic
- Ensured consistent placement of additional actions within sidebar menu items
2025-02-03 13:28:20 +08:00
Giancarlo Buomprisco
4e91f267e0 Tailwind CSS 4 Migration (#100)
* Updated to TailwindCSS v4
* Moved CSS module to its own CSS file because of lightingcss strict validation
* Respect next parameter in middleware
* Updated all packages. 
* Split CSSs for better organization.
* Redesigned theme and auth pages
* Improved pill and header design
* Formatted files using Prettier
* Better footer layout
* Better auth layout
* Bump version of the repository to 2.0.0
2025-01-28 14:19:52 +08:00
gbuomprisco
d799f54ede Update dependencies. Fixed linting issues discovered after update. 2025-01-28 10:41:05 +07:00
gbuomprisco
7d86fed7a4 Export "toast" from Sonner's component to avoid needing to install Sonner directly 2025-01-17 14:24:00 +07:00
Giancarlo Buomprisco
cec47cef78 React 19 refactoring: Removed forwardRef references in all UI Components (#99)
* React 19 refactoring: Removed forwardRef references in all UI Components
* Added Progress UI component from Shadcn
* Updated dependencies
* Formatted files
* Fix Mobile Dropdowns
2024-12-23 15:15:00 +08:00
gbuomprisco
95f9be62d5 Add "flex-1" so that the Page component goes full width 2024-12-15 17:32:30 +08:00
gbuomprisco
ce63993035 Updated packages (Next.js 15.1.0)
Fixed linting
2024-12-11 12:45:11 +08:00
gbuomprisco
be16bf70d5 Formatted some files 2024-12-09 13:27:19 +08:00
Giancarlo Buomprisco
079a8f857a Some changes ported from the work on the makerkit.dev website related… (#89)
* Some changes ported from the work on the makerkit.dev website related to the marketing sections of the kit, such as documentation
* Added slight background hue to make darker theme better looking
* Support more complex configurations for documentation navigations.
* Do not fetch content from Keystatic when non-needed
* Add cursor pointers in dropdown
* Updated packages
2024-12-09 12:58:17 +08:00
Giancarlo Buomprisco
fbea66eba9 Added a "Coming Soon" marketing component (#85) 2024-11-29 16:07:26 +08:00
Giancarlo Buomprisco
8e051664b8 Dependencies: Updated packages, run linter autofix (#84) 2024-11-26 15:21:07 +08:00
Giancarlo Buomprisco
5cc936b982 Dependencies Updates (#83)
* Keystatic: Use the correct variable when fetching content from GitHub
* Revert default layout style
2024-11-22 15:55:15 +08:00
gbuomprisco
977c958975 Fix Top Header layout following changes in the Shadcn Sidebar;
Fix useMobile breakpoint to 1024px, to match our Tailwind convention for mobile breakpoints (lg)
2024-11-21 12:31:16 +08:00
gbuomprisco
3fad846821 Run Prettier's automated formatting over the codebase. 2024-11-08 14:35:30 +08:00
Giancarlo Buomprisco
465655fdd4 Enhanced Sidebar to support sub collapsible sections (#80)
* Enhanced Sidebar to support sub collapsible sections
* Data-Table: support getSortedRowModel
* Add missing renderAction; 
* Fix Sidebar on mobile
* Do not initialize Analytics Provider server side
* Do not bind i18Next until it's initialized
* Avoid infinite redirects in the auth path when Supabase emits a SIGNED_OUT event
* Force admin layout to be dynamic
2024-11-06 23:01:45 +08:00
Giancarlo Buomprisco
9615d1a4bb Documentation Updates (#79)
* Docs: Added Shadcn sidebar; added algorithm to automatically infer parents without needing to specify it.
* Extracted Markdoc compilation in a separate file
* Site Navigation: simplify nav by removing the border
* Docs Navigation: added TOC; improved layout on mobile
2024-10-30 20:49:44 +08:00
gbuomprisco
f9bd5b3802 Node.js minimum versions is now 18.18.0.
Updated other dependencies and run linting fixes.
2024-10-29 11:07:47 +08:00
gbuomprisco
b47151fb3c React Compiler: never memo Tanstack Table 2024-10-28 12:14:53 +08:00
gbuomprisco
93b0f3d450 Sidebar: fix collapsible props 2024-10-26 11:44:18 +08:00
gbuomprisco
681a7c9233 Sidebar: fix collapsible state 2024-10-25 20:55:38 +08:00
Giancarlo Buomprisco
14c2220904 Update Shadcn Sidebar (#73)
Migrated Sidebar to use Shadcn UI's
2024-10-25 15:43:34 +08:00
Giancarlo Buomprisco
5b9285a575 Next.js 15 Update (#26)
* Update Next.js and React versions in all packages
* Replace onRedirect function with next/link in BillingSessionStatus, since it's no longer cached by default
* Remove unused revalidatePath import in billing return page, since it's no longer cached by default
* Add Turbopack module aliases to improve development server speed
* Converted new Dynamic APIs to be Promise-based
* Adjust mobile layout
* Use ENABLE_REACT_COMPILER to enable the React Compiler in Next.js 15
* Report Errors using the new onRequestError hook
2024-10-22 14:39:21 +08:00
gbuomprisco
03cd7fcd3f Sidebar: added transition to text, reduced animation speed 2024-10-15 14:45:53 +08:00