-
Notifications
You must be signed in to change notification settings - Fork 4k
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
feat(dashboard): Implement email step editor & small preview #7129
Conversation
✅ Deploy Preview for novu-stg-vite-dashboard-poc ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
2d14cb6
to
b992bd5
Compare
@novu/client
@novu/framework
@novu/headless
@novu/js
@novu/nextjs
@novu/nest
@novu/node
@novu/notification-center
novu
@novu/providers
@novu/react
@novu/react-native
@novu/shared
@novu/stateless
commit: |
b992bd5
to
e54eeac
Compare
e54eeac
to
bffeae2
Compare
bffeae2
to
169d08d
Compare
169d08d
to
4f2f506
Compare
af95efa
to
61c3404
Compare
61c3404
to
e71d9ef
Compare
@@ -73,6 +75,7 @@ export const AddStepMenu = ({ | |||
onMenuItemClick: (stepType: StepTypeEnum) => void; | |||
}) => { | |||
const [isPopoverOpen, setIsPopoverOpen] = useState(false); | |||
const areNewStepsEnabled = useFeatureFlag(FeatureFlagsKeysEnum.IS_ND_DELAY_DIGEST_EMAIL_ENABLED); |
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.
Lol, the feature flag name is a bit off, but it's OK.
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.
this was already on ld
@@ -23,6 +25,12 @@ export const getComponentByType = ({ component }: { component?: UiComponentEnum | |||
case UiComponentEnum.URL_TEXT_BOX: { | |||
return <InAppRedirect />; | |||
} | |||
case UiComponentEnum.MAILY: { |
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.
@desiprisg consider aligning the naming on this one. All other components are based on the step type field, not on the implementation of the built-in ui or the underlying library.
case UiComponentEnum.MAILY: { | |
case UiComponentEnum.EMAIL_BODY: { |
import { cn } from '@/utils/ui'; | ||
|
||
type SmallEmailPreviewProps = HTMLAttributes<HTMLDivElement>; | ||
const SmallEmailPreview = (props: SmallEmailPreviewProps) => { |
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.
If not mistaken we call this Mini preview.
const SmallEmailPreview = (props: SmallEmailPreviewProps) => { | |
const MiniEmailPreview = (props: SmallEmailPreviewProps) => { |
<div className="relative flex flex-col gap-3"> | ||
<div className="flex items-center gap-2.5 text-sm font-medium"> | ||
<Notification5Fill className="size-3" /> | ||
In-app template editor |
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.
In-app template editor | |
Email template editor |
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.
not the current ticket
const bodyKey = 'emailEditor'; | ||
|
||
type MailyProps = HTMLAttributes<HTMLDivElement>; | ||
export const Maily = (props: MailyProps) => { |
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.
export const Maily = (props: MailyProps) => { | |
export const Editor = (props: EditorProps) => { |
|
||
const bodyKey = 'emailEditor'; | ||
|
||
type MailyProps = HTMLAttributes<HTMLDivElement>; |
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.
type MailyProps = HTMLAttributes<HTMLDivElement>; | |
type EditorProps = HTMLAttributes<HTMLDivElement>; |
e71d9ef
to
04459d9
Compare
04459d9
to
8320ff2
Compare
8320ff2
to
5ae22fe
Compare
What changed? Why was the change needed?
Screenshots
Expand for optional sections
Related enterprise PR
Special notes for your reviewer