Skip to content

Commit feee8f1

Browse files
chore: fix conflicts
1 parent 775f777 commit feee8f1

110 files changed

Lines changed: 490 additions & 368 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

apps/sim/app/(auth)/login/login-form.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -584,4 +584,4 @@ export default function LoginPage({
584584
</Modal>
585585
</>
586586
)
587-
}
587+
}

apps/sim/app/(auth)/signup/signup-form.tsx

Lines changed: 113 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -390,105 +390,139 @@ function SignupFormContent({
390390

391391
{/* Email/Password Form - show unless explicitly disabled */}
392392
{!isFalsy(getEnv('NEXT_PUBLIC_EMAIL_PASSWORD_SIGNUP_ENABLED')) && (
393-
<form onSubmit={onSubmit} className='mt-8 space-y-8'>
393+
<form onSubmit={onSubmit} className='mt-8 space-y-10'>
394394
<div className='space-y-6'>
395395
<div className='space-y-2'>
396396
<div className='flex items-center justify-between'>
397397
<Label htmlFor='name'>Full name</Label>
398398
</div>
399-
<Input
400-
id='name'
401-
name='name'
402-
placeholder='Enter your name'
403-
type='text'
404-
autoCapitalize='words'
405-
autoComplete='name'
406-
title='Name can only contain letters, spaces, hyphens, and apostrophes'
407-
value={name}
408-
onChange={handleNameChange}
409-
className={cn(
410-
showNameValidationError &&
411-
nameErrors.length > 0 &&
412-
'border-red-500 focus:border-red-500'
413-
)}
414-
/>
415-
{showNameValidationError && nameErrors.length > 0 && (
416-
<div className='mt-1 space-y-1 text-red-400 text-xs'>
417-
{nameErrors.map((error, index) => (
418-
<p key={index}>{error}</p>
419-
))}
399+
<div className='relative'>
400+
<Input
401+
id='name'
402+
name='name'
403+
placeholder='Enter your name'
404+
type='text'
405+
autoCapitalize='words'
406+
autoComplete='name'
407+
title='Name can only contain letters, spaces, hyphens, and apostrophes'
408+
value={name}
409+
onChange={handleNameChange}
410+
className={cn(
411+
showNameValidationError &&
412+
nameErrors.length > 0 &&
413+
'border-red-500 focus:border-red-500'
414+
)}
415+
/>
416+
<div
417+
className={cn(
418+
'absolute right-0 left-0 z-10 grid transition-[grid-template-rows] duration-200 ease-out',
419+
showNameValidationError && nameErrors.length > 0
420+
? 'grid-rows-[1fr]'
421+
: 'grid-rows-[0fr]'
422+
)}
423+
aria-live='polite'
424+
>
425+
<div className='overflow-hidden'>
426+
<div className='mt-1 space-y-1 text-red-400 text-xs'>
427+
{nameErrors.map((error, index) => (
428+
<p key={index}>{error}</p>
429+
))}
430+
</div>
431+
</div>
420432
</div>
421-
)}
422-
</div>
423-
<div className='space-y-2'>
424-
<div className='flex items-center justify-between'>
425-
<Label htmlFor='email'>Email</Label>
426433
</div>
427-
<Input
428-
id='email'
429-
name='email'
430-
placeholder='Enter your email'
431-
autoCapitalize='none'
432-
autoComplete='email'
433-
autoCorrect='off'
434-
value={email}
435-
onChange={handleEmailChange}
436-
className={cn(
437-
(emailError || (showEmailValidationError && emailErrors.length > 0)) &&
438-
'border-red-500 focus:border-red-500'
439-
)}
440-
/>
441-
{showEmailValidationError && emailErrors.length > 0 && (
442-
<div className='mt-1 space-y-1 text-red-400 text-xs'>
443-
{emailErrors.map((error, index) => (
444-
<p key={index}>{error}</p>
445-
))}
446-
</div>
447-
)}
448-
{emailError && !showEmailValidationError && (
449-
<div className='mt-1 text-red-400 text-xs'>
450-
<p>{emailError}</p>
451-
</div>
452-
)}
453434
</div>
454435
<div className='space-y-2'>
455436
<div className='flex items-center justify-between'>
456-
<Label htmlFor='password'>Password</Label>
437+
<Label htmlFor='email'>Email</Label>
457438
</div>
458439
<div className='relative'>
459440
<Input
460-
id='password'
461-
name='password'
462-
type={showPassword ? 'text' : 'password'}
441+
id='email'
442+
name='email'
443+
placeholder='Enter your email'
463444
autoCapitalize='none'
464-
autoComplete='new-password'
465-
placeholder='Enter your password'
445+
autoComplete='email'
466446
autoCorrect='off'
467-
value={password}
468-
onChange={handlePasswordChange}
447+
value={email}
448+
onChange={handleEmailChange}
469449
className={cn(
470-
'pr-10',
471-
showValidationError &&
472-
passwordErrors.length > 0 &&
450+
(emailError || (showEmailValidationError && emailErrors.length > 0)) &&
473451
'border-red-500 focus:border-red-500'
474452
)}
475453
/>
476-
<button
477-
type='button'
478-
onClick={() => setShowPassword(!showPassword)}
479-
className='-translate-y-1/2 absolute top-1/2 right-3 text-[#999] transition hover:text-[#ECECEC]'
480-
aria-label={showPassword ? 'Hide password' : 'Show password'}
454+
<div
455+
className={cn(
456+
'absolute right-0 left-0 z-10 grid transition-[grid-template-rows] duration-200 ease-out',
457+
(showEmailValidationError && emailErrors.length > 0) ||
458+
(emailError && !showEmailValidationError)
459+
? 'grid-rows-[1fr]'
460+
: 'grid-rows-[0fr]'
461+
)}
462+
aria-live='polite'
481463
>
482-
{showPassword ? <EyeOff size={18} /> : <Eye size={18} />}
483-
</button>
464+
<div className='overflow-hidden'>
465+
<div className='mt-1 space-y-1 text-red-400 text-xs'>
466+
{showEmailValidationError && emailErrors.length > 0 ? (
467+
emailErrors.map((error, index) => <p key={index}>{error}</p>)
468+
) : emailError && !showEmailValidationError ? (
469+
<p>{emailError}</p>
470+
) : null}
471+
</div>
472+
</div>
473+
</div>
484474
</div>
485-
{showValidationError && passwordErrors.length > 0 && (
486-
<div className='mt-1 space-y-1 text-red-400 text-xs'>
487-
{passwordErrors.map((error, index) => (
488-
<p key={index}>{error}</p>
489-
))}
475+
</div>
476+
<div className='space-y-2'>
477+
<div className='flex items-center justify-between'>
478+
<Label htmlFor='password'>Password</Label>
479+
</div>
480+
<div className='relative'>
481+
<div className='relative'>
482+
<Input
483+
id='password'
484+
name='password'
485+
type={showPassword ? 'text' : 'password'}
486+
autoCapitalize='none'
487+
autoComplete='new-password'
488+
placeholder='Enter your password'
489+
autoCorrect='off'
490+
value={password}
491+
onChange={handlePasswordChange}
492+
className={cn(
493+
'pr-10',
494+
showValidationError &&
495+
passwordErrors.length > 0 &&
496+
'border-red-500 focus:border-red-500'
497+
)}
498+
/>
499+
<button
500+
type='button'
501+
onClick={() => setShowPassword(!showPassword)}
502+
className='-translate-y-1/2 absolute top-1/2 right-3 text-[#999] transition hover:text-[#ECECEC]'
503+
aria-label={showPassword ? 'Hide password' : 'Show password'}
504+
>
505+
{showPassword ? <EyeOff size={18} /> : <Eye size={18} />}
506+
</button>
507+
</div>
508+
<div
509+
className={cn(
510+
'absolute right-0 left-0 z-10 grid transition-[grid-template-rows] duration-200 ease-out',
511+
showValidationError && passwordErrors.length > 0
512+
? 'grid-rows-[1fr]'
513+
: 'grid-rows-[0fr]'
514+
)}
515+
aria-live='polite'
516+
>
517+
<div className='overflow-hidden'>
518+
<div className='mt-1 space-y-1 text-red-400 text-xs'>
519+
{passwordErrors.map((error, index) => (
520+
<p key={index}>{error}</p>
521+
))}
522+
</div>
523+
</div>
490524
</div>
491-
)}
525+
</div>
492526
</div>
493527
</div>
494528

@@ -514,6 +548,7 @@ function SignupFormContent({
514548
disabled={isLoading}
515549
loading={isLoading}
516550
loadingText='Creating account'
551+
className='!mt-6'
517552
>
518553
Create account
519554
</BrandedButton>
@@ -624,4 +659,4 @@ export default function SignupPage({
624659
/>
625660
</Suspense>
626661
)
627-
}
662+
}

apps/sim/app/chat/components/auth/password/password-auth.tsx

Lines changed: 45 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -103,47 +103,59 @@ export default function PasswordAuth({ identifier, onAuthSuccess }: PasswordAuth
103103
}}
104104
className='mt-8 w-full max-w-[410px] space-y-6'
105105
>
106-
<div className='space-y-2'>
106+
<div className='space-y-6'>
107107
<div className='flex items-center justify-between'>
108108
<Label htmlFor='password'>Password</Label>
109109
</div>
110110
<div className='relative'>
111-
<Input
112-
id='password'
113-
name='password'
114-
required
115-
type={showPassword ? 'text' : 'password'}
116-
autoCapitalize='none'
117-
autoComplete='new-password'
118-
autoCorrect='off'
119-
placeholder='Enter password'
120-
value={password}
121-
onChange={handlePasswordChange}
122-
onKeyDown={handleKeyDown}
111+
<div className='relative'>
112+
<Input
113+
id='password'
114+
name='password'
115+
required
116+
type={showPassword ? 'text' : 'password'}
117+
autoCapitalize='none'
118+
autoComplete='new-password'
119+
autoCorrect='off'
120+
placeholder='Enter password'
121+
value={password}
122+
onChange={handlePasswordChange}
123+
onKeyDown={handleKeyDown}
124+
className={cn(
125+
'pr-10',
126+
showValidationError &&
127+
passwordErrors.length > 0 &&
128+
'border-red-500 focus:border-red-500'
129+
)}
130+
autoFocus
131+
/>
132+
<button
133+
type='button'
134+
onClick={() => setShowPassword(!showPassword)}
135+
className='-translate-y-1/2 absolute top-1/2 right-3 text-[#999] hover:text-[#ECECEC]'
136+
aria-label={showPassword ? 'Hide password' : 'Show password'}
137+
>
138+
{showPassword ? <EyeOff size={18} /> : <Eye size={18} />}
139+
</button>
140+
</div>
141+
<div
123142
className={cn(
124-
'pr-10',
125-
showValidationError &&
126-
passwordErrors.length > 0 &&
127-
'border-red-500 focus:border-red-500'
143+
'absolute right-0 left-0 z-10 grid transition-[grid-template-rows] duration-200 ease-out',
144+
showValidationError && passwordErrors.length > 0
145+
? 'grid-rows-[1fr]'
146+
: 'grid-rows-[0fr]'
128147
)}
129-
autoFocus
130-
/>
131-
<button
132-
type='button'
133-
onClick={() => setShowPassword(!showPassword)}
134-
className='-translate-y-1/2 absolute top-1/2 right-3 text-[#999] hover:text-[#ECECEC]'
135-
aria-label={showPassword ? 'Hide password' : 'Show password'}
148+
aria-live='polite'
136149
>
137-
{showPassword ? <EyeOff size={18} /> : <Eye size={18} />}
138-
</button>
139-
</div>
140-
{showValidationError && passwordErrors.length > 0 && (
141-
<div className='mt-1 space-y-1 text-red-400 text-xs'>
142-
{passwordErrors.map((error, index) => (
143-
<p key={index}>{error}</p>
144-
))}
150+
<div className='overflow-hidden'>
151+
<div className='mt-1 space-y-1 text-red-400 text-xs'>
152+
{passwordErrors.map((error, index) => (
153+
<p key={index}>{error}</p>
154+
))}
155+
</div>
156+
</div>
145157
</div>
146-
)}
158+
</div>
147159
</div>
148160

149161
<BrandedButton

apps/sim/app/not-found.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export default async function NotFound() {
1717
<div className='relative z-30 flex flex-1 items-center justify-center px-4 pb-24'>
1818
<div className='flex flex-col items-center gap-[12px]'>
1919
<h1 className='font-[430] font-season text-[40px] text-white leading-[110%] tracking-[-0.02em]'>
20-
Page Not Found
20+
Page not found
2121
</h1>
2222
<p className='font-[430] font-season text-[#F6F6F6]/60 text-[18px] leading-[125%] tracking-[0.02em]'>
2323
The page you&apos;re looking for doesn&apos;t exist or has been moved.

apps/sim/app/workspace/[workspaceId]/components/message-actions/message-actions.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ export function MessageActions({ content, requestId }: MessageActionsProps) {
4949
<button
5050
type='button'
5151
aria-label='More options'
52-
className='flex h-5 w-5 items-center justify-center rounded-sm text-[var(--text-icon)] opacity-0 transition-colors transition-opacity hover:bg-[var(--surface-3)] hover:text-[var(--text-primary)] focus-visible:opacity-100 focus-visible:outline-none group-hover/msg:opacity-100 data-[state=open]:opacity-100'
52+
className='flex h-5 w-5 items-center justify-center rounded-sm text-[var(--text-icon)] opacity-0 transition-colors transition-opacity hover-hover:bg-[var(--surface-3)] hover-hover:text-[var(--text-primary)] focus-visible:opacity-100 focus-visible:outline-none group-hover/msg:opacity-100 data-[state=open]:opacity-100'
5353
onClick={(event) => event.stopPropagation()}
5454
>
5555
<Ellipsis className='h-3 w-3' strokeWidth={2} />

apps/sim/app/workspace/[workspaceId]/components/resource/components/resource-options-bar/resource-options-bar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ export const ResourceOptionsBar = memo(function ResourceOptionsBar({
118118
{search.tags?.length || search.value ? (
119119
<button
120120
type='button'
121-
className='mr-[2px] flex h-[14px] w-[14px] shrink-0 items-center justify-center text-[var(--text-subtle)] transition-colors hover:text-[var(--text-secondary)]'
121+
className='mr-[2px] flex h-[14px] w-[14px] shrink-0 items-center justify-center text-[var(--text-subtle)] transition-colors hover-hover:text-[var(--text-secondary)]'
122122
onClick={search.onClearAll}
123123
>
124124
<span className='text-[12px]'></span>

apps/sim/app/workspace/[workspaceId]/components/resource/resource.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ export const ResourceTable = memo(function ResourceTable({
282282
<th key={col.id} className='h-10 px-[16px] py-[6px] text-left align-middle'>
283283
<Button
284284
variant='subtle'
285-
className='px-[8px] py-[4px] font-base text-[var(--text-muted)] hover:text-[var(--text-muted)]'
285+
className='px-[8px] py-[4px] font-base text-[var(--text-muted)] hover-hover:text-[var(--text-muted)]'
286286
onClick={() =>
287287
handleSort(
288288
col.id,
@@ -314,7 +314,7 @@ export const ResourceTable = memo(function ResourceTable({
314314
data-resource-row
315315
data-row-id={row.id}
316316
className={cn(
317-
'transition-colors hover:bg-[var(--surface-3)]',
317+
'transition-colors hover-hover:bg-[var(--surface-3)]',
318318
onRowClick && 'cursor-pointer',
319319
(selectedRowId === row.id || isSelected) && 'bg-[var(--surface-3)]'
320320
)}
@@ -356,7 +356,7 @@ export const ResourceTable = memo(function ResourceTable({
356356
'transition-colors',
357357
create.disabled
358358
? 'cursor-not-allowed'
359-
: 'cursor-pointer hover:bg-[var(--surface-3)]'
359+
: 'cursor-pointer hover-hover:bg-[var(--surface-3)]'
360360
)}
361361
onClick={create.disabled ? undefined : create.onClick}
362362
>
@@ -428,7 +428,7 @@ function Pagination({
428428
type='button'
429429
onClick={() => onPageChange(page)}
430430
className={cn(
431-
'font-medium text-sm transition-colors hover:text-[var(--text-body)]',
431+
'font-medium text-sm transition-colors hover-hover:text-[var(--text-body)]',
432432
page === currentPage ? 'text-[var(--text-body)]' : 'text-[var(--text-secondary)]'
433433
)}
434434
>

0 commit comments

Comments
 (0)