-
Notifications
You must be signed in to change notification settings - Fork 13
feat: new home page ui #802
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
b68d3ca
589411b
2220ecd
35f2590
78cd147
7d08f04
6b379ac
934ee26
2006e20
9d94faa
e954576
1883cb8
2de7ad3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
import { HTMLAttributes } from 'react' | ||
|
||
const PageContainer = (props: HTMLAttributes<HTMLDivElement>) => { | ||
return <div className="flex w-full items-center justify-center *:w-full md:*:w-2/5">{props.children}</div> | ||
return <div className="flex w-full items-center justify-center *:w-full md:pl-24 md:*:w-2/5">{props.children}</div> | ||
} | ||
|
||
export default PageContainer |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
import { twMerge } from 'tailwind-merge' | ||
import { Icon, IconName } from '../Icons/Icon' | ||
|
||
export type AchievementsBadgeSize = 'extra-small' | 'small' | 'medium' | 'large' | ||
|
||
interface AchievementsBadgeProps { | ||
icon?: IconName | ||
size?: AchievementsBadgeSize | ||
color?: string | ||
className?: string | ||
position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | ||
} | ||
|
||
const AchievementsBadge = ({ | ||
icon = 'check', | ||
size = 'medium', | ||
color = 'bg-success-3', | ||
className, | ||
position = 'top-right', | ||
}: AchievementsBadgeProps) => { | ||
const getContainerSize = () => { | ||
switch (size) { | ||
case 'extra-small': | ||
return 'size-2.5' | ||
case 'small': | ||
return 'size-4' | ||
case 'medium': | ||
return 'size-5' | ||
case 'large': | ||
return 'size-6' | ||
default: | ||
return 'size-5' | ||
} | ||
} | ||
|
||
const getIconSize = () => { | ||
switch (size) { | ||
case 'extra-small': | ||
return 6 | ||
case 'small': | ||
return 8 | ||
case 'medium': | ||
return 10 | ||
case 'large': | ||
return 14 | ||
default: | ||
return 10 | ||
} | ||
} | ||
|
||
const getPadding = () => { | ||
switch (size) { | ||
case 'extra-small': | ||
return 'p-0' | ||
case 'small': | ||
return 'p-0.5' | ||
case 'medium': | ||
return 'p-1' | ||
case 'large': | ||
return 'p-1.5' | ||
default: | ||
return 'p-1' | ||
} | ||
} | ||
|
||
const getPosition = () => { | ||
switch (position) { | ||
case 'top-right': | ||
return 'right-0 top-0' | ||
case 'top-left': | ||
return 'left-0 top-0' | ||
case 'bottom-right': | ||
return 'right-0 bottom-0' | ||
case 'bottom-left': | ||
return 'left-0 bottom-0' | ||
default: | ||
return 'right-0 top-0' | ||
} | ||
} | ||
|
||
return ( | ||
<div | ||
className={twMerge( | ||
'absolute flex items-center justify-center rounded-full border border-black', | ||
color, | ||
getContainerSize(), | ||
getPadding(), | ||
getPosition(), | ||
className | ||
)} | ||
> | ||
<Icon name={icon} size={getIconSize()} /> | ||
</div> | ||
) | ||
} | ||
|
||
export default AchievementsBadge |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
import React from 'react' | ||
import { twMerge } from 'tailwind-merge' | ||
|
||
export type StatusType = 'completed' | 'pending' | 'failed' | 'cancelled' | 'soon' | ||
|
||
interface StatusBadgeProps { | ||
status: StatusType | ||
className?: string | ||
size?: 'small' | 'medium' | 'large' | ||
} | ||
|
||
const StatusBadge: React.FC<StatusBadgeProps> = ({ status, className, size = 'small' }) => { | ||
const getStatusStyles = () => { | ||
switch (status) { | ||
case 'completed': | ||
return 'bg-success-2 text-success-1' | ||
case 'pending': | ||
return 'bg-secondary-4 text-secondary-1' | ||
case 'failed': | ||
case 'cancelled': | ||
return 'bg-error-1 text-error' | ||
case 'soon': | ||
return 'bg-primary-3 text-primary-4' | ||
default: | ||
return 'bg-gray-200 text-gray-700' | ||
} | ||
} | ||
|
||
const getStatusText = () => { | ||
switch (status) { | ||
case 'completed': | ||
return 'Completed' | ||
case 'pending': | ||
return 'Pending' | ||
case 'failed': | ||
return 'Failed' | ||
case 'cancelled': | ||
return 'Cancelled' | ||
case 'soon': | ||
return 'Soon!' | ||
default: | ||
return status | ||
} | ||
} | ||
|
||
const getSizeClasses = () => { | ||
switch (size) { | ||
case 'small': | ||
return 'px-2 py-0.5 text-[10px]' | ||
case 'medium': | ||
return 'px-3 py-1 text-xs' | ||
case 'large': | ||
return 'px-4 py-1.5 text-sm' | ||
default: | ||
return 'px-2 py-0.5 text-[10px]' | ||
} | ||
} | ||
|
||
return ( | ||
<span | ||
className={twMerge( | ||
'rounded-full font-roboto font-semibold', | ||
getSizeClasses(), | ||
getStatusStyles(), | ||
className | ||
)} | ||
> | ||
{getStatusText()} | ||
</span> | ||
) | ||
} | ||
|
||
export default StatusBadge |
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,57 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import React from 'react' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import { twMerge } from 'tailwind-merge' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
export type CardPosition = 'single' | 'first' | 'middle' | 'last' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
interface CardProps { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
children: React.ReactNode | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
position?: CardPosition | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
className?: string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onClick?: () => void | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
border?: boolean | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const Card: React.FC<CardProps> = ({ children, position = 'single', className = '', onClick, border = true }) => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const getBorderRadius = () => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
switch (position) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
case 'single': | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return 'rounded-sm' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
case 'first': | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return 'rounded-t-sm' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
case 'last': | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return 'rounded-b-sm' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
case 'middle': | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return '' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
default: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return 'rounded-sm' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const getBorder = () => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if (!border) return '' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
switch (position) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
case 'single': | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return 'border border-black' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
case 'first': | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return 'border border-black' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
case 'middle': | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return 'border border-black border-t-0' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
case 'last': | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return 'border border-black border-t-0' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
default: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return 'border border-black' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return ( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<div | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
className={twMerge('w-full overflow-hidden bg-white px-4 py-2', getBorderRadius(), getBorder(), className)} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onClick={onClick} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{children} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+14
to
+55
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion Add accessibility attributes when using onClick handlers. When a div is used with an onClick handler, it becomes an interactive element but lacks proper keyboard accessibility. This makes it inaccessible to keyboard-only users. return (
<div
className={twMerge('w-full overflow-hidden bg-white px-4 py-2', getBorderRadius(), getBorder(), className)}
onClick={onClick}
+ tabIndex={onClick ? 0 : undefined}
+ role={onClick ? 'button' : undefined}
+ onKeyDown={onClick ? (e) => e.key === 'Enter' && onClick() : undefined}
>
{children}
</div>
) 📝 Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
export default Card |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,15 @@ | ||
import React, { useState } from 'react' | ||
import { twMerge } from 'tailwind-merge' | ||
import Icon from '../Icon' | ||
import { Icon } from '../Icons/Icon' | ||
|
||
interface Props { | ||
textToCopy: string | ||
fill?: string | ||
className?: string | ||
iconSize?: '2' | '4' | '6' | '8' | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chainBeware of dynamic Tailwind classes with template literals. Using string literals for 🏁 Script executed: #!/bin/bash
# Check if tailwind.config.js has safelist configured for these dynamic classes
grep -A 10 "safelist" $(find . -name "tailwind.config.js") 2>/dev/null
# Check for any other dynamic class usage patterns
rg -A 2 -B 2 '\$\{.*\}' --type tsx --type jsx | grep -E 'class|className' Length of output: 181 🏁 Script executed: #!/bin/bash
# Show tailwind.config.js to inspect any safelist or jit/content configuration
sed -n '1,200p' tailwind.config.js
# Check explicitly for a safelist configuration
grep -n "safelist" tailwind.config.js || echo ">> No safelist block found"
# Check for Tailwind's content (or purge) entries to ensure .tsx files are included
grep -n -E "content|purge" tailwind.config.js
# Search for the dynamic iconSize template literal in TSX/JSX files
rg 'h-\$\{iconSize\}' -g '*.tsx' -g '*.jsx' -n Length of output: 6856 Ensure Tailwind generates all Possible fixes:
Files to update:
|
||
} | ||
|
||
const CopyToClipboard = ({ textToCopy, fill, className }: Props) => { | ||
const CopyToClipboard = ({ textToCopy, fill, className, iconSize = '6' }: Props) => { | ||
const [copied, setCopied] = useState(false) | ||
|
||
const handleCopy = (e: React.MouseEvent<SVGElement>) => { | ||
|
@@ -21,8 +22,8 @@ const CopyToClipboard = ({ textToCopy, fill, className }: Props) => { | |
|
||
return ( | ||
<Icon | ||
name={copied ? 'check' : 'content-copy'} | ||
className={twMerge('h-6 w-6 hover:opacity-80', className)} | ||
name={copied ? 'check' : 'copy'} | ||
className={twMerge(`h-${iconSize} w-${iconSize} hover:opacity-80`, className)} | ||
fill={fill ? fill : 'white'} | ||
onClick={handleCopy} | ||
/> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
question: is this different than the Card in 0_Bruddle?
Does this serve another purpose? If not, then we should only use one in the application, if they serve different purposes then one of them should have the name changed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jjramirezn yes the new card is different and serves different purpose, and it's being commonly used in the new designs, so created a new component.
kept the name similar, cuz, the old card will be removed very soon, once the flows are updated