Skip to content

Commit 4961f8f

Browse files
authored
Merge pull request #35 from iskandervdh/tailwind-4
Upgrade to Tailwind v4
2 parents 21146a5 + 7b8d7ea commit 4961f8f

15 files changed

Lines changed: 379 additions & 443 deletions

frontend/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,20 @@
1919
"react": "^19.2.4",
2020
"react-dom": "^19.2.4",
2121
"react-hot-toast": "^2.6.0",
22-
"tailwind-merge": "^2.6.0",
22+
"tailwind-merge": "^3.5.0",
2323
"zustand": "^5.0.12"
2424
},
2525
"devDependencies": {
26+
"@tailwindcss/postcss": "^4.2.2",
2627
"@tanstack/router-devtools": "^1.166.11",
2728
"@tanstack/router-plugin": "^1.167.9",
2829
"@types/node": "^24.10.9",
2930
"@types/react": "^19.2.14",
3031
"@types/react-dom": "^19.2.3",
3132
"@vitejs/plugin-react": "^5.2.0",
32-
"autoprefixer": "^10.4.27",
3333
"postcss": "^8.5.8",
3434
"prettier": "^3.8.1",
35-
"tailwindcss": "^3.4.19",
35+
"tailwindcss": "^4.2.2",
3636
"typescript": "^5.9.3",
3737
"vite": "^7.3.2"
3838
},

frontend/package.json.md5

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
116a24ac3583b451b1f79ac3051044cb
1+
a67b50d360aedef1ac0f8ffc81b6bfc5

frontend/pnpm-lock.yaml

Lines changed: 330 additions & 399 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend/postcss.config.cjs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
module.exports = {
22
plugins: {
3-
tailwindcss: {},
4-
autoprefixer: {},
3+
'@tailwindcss/postcss': {},
54
},
65
};

frontend/src/components/button.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { cva, type VariantProps } from 'class-variance-authority';
55
import { cn } from '~/utils/helpers';
66

77
const buttonVariants = cva(
8-
'inline-flex items-center justify-center text-sm font-medium transition-colors border rounded-lg whitespace-nowrap ring-offset-background disabled:pointer-events-none disabled:opacity-50 focus:outline-offset-2 focus-visible:outline focus:outline-1',
8+
'inline-flex items-center justify-center text-sm font-medium transition-colors border rounded-lg whitespace-nowrap ring-offset-background disabled:pointer-events-none disabled:opacity-50 focus:outline-offset-2 focus-visible:outline-solid focus:outline-1',
99
{
1010
variants: {
1111
variant: {
@@ -21,7 +21,7 @@ const buttonVariants = cva(
2121
// outline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',
2222
// secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',
2323
ghost:
24-
'hover:bg-accent hover:text-accent-foreground border-transparent focus:outline-offset-2 focus-visible:outline focus:outline-1 focus:outline-primary',
24+
'hover:bg-accent hover:text-accent-foreground border-transparent focus:outline-offset-2 focus-visible:outline-solid focus:outline-1 focus:outline-primary',
2525
// link: 'text-primary underline-offset-4 hover:underline',
2626
},
2727
size: {

frontend/src/components/checkbox.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export function Checkbox({
99
<input
1010
type="checkbox"
1111
className={cn(
12-
'w-5 h-5 transition-colors duration-200 ease-in-out border cursor-pointer rounded-md appearance-none outline-offset-2 focus-visible:outline outline-1 outline-primary bg-background text-white border-primary grid place-content-center before:invisible before:checked:visible before:w-3 before:h-3 before:rounded-sm before hover:outline before:bg-primary checked:border-primary',
12+
'w-5 h-5 transition-colors duration-200 ease-in-out border cursor-pointer rounded-md appearance-none outline-offset-2 focus-visible:outline-solid outline-1 outline-primary bg-background text-white border-primary grid place-content-center before:invisible checked:before:visible before:w-3 before:h-3 before:rounded-xs before hover:outline-solid before:bg-primary checked:border-primary',
1313
className
1414
)}
1515
{...props}

frontend/src/components/input.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export function Input({
88
return (
99
<input
1010
className={cn(
11-
'w-full px-3 py-2 transition-colors duration-200 ease-in-out border rounded-lg appearance-none outline-offset-2 focus-visible:outline outline-1 outline-primary bg-background text-white border-primary hover:outline'
11+
'w-full px-3 py-2 transition-colors duration-200 ease-in-out border rounded-lg appearance-none outline-offset-2 focus-visible:outline-solid outline-1 outline-primary bg-background text-white border-primary hover:outline-solid'
1212
)}
1313
{...props}
1414
/>

frontend/src/components/select-multiple.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export function SelectMultiple({ options, value, onChanged, className, ...props
2626
onChange={(e) =>
2727
onChanged((prev) => (e.target.checked ? [...prev, option.value] : prev.filter((n) => n !== option.value)))
2828
}
29-
className="flex-shrink-0"
29+
className="shrink-0"
3030
/>
3131
<label htmlFor={`${props.id}-${option.value}`} className="flex items-center gap-2 cursor-pointer">
3232
{option.icon && <img src={option.icon} width={20} height={20} />}

frontend/src/components/select.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export function Select({ className, ...props }: SelectHTMLAttributes<HTMLSelectE
55
return (
66
<select
77
className={cn(
8-
'w-full px-3 py-2 transition-colors duration-200 cursor-pointer ease-in-out border rounded-lg appearance-none outline-offset-2 focus-visible:outline outline-1 outline-primary bg-background text-primary border-primary hover:outline',
8+
'w-full px-3 py-2 transition-colors duration-200 cursor-pointer ease-in-out border rounded-lg appearance-none outline-offset-2 focus-visible:outline-solid outline-1 outline-primary bg-background text-primary border-primary hover:outline-solid',
99
className
1010
)}
1111
{...props}

frontend/src/routes/settings.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ function Settings() {
5353
<div className="flex flex-col gap-2">
5454
<h2 className="text-xl font-bold text-primary">Info</h2>
5555

56-
<div className="grid max-w-6xl grid-cols-[16rem,auto]">
56+
<div className="grid max-w-6xl grid-cols-[16rem_auto]">
5757
<div>Spinup version</div>
5858
<div>{spinupVersion}</div>
5959
</div>

0 commit comments

Comments
 (0)