14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/react_email_rails/action_mailer.rb', line 14
def mail( = {}, &block)
return super unless .is_a?(Hash) && .key?(:react)
= .dup
react = .delete(:react)
props = .delete(:props) if .key?(:props)
component, resolved_props = ReactEmailRails::PropsResolver.new(self).resolve(react, props)
render_options = ReactEmailRails.configuration.resolve_render_options(self)
rendered = ReactEmailRails.render(component:, props: resolved_props, render_options:)
super() do |format|
format.html { rendered.html }
format.text { rendered.text } if rendered.text.present?
yield(format) if block
end
end
|