Feat/tailwind v4 shadcn update (#4706)

* feat: update dependencies and enhance UI components in Dokploy

- Updated various package versions in pnpm-lock.yaml to improve compatibility and performance, including React and Tailwind CSS.
- Modified components.json to change the styling to "radix-nova" and added new properties for icon library and menu color.
- Refactored multiple components to use updated class names for better styling consistency and responsiveness.
- Removed unused Radix UI components from package.json to streamline dependencies.
- Adjusted layout and styling in several dashboard components for improved user experience and visual appeal.
- Enhanced tooltip and form item components for better accessibility and usability.

* refactor: enhance UI components in HandleCertificate and SidebarLogo

- Updated the HandleCertificate component to improve dialog content height and textarea styling for better usability.
- Adjusted the SidebarLogo component layout to enhance alignment and spacing, ensuring a more consistent appearance across the sidebar.
- Implemented responsive design adjustments to textarea elements, preventing overflow and improving user experience.

* refactor: improve UI consistency and styling across dashboard components

- Updated Card components in ShowDeployments, ShowSchedules, and ShowVolumeBackups to remove unnecessary border styles for a cleaner look.
- Enhanced TabsList components in ShowProviderForm and ShowProviderFormCompose by adding a variant for improved visual distinction.
- Adjusted spacing in AdvancedEnvironmentSelector for better layout and readability.
- Removed redundant border classes in Service component for a more streamlined design.

* [autofix.ci] apply automated fixes

* chore: update package dependencies and refactor email rendering

- Upgraded React and React DOM to version 19.2.7 across multiple packages for improved performance and compatibility.
- Updated TSX to version 4.22.4 in various package.json files.
- Refactored email rendering from `renderAsync` to `render` in notification utilities and email templates for consistency.
- Adjusted Tailwind configuration usage in email templates to utilize a centralized configuration file.

These changes enhance the overall stability and maintainability of the codebase.

* refactor: update badge variants across dashboard components

- Changed badge variant from "outline-solid" to "outline" in multiple components including columns, show-domains, and various deployment tables for consistency in styling.
- Updated button variants in billing and project templates to align with the new badge styling.
- Enhanced input components to support password generation and error messaging, improving user experience.

These changes streamline the UI and ensure a cohesive design across the application.

* refactor: clean up calendar component imports and structure

- Removed redundant imports of icons from lucide-react and streamlined the import statements for better readability.
- Adjusted the placement of type imports to enhance code organization.

These changes improve the maintainability and clarity of the calendar component.

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
Mauricio Siu
2026-06-30 15:45:23 -06:00
committed by GitHub
parent 8b6481501e
commit 3ca5afd49f
202 changed files with 7857 additions and 5747 deletions

View File

@@ -245,7 +245,7 @@ export const SaveBitbucketProvider = ({ applicationId }: Props) => {
<Button
variant="outline"
className={cn(
"w-full justify-between !bg-input",
"w-full justify-between bg-input!",
!field.value && "text-muted-foreground",
)}
>
@@ -333,7 +333,7 @@ export const SaveBitbucketProvider = ({ applicationId }: Props) => {
<Button
variant="outline"
className={cn(
" w-full justify-between !bg-input",
" w-full justify-between bg-input!",
!field.value && "text-muted-foreground",
)}
>
@@ -498,7 +498,7 @@ export const SaveBitbucketProvider = ({ applicationId }: Props) => {
onCheckedChange={field.onChange}
/>
</FormControl>
<FormLabel className="!mt-0">Enable Submodules</FormLabel>
<FormLabel className="mt-0!">Enable Submodules</FormLabel>
</FormItem>
)}
/>

View File

@@ -305,7 +305,7 @@ export const SaveGitProvider = ({ applicationId }: Props) => {
onCheckedChange={field.onChange}
/>
</FormControl>
<FormLabel className="!mt-0">Enable Submodules</FormLabel>
<FormLabel className="mt-0!">Enable Submodules</FormLabel>
</FormItem>
)}
/>

View File

@@ -258,7 +258,7 @@ export const SaveGiteaProvider = ({ applicationId }: Props) => {
<Button
variant="outline"
className={cn(
"w-full justify-between !bg-input",
"w-full justify-between bg-input!",
!field.value && "text-muted-foreground",
)}
>
@@ -353,7 +353,7 @@ export const SaveGiteaProvider = ({ applicationId }: Props) => {
<Button
variant="outline"
className={cn(
" w-full justify-between !bg-input",
" w-full justify-between bg-input!",
!field.value && "text-muted-foreground",
)}
>
@@ -525,7 +525,7 @@ export const SaveGiteaProvider = ({ applicationId }: Props) => {
onCheckedChange={field.onChange}
/>
</FormControl>
<FormLabel className="!mt-0">Enable Submodules</FormLabel>
<FormLabel className="mt-0!">Enable Submodules</FormLabel>
</FormItem>
)}
/>

View File

@@ -233,7 +233,7 @@ export const SaveGithubProvider = ({ applicationId }: Props) => {
<Button
variant="outline"
className={cn(
"w-full justify-between !bg-input",
"w-full justify-between bg-input!",
!field.value && "text-muted-foreground",
)}
>
@@ -320,7 +320,7 @@ export const SaveGithubProvider = ({ applicationId }: Props) => {
<Button
variant="outline"
className={cn(
" w-full justify-between !bg-input",
" w-full justify-between bg-input!",
!field.value && "text-muted-foreground",
)}
>
@@ -531,7 +531,7 @@ export const SaveGithubProvider = ({ applicationId }: Props) => {
onCheckedChange={field.onChange}
/>
</FormControl>
<FormLabel className="!mt-0">Enable Submodules</FormLabel>
<FormLabel className="mt-0!">Enable Submodules</FormLabel>
</FormItem>
)}
/>

View File

@@ -254,7 +254,7 @@ export const SaveGitlabProvider = ({ applicationId }: Props) => {
<Button
variant="outline"
className={cn(
"w-full justify-between !bg-input",
"w-full justify-between bg-input!",
!field.value && "text-muted-foreground",
)}
>
@@ -351,7 +351,7 @@ export const SaveGitlabProvider = ({ applicationId }: Props) => {
<Button
variant="outline"
className={cn(
" w-full justify-between !bg-input",
" w-full justify-between bg-input!",
!field.value && "text-muted-foreground",
)}
>
@@ -518,7 +518,7 @@ export const SaveGitlabProvider = ({ applicationId }: Props) => {
onCheckedChange={field.onChange}
/>
</FormControl>
<FormLabel className="!mt-0">Enable Submodules</FormLabel>
<FormLabel className="mt-0!">Enable Submodules</FormLabel>
</FormItem>
)}
/>

View File

@@ -154,7 +154,10 @@ export const ShowProviderForm = ({ applicationId }: Props) => {
}}
>
<div className="flex flex-row items-center justify-between w-full overflow-auto">
<TabsList className="flex gap-4 justify-start bg-transparent">
<TabsList
variant="line"
className="flex gap-4 justify-start bg-transparent"
>
<TabsTrigger
value="github"
className="rounded-none border-b-2 gap-2 border-b-transparent data-[state=active]:border-b-2 data-[state=active]:border-b-border"

View File

@@ -1,4 +1,4 @@
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
import { Tooltip as TooltipPrimitive } from "radix-ui";
import {
Ban,
CheckCircle2,
@@ -94,7 +94,7 @@ export const ShowGeneralApplication = ({ applicationId }: Props) => {
</div>
</TooltipTrigger>
<TooltipPrimitive.Portal>
<TooltipContent sideOffset={5} className="z-[60]">
<TooltipContent sideOffset={5} className="z-60">
<p>
Downloads the source code and performs a complete
build
@@ -137,7 +137,7 @@ export const ShowGeneralApplication = ({ applicationId }: Props) => {
</div>
</TooltipTrigger>
<TooltipPrimitive.Portal>
<TooltipContent sideOffset={5} className="z-[60]">
<TooltipContent sideOffset={5} className="z-60">
<p>Reload the application without rebuilding it</p>
</TooltipContent>
</TooltipPrimitive.Portal>
@@ -176,7 +176,7 @@ export const ShowGeneralApplication = ({ applicationId }: Props) => {
</div>
</TooltipTrigger>
<TooltipPrimitive.Portal>
<TooltipContent sideOffset={5} className="z-[60]">
<TooltipContent sideOffset={5} className="z-60">
<p>
Only rebuilds the application without downloading new
code
@@ -219,7 +219,7 @@ export const ShowGeneralApplication = ({ applicationId }: Props) => {
</div>
</TooltipTrigger>
<TooltipPrimitive.Portal>
<TooltipContent sideOffset={5} className="z-[60]">
<TooltipContent sideOffset={5} className="z-60">
<p>
Start the application (requires a previous successful
build)
@@ -259,7 +259,7 @@ export const ShowGeneralApplication = ({ applicationId }: Props) => {
</div>
</TooltipTrigger>
<TooltipPrimitive.Portal>
<TooltipContent sideOffset={5} className="z-[60]">
<TooltipContent sideOffset={5} className="z-60">
<p>Stop the currently running application</p>
</TooltipContent>
</TooltipPrimitive.Portal>