lesli_mailer 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +5 -0
  3. data/app/assets/config/lesli_mailer_manifest.js +1 -0
  4. data/app/assets/images/lesli_mailer/mailer-logo.svg +7 -0
  5. data/app/assets/stylesheets/lesli_mailer/application.css +15 -0
  6. data/app/controllers/lesli_mailer/accounts_controller.rb +60 -0
  7. data/app/controllers/lesli_mailer/application_controller.rb +4 -0
  8. data/app/controllers/lesli_mailer/dashboards_controller.rb +4 -0
  9. data/app/helpers/lesli_mailer/accounts_helper.rb +4 -0
  10. data/app/helpers/lesli_mailer/application_helper.rb +4 -0
  11. data/app/helpers/lesli_mailer/dashboards_helper.rb +4 -0
  12. data/app/jobs/lesli_mailer/application_job.rb +4 -0
  13. data/app/mailers/lesli_mailer/application_mailer.rb +6 -0
  14. data/app/models/lesli_mailer/account.rb +12 -0
  15. data/app/models/lesli_mailer/application_record.rb +5 -0
  16. data/app/models/lesli_mailer/dashboard.rb +8 -0
  17. data/app/views/lesli_mailer/accounts/_account.html.erb +2 -0
  18. data/app/views/lesli_mailer/accounts/_form.html.erb +17 -0
  19. data/app/views/lesli_mailer/accounts/edit.html.erb +10 -0
  20. data/app/views/lesli_mailer/accounts/index.html.erb +14 -0
  21. data/app/views/lesli_mailer/accounts/new.html.erb +9 -0
  22. data/app/views/lesli_mailer/accounts/show.html.erb +10 -0
  23. data/app/views/lesli_mailer/dashboards/_dashboard.html.erb +2 -0
  24. data/app/views/lesli_mailer/dashboards/_form.html.erb +17 -0
  25. data/app/views/lesli_mailer/dashboards/edit.html.erb +10 -0
  26. data/app/views/lesli_mailer/dashboards/index.html.erb +14 -0
  27. data/app/views/lesli_mailer/dashboards/new.html.erb +9 -0
  28. data/app/views/lesli_mailer/dashboards/show.html.erb +1 -0
  29. data/app/views/lesli_mailer/emails/lesli/devise/confirmation_instructions.html.erb +122 -0
  30. data/app/views/lesli_mailer/emails/lesli/devise/reset_password_instructions.html.erb +122 -0
  31. data/app/views/lesli_mailer/emails/lesli/devise/welcome.html.erb +122 -0
  32. data/config/routes.rb +3 -0
  33. data/db/migrate/0205000110_create_lesli_mailer_accounts.rb +5 -0
  34. data/db/migrate/0205003010_create_lesli_mailer_dashboards.rb +5 -0
  35. data/lib/lesli_mailer/engine.rb +57 -0
  36. data/lib/lesli_mailer/version.rb +4 -0
  37. data/lib/lesli_mailer.rb +6 -0
  38. data/lib/lesli_mailer_builder/lesli/appstore.mjml +64 -0
  39. data/lib/lesli_mailer_builder/lesli/copy.mjml +43 -0
  40. data/lib/lesli_mailer_builder/lesli/debug.mjml +46 -0
  41. data/lib/lesli_mailer_builder/lesli/devise/confirmation_instructions.mjml +70 -0
  42. data/lib/lesli_mailer_builder/lesli/devise/reset_password_instructions.mjml +74 -0
  43. data/lib/lesli_mailer_builder/lesli/devise/welcome.mjml +79 -0
  44. data/lib/lesli_mailer_builder/lesli/footer.mjml +41 -0
  45. data/lib/lesli_mailer_builder/lesli/head.mjml +53 -0
  46. data/lib/lesli_mailer_builder/lesli/header.mjml +37 -0
  47. data/lib/lesli_mailer_builder/lesli/logo.mjml +48 -0
  48. data/lib/lesli_mailer_builder/lesli/social.mjml +50 -0
  49. data/lib/lesli_mailer_emails/lesli/devise/confirmation_instructions.html +122 -0
  50. data/lib/lesli_mailer_emails/lesli/devise/reset_password_instructions.html +122 -0
  51. data/lib/lesli_mailer_emails/lesli/devise/welcome.html +122 -0
  52. data/lib/lesli_mailer_previews/devise_mailer_preview.rb +54 -0
  53. data/lib/tasks/lesli_mailer_tasks.rake +4 -0
  54. data/license +674 -0
  55. data/readme.md +83 -0
  56. metadata +114 -0
@@ -0,0 +1,122 @@
1
+ <!doctype html><html lang="und" dir="auto" xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"><head><title></title><!--[if !mso]><!--><meta http-equiv="X-UA-Compatible" content="IE=edge"><!--<![endif]--><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if mso]>
2
+ <noscript>
3
+ <xml>
4
+ <o:OfficeDocumentSettings>
5
+ <o:AllowPNG/>
6
+ <o:PixelsPerInch>96</o:PixelsPerInch>
7
+ </o:OfficeDocumentSettings>
8
+ </xml>
9
+ </noscript>
10
+ <![endif]--><!--[if lte mso 11]>
11
+ <style type="text/css">
12
+ .mj-outlook-group-fix { width:100% !important; }
13
+ </style>
14
+ <![endif]--><!--[if !mso]><!--><!--<![endif]--></head><body style="-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; background-color: #ebecf0; margin: 0; padding: 0; word-spacing: normal;"><div style="background-color:#ebecf0;" lang="und" dir="auto"><!-- Email header --><!-- Lesli
15
+
16
+ Copyright (c) 2025, Lesli Technologies, S. A.
17
+
18
+ This program is free software: you can redistribute it and/or modify
19
+ it under the terms of the GNU General Public License as published by
20
+ the Free Software Foundation, either version 3 of the License, or
21
+ (at your option) any later version.
22
+
23
+ This program is distributed in the hope that it will be useful,
24
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
25
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26
+ GNU General Public License for more details.
27
+
28
+ You should have received a copy of the GNU General Public License
29
+ along with this program. If not, see http://www.gnu.org/licenses/.
30
+
31
+ Lesli · Ruby on Rails SaaS Development Framework.
32
+
33
+ Made with ♥ by LesliTech
34
+ Building a better future, one line of code at a time.
35
+
36
+ @contact hello@lesli.tech
37
+ @website https://www.lesli.tech
38
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
39
+
40
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
41
+ // · --><!-- Lesli header --><!-- Lesli
42
+
43
+ Copyright (c) 2025, Lesli Technologies, S. A.
44
+
45
+ This program is free software: you can redistribute it and/or modify
46
+ it under the terms of the GNU General Public License as published by
47
+ the Free Software Foundation, either version 3 of the License, or
48
+ (at your option) any later version.
49
+
50
+ This program is distributed in the hope that it will be useful,
51
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
52
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
53
+ GNU General Public License for more details.
54
+
55
+ You should have received a copy of the GNU General Public License
56
+ along with this program. If not, see http://www.gnu.org/licenses/.
57
+
58
+ Lesli · Ruby on Rails SaaS Development Framework.
59
+
60
+ Made with ♥ by LesliTech
61
+ Building a better future, one line of code at a time.
62
+
63
+ @contact hello@lesli.tech
64
+ @website https://www.lesli.tech
65
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
66
+
67
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
68
+ // · --><!-- Lesli logo --><!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:600px;" width="600" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]--><div style="margin:0px auto;max-width:600px;"><table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%;"><tbody><tr><td style="border-collapse: collapse; direction: ltr; font-size: 0px; mso-table-lspace: 0pt; mso-table-rspace: 0pt; padding: 20px 0; text-align: center;"><!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td class="" style="vertical-align:top;width:600px;" ><![endif]--><div class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;"><table border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; vertical-align: top;" width="100%"><tbody><tr><td align="center" style="border-collapse: collapse; font-size: 0px; mso-table-lspace: 0pt; mso-table-rspace: 0pt; padding: 0px; padding-bottom: 0px; padding-left: 5px; padding-top: 60px; word-break: break-word;"><table border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse: collapse; border-spacing: 0px; mso-table-lspace: 0pt; mso-table-rspace: 0pt;"><tbody><tr><td style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 125px;"><img alt src="https://cdn.lesli.tech/leslicloud/brand/app-logo.png" style="-ms-interpolation-mode: bicubic; border: 0; display: block; font-size: 13px; height: auto; line-height: 100%; outline: none; text-decoration: none; width: 100%;" width="125" height="auto"></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso | IE]></td></tr></table><![endif]--></td></tr></tbody></table></div><!--[if mso | IE]></td></tr></table><![endif]--><div style="height:5px;line-height:5px;">&#8202;</div><div style="font-family:Ubuntu, Helvetica, Arial, sans-serif;font-size:13px;line-height:1;text-align:center;color:#4a5056;"><h1>Welcome to The Lesli Family!</h1></div><!-- Email content --><!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:600px;" width="600" bgcolor="#ffffff" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]--><div style="background:#ffffff;background-color:#ffffff;margin:0px auto;border-radius:15px;max-width:600px;"><table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background: #ffffff; background-color: #ffffff; border-collapse: collapse; border-radius: 15px; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%;"><tbody><tr><td style="border-collapse: collapse; direction: ltr; font-size: 0px; mso-table-lspace: 0pt; mso-table-rspace: 0pt; padding: 40px; text-align: center;"><!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td class="" style="vertical-align:top;width:520px;" ><![endif]--><div class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;"><table border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; vertical-align: top;" width="100%"><tbody><tr><td align="center" style="border-collapse: collapse; font-size: 0px; mso-table-lspace: 0pt; mso-table-rspace: 0pt; padding: 10px 25px; word-break: break-word;"><table border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse: collapse; border-spacing: 0px; mso-table-lspace: 0pt; mso-table-rspace: 0pt;"><tbody><tr><td style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 90px;"><img alt src="https://cdn.lesli.tech/leslicloud/emails/celebration.png" style="-ms-interpolation-mode: bicubic; border: 0; display: block; font-size: 13px; height: auto; line-height: 100%; outline: none; text-decoration: none; width: 100%;" width="90" height="auto"></td></tr></tbody></table></td></tr><tr><td align="center" style="border-collapse: collapse; font-size: 0px; mso-table-lspace: 0pt; mso-table-rspace: 0pt; padding: 0px; word-break: break-word;"><div style="font-family:Ubuntu, Helvetica, Arial, sans-serif;font-size:13px;line-height:1;text-align:center;color:#4a5056;"><h2><raw><% name = @params.dig(:user).full_name %></raw><raw><%= !name.blank? ? "Hi #{name.strip}." : nil %></raw></h2></div></td></tr><tr><td style="background: #95a3ab; border-collapse: collapse; font-size: 0px; mso-table-lspace: 0pt; mso-table-rspace: 0pt; word-break: break-word;"><div style="height:2px;line-height:2px;">&#8202;</div></td></tr><tr><td style="border-collapse: collapse; font-size: 0px; mso-table-lspace: 0pt; mso-table-rspace: 0pt; word-break: break-word;"><div style="height:5px;line-height:5px;">&#8202;</div></td></tr><tr><td align="center" style="border-collapse: collapse; font-size: 0px; mso-table-lspace: 0pt; mso-table-rspace: 0pt; padding: 10px 25px; word-break: break-word;"><div style="font-family:Ubuntu, Helvetica, Arial, sans-serif;font-size:18px;line-height:1.2;text-align:center;color:#4a5056;"><p style="display: block; margin: 13px 0;">Lesli will help you work with your team on your ideas, projects, and business.</p><p style="display: block; margin: 13px 0;">We're excited to have you on board!</p></div></td></tr><tr><td align="center" style="border-collapse: collapse; font-size: 0px; mso-table-lspace: 0pt; mso-table-rspace: 0pt; padding: 10px 25px; word-break: break-word;"><table border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse: separate; line-height: 100%; mso-table-lspace: 0pt; mso-table-rspace: 0pt;"><tbody><tr><td align="center" bgcolor="#eef6fc" role="presentation" style="background: #eef6fc; border: 1px solid #209cee; border-collapse: collapse; border-radius: 5px; cursor: auto; mso-padding-alt: 10px 25px; mso-table-lspace: 0pt; mso-table-rspace: 0pt;" valign="middle"><a href="<%= @app[:host] %>" style="display:inline-block;background:#eef6fc;color:#209cee;font-family:Ubuntu, Helvetica, Arial, sans-serif;font-size:17px;font-weight:normal;line-height:120%;margin:0;text-decoration:none;text-transform:none;padding:10px 25px;mso-padding-alt:0px;border-radius:5px;" target="_blank">Go to your Lesli account</a></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso | IE]></td></tr></table><![endif]--></td></tr></tbody></table></div><!--[if mso | IE]></td></tr></table><![endif]--> <!-- Email footer --><!-- Lesli
69
+
70
+ Copyright (c) 2025, Lesli Technologies, S. A.
71
+
72
+ This program is free software: you can redistribute it and/or modify
73
+ it under the terms of the GNU General Public License as published by
74
+ the Free Software Foundation, either version 3 of the License, or
75
+ (at your option) any later version.
76
+
77
+ This program is distributed in the hope that it will be useful,
78
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
79
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
80
+ GNU General Public License for more details.
81
+
82
+ You should have received a copy of the GNU General Public License
83
+ along with this program. If not, see http://www.gnu.org/licenses/.
84
+
85
+ Lesli · Ruby on Rails SaaS Development Framework.
86
+
87
+ Made with ♥ by LesliTech
88
+ Building a better future, one line of code at a time.
89
+
90
+ @contact hello@lesli.tech
91
+ @website https://www.lesli.tech
92
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
93
+
94
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
95
+ // · --><!-- Lesli footer --><!-- <mj-spacer height="30px" /> --><!-- <mj-include path="social.mjml" /> --><!-- <mj-include path="appstore.mjml" /> --><!-- <mj-spacer height="10px" /> --><!-- Lesli
96
+
97
+ Copyright (c) 2025, Lesli Technologies, S. A.
98
+
99
+ This program is free software: you can redistribute it and/or modify
100
+ it under the terms of the GNU General Public License as published by
101
+ the Free Software Foundation, either version 3 of the License, or
102
+ (at your option) any later version.
103
+
104
+ This program is distributed in the hope that it will be useful,
105
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
106
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
107
+ GNU General Public License for more details.
108
+
109
+ You should have received a copy of the GNU General Public License
110
+ along with this program. If not, see http://www.gnu.org/licenses/.
111
+
112
+ Lesli · Ruby on Rails SaaS Development Framework.
113
+
114
+ Made with ♥ by LesliTech
115
+ Building a better future, one line of code at a time.
116
+
117
+ @contact hello@lesli.tech
118
+ @website https://www.lesli.tech
119
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
120
+
121
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
122
+ // · --><!-- Copyright --><!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:600px;" width="600" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]--><div style="margin:0px auto;max-width:600px;"><table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%;"><tbody><tr><td style="border-collapse: collapse; direction: ltr; font-size: 0px; mso-table-lspace: 0pt; mso-table-rspace: 0pt; padding: 20px 0; text-align: center;"><!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td class="" style="vertical-align:top;width:600px;" ><![endif]--><div class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;"><table border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; vertical-align: top;" width="100%"><tbody><tr><td align="center" style="border-collapse: collapse; font-size: 0px; mso-table-lspace: 0pt; mso-table-rspace: 0pt; padding: 4px; word-break: break-word;"><div style="font-family:Ubuntu, Helvetica, Arial, sans-serif;font-size:13px;line-height:1;text-align:center;color:#666666;">Copyright &copy; 2025 Lesli</div></td></tr><tr><td align="center" style="border-collapse: collapse; font-size: 0px; mso-table-lspace: 0pt; mso-table-rspace: 0pt; padding: 4px; word-break: break-word;"><div style="font-family:Ubuntu, Helvetica, Arial, sans-serif;font-size:13px;line-height:1;text-align:center;color:#666666;">Guatemala.</div></td></tr><tr><td align="center" style="border-collapse: collapse; font-size: 0px; mso-table-lspace: 0pt; mso-table-rspace: 0pt; padding: 4px; word-break: break-word;"><div style="font-family:Ubuntu, Helvetica, Arial, sans-serif;font-size:13px;line-height:1;text-align:center;color:#666666;">All rights reserved.</div></td></tr><!-- <mj-text align="center" color="#666666" padding="4px" padding-top="20px">The Lesli Team</mj-text> --></tbody></table></div><!--[if mso | IE]></td></tr></table><![endif]--></td></tr></tbody></table></div><!--[if mso | IE]></td></tr></table><![endif]--></div></body></html>
data/config/routes.rb ADDED
@@ -0,0 +1,3 @@
1
+ LesliMailer::Engine.routes.draw do
2
+ Lesli::Routing.mount_routes_for(LesliMailer)
3
+ end
@@ -0,0 +1,5 @@
1
+ class CreateLesliMailerAccounts < ActiveRecord::Migration[7.0]
2
+ def change
3
+ create_table_lesli_shared_account_10(:lesli_mailer)
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class CreateLesliMailerDashboards < ActiveRecord::Migration[7.0]
2
+ def change
3
+ create_table_lesli_shared_dashboards_10(:lesli_mailer)
4
+ end
5
+ end
@@ -0,0 +1,57 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2025, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by LesliTech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+
33
+ module LesliMailer
34
+ class Engine < ::Rails::Engine
35
+ isolate_namespace LesliMailer
36
+
37
+ initializer :lesli_mailer do |app|
38
+
39
+ # register assets manifest
40
+ config.assets.precompile += %w[lesli_mailer_manifest.js]
41
+
42
+ # register engine migrations path
43
+ unless app.root.to_s.match root.to_s
44
+ config.paths["db/migrate"].expanded.each do |expanded_path|
45
+ app.config.paths["db/migrate"] << expanded_path
46
+ end
47
+ end
48
+
49
+ # load mailer previews
50
+ if Rails.env.development?
51
+ ActiveSupport.on_load(:action_mailer) do
52
+ ActionMailer::Base.preview_paths << LesliMailer::Engine.root.join("lib/lesli_mailer_previews")
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,4 @@
1
+ module LesliMailer
2
+ VERSION = "0.1.0"
3
+ BUILD = "1755746829"
4
+ end
@@ -0,0 +1,6 @@
1
+ require "lesli_mailer/version"
2
+ require "lesli_mailer/engine"
3
+
4
+ module LesliMailer
5
+ # Your code goes here...
6
+ end
@@ -0,0 +1,64 @@
1
+ <!--
2
+ Lesli
3
+
4
+ Copyright (c) 2025, Lesli Technologies, S. A.
5
+
6
+ This program is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with this program. If not, see http://www.gnu.org/licenses/.
18
+
19
+ Lesli · Ruby on Rails SaaS Development Framework.
20
+
21
+ Made with ♥ by LesliTech
22
+ Building a better future, one line of code at a time.
23
+
24
+ @contact hello@lesli.tech
25
+ @website https://www.lesli.tech
26
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
27
+
28
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
29
+ // ·
30
+ -->
31
+
32
+
33
+ <!--
34
+ Links to the appstores
35
+ -->
36
+ <mj-section>
37
+ <mj-column>
38
+ <mj-text align="center" font-size="18px" font-weight="600" color="#444444">
39
+ Download our app
40
+ </mj-text>
41
+ <mj-table align="center">
42
+ <tr>
43
+ <td style="text-align: right; padding: 5px;">
44
+ <a target="blank" href="https://apps.apple.com/us/app/lesli/id1595893730">
45
+ <img
46
+ width="130px"
47
+ alt="Appstore badge"
48
+ src="https://cdn.lesli.tech/leslicloud/emails/appstore.png"
49
+ />
50
+ </a>
51
+ </td>
52
+ <td style="text-align: left; padding: 5px;">
53
+ <a target="blank" href="https://apps.apple.com/us/app/lesli/id1595893730">
54
+ <img
55
+ width="130px"
56
+ alt="Playstore badge"
57
+ src="https://cdn.lesli.tech/leslicloud/emails/playstore.png"
58
+ />
59
+ </a>
60
+ </td>
61
+ </tr>
62
+ </mj-table>
63
+ </mj-column>
64
+ </mj-section>
@@ -0,0 +1,43 @@
1
+ <!--
2
+ Lesli
3
+
4
+ Copyright (c) 2025, Lesli Technologies, S. A.
5
+
6
+ This program is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with this program. If not, see http://www.gnu.org/licenses/.
18
+
19
+ Lesli · Ruby on Rails SaaS Development Framework.
20
+
21
+ Made with ♥ by LesliTech
22
+ Building a better future, one line of code at a time.
23
+
24
+ @contact hello@lesli.tech
25
+ @website https://www.lesli.tech
26
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
27
+
28
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
29
+ // ·
30
+ -->
31
+
32
+
33
+ <!--
34
+ Copyright
35
+ -->
36
+ <mj-section>
37
+ <mj-column>
38
+ <mj-text align="center" color="#666666" padding="4px">Copyright &copy; 2025 Lesli</mj-text>
39
+ <mj-text align="center" color="#666666" padding="4px">Guatemala.</mj-text>
40
+ <mj-text align="center" color="#666666" padding="4px">All rights reserved.</mj-text>
41
+ <!-- <mj-text align="center" color="#666666" padding="4px" padding-top="20px">The Lesli Team</mj-text> -->
42
+ </mj-column>
43
+ </mj-section>
@@ -0,0 +1,46 @@
1
+ <!--
2
+ Lesli
3
+
4
+ Copyright (c) 2025, Lesli Technologies, S. A.
5
+
6
+ This program is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with this program. If not, see http://www.gnu.org/licenses/.
18
+
19
+ Lesli · Ruby on Rails SaaS Development Framework.
20
+
21
+ Made with ♥ by LesliTech
22
+ Building a better future, one line of code at a time.
23
+
24
+ @contact hello@lesli.tech
25
+ @website https://www.lesli.tech
26
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
27
+
28
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
29
+ // ·
30
+ -->
31
+
32
+
33
+ <mj-section>
34
+ <mj-column>
35
+ <mj-text>
36
+ <raw>
37
+ <pre><code>
38
+ <%= h JSON.pretty_generate(@app.as_json) %>
39
+ </code></pre>
40
+ <pre><code>
41
+ <%= h JSON.pretty_generate(@params.as_json) %>
42
+ </code></pre>
43
+ </raw>
44
+ </mj-text>
45
+ </mj-column>
46
+ </mj-section>
@@ -0,0 +1,70 @@
1
+ <!--
2
+ Lesli
3
+
4
+ Copyright (c) 2025, Lesli Technologies, S. A.
5
+
6
+ This program is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with this program. If not, see http://www.gnu.org/licenses/.
18
+
19
+ Lesli · Ruby on Rails SaaS Development Framework.
20
+
21
+ Made with ♥ by LesliTech
22
+ Building a better future, one line of code at a time.
23
+
24
+ @contact hello@lesli.tech
25
+ @website https://www.lesli.tech
26
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
27
+
28
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
29
+ // ·
30
+ -->
31
+
32
+ <mjml>
33
+ <mj-include path="../head.mjml" />
34
+ <mj-body mj-class="lesli.body">
35
+
36
+ <!-- Email header -->
37
+ <mj-include path="../header.mjml" />
38
+
39
+
40
+ <mj-text mj-class="lesli.title">
41
+ <h1>Welcome to Lesli</h1>
42
+ </mj-text>
43
+
44
+ <!-- Email content -->
45
+ <mj-section mj-class="lesli.content">
46
+ <mj-column>
47
+
48
+ <mj-text mj-class="lesli.text">
49
+ Please take a moment to validate your email address so that we know it's you.
50
+ </mj-text>
51
+
52
+ <mj-spacer height="10px" />
53
+ <mj-button mj-class="lesli.button-info" href="<%= @params[:url] %>">
54
+ Confirm my account
55
+ </mj-button>
56
+ <mj-spacer height="20px" />
57
+ <mj-spacer height="1px" container-background-color="#95a3ab" />
58
+ <mj-spacer height="20px" />
59
+
60
+ <mj-text mj-class="lesli.text font-14" align="center">
61
+ Please keep in mind that this link is valid for only 3 hours.
62
+ </mj-text>
63
+
64
+ </mj-column>
65
+ </mj-section>
66
+
67
+ <!-- Email footer -->
68
+ <mj-include path="../footer.mjml" />
69
+ </mj-body>
70
+ </mjml>
@@ -0,0 +1,74 @@
1
+ <!--
2
+ Lesli
3
+
4
+ Copyright (c) 2025, Lesli Technologies, S. A.
5
+
6
+ This program is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with this program. If not, see http://www.gnu.org/licenses/.
18
+
19
+ Lesli · Ruby on Rails SaaS Development Framework.
20
+
21
+ Made with ♥ by LesliTech
22
+ Building a better future, one line of code at a time.
23
+
24
+ @contact hello@lesli.tech
25
+ @website https://www.lesli.tech
26
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
27
+
28
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
29
+ // ·
30
+ -->
31
+
32
+ <mjml>
33
+ <mj-include path="../head.mjml" />
34
+ <mj-body mj-class="lesli.body">
35
+
36
+ <!-- Email header -->
37
+ <mj-include path="../header.mjml" />
38
+
39
+
40
+ <mj-text mj-class="lesli.title">
41
+ <h1>Hello <%= @params[:full_name] %></h1>
42
+ </mj-text>
43
+
44
+ <!-- Email content -->
45
+ <mj-section mj-class="lesli.content">
46
+ <mj-column>
47
+
48
+ <mj-text mj-class="lesli.text">
49
+ We've received a request to reset your password.
50
+ </mj-text>
51
+
52
+ <mj-text mj-class="lesli.text">
53
+ If you didn't make the request, please ignore this message. Otherwise, you can reset your password using this link:
54
+ </mj-text>
55
+
56
+ <mj-spacer height="10px" />
57
+ <mj-button mj-class="lesli.button-info" href="<%= @params[:url] %>">
58
+ Click here to reset password
59
+ </mj-button>
60
+ <mj-spacer height="20px" />
61
+ <mj-spacer height="1px" container-background-color="#95a3ab" />
62
+ <mj-spacer height="20px" />
63
+
64
+ <mj-text mj-class="lesli.text font-14" align="center">
65
+ Please keep in mind that this link is valid for only 3 hours.
66
+ </mj-text>
67
+
68
+ </mj-column>
69
+ </mj-section>
70
+
71
+ <!-- Email footer -->
72
+ <mj-include path="../footer.mjml" />
73
+ </mj-body>
74
+ </mjml>
@@ -0,0 +1,79 @@
1
+ <!--
2
+ Lesli
3
+
4
+ Copyright (c) 2025, Lesli Technologies, S. A.
5
+
6
+ This program is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with this program. If not, see http://www.gnu.org/licenses/.
18
+
19
+ Lesli · Ruby on Rails SaaS Development Framework.
20
+
21
+ Made with ♥ by LesliTech
22
+ Building a better future, one line of code at a time.
23
+
24
+ @contact hello@lesli.tech
25
+ @website https://www.lesli.tech
26
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
27
+
28
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
29
+ // ·
30
+ -->
31
+
32
+ <mjml>
33
+ <mj-include path="../head.mjml" />
34
+ <mj-body mj-class="lesli.body">
35
+
36
+ <!-- Email header -->
37
+ <mj-include path="../header.mjml" />
38
+
39
+
40
+ <mj-text mj-class="lesli.title">
41
+ <h1>Welcome to The Lesli Family!</h1>
42
+ </mj-text>
43
+
44
+ <!-- Email content -->
45
+ <mj-section mj-class="lesli.content">
46
+ <mj-column>
47
+ <mj-image
48
+ width="90px"
49
+ src="https://cdn.lesli.tech/leslicloud/emails/celebration.png"
50
+ />
51
+
52
+ <mj-text mj-class="lesli.title">
53
+ <h2>
54
+ <raw><% name = @params.dig(:user).full_name %></raw>
55
+ <raw><%= !name.blank? ? "Hi #{name.strip}." : nil %></raw>
56
+ </h2>
57
+ </mj-text>
58
+
59
+ <mj-spacer height="2px" container-background-color="#95a3ab" />
60
+ <mj-spacer height="5px" />
61
+
62
+ <mj-text mj-class="lesli.text font-18" align="center">
63
+ <p>
64
+ Lesli will help you work with your team on your ideas, projects, and business.
65
+ </p>
66
+ <p>
67
+ We're excited to have you on board!
68
+ </p>
69
+ </mj-text>
70
+ <mj-button mj-class="lesli.button-info" href="<%= @app[:host] %>" font-size="17px">
71
+ Go to your Lesli account
72
+ </mj-button>
73
+ </mj-column>
74
+ </mj-section>
75
+
76
+ <!-- Email footer -->
77
+ <mj-include path="../footer.mjml" />
78
+ </mj-body>
79
+ </mjml>
@@ -0,0 +1,41 @@
1
+ <!--
2
+ Lesli
3
+
4
+ Copyright (c) 2025, Lesli Technologies, S. A.
5
+
6
+ This program is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with this program. If not, see http://www.gnu.org/licenses/.
18
+
19
+ Lesli · Ruby on Rails SaaS Development Framework.
20
+
21
+ Made with ♥ by LesliTech
22
+ Building a better future, one line of code at a time.
23
+
24
+ @contact hello@lesli.tech
25
+ @website https://www.lesli.tech
26
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
27
+
28
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
29
+ // ·
30
+ -->
31
+
32
+
33
+ <!--
34
+ Lesli footer
35
+ -->
36
+
37
+ <!-- <mj-spacer height="30px" /> -->
38
+ <!-- <mj-include path="social.mjml" /> -->
39
+ <!-- <mj-include path="appstore.mjml" /> -->
40
+ <!-- <mj-spacer height="10px" /> -->
41
+ <mj-include path="copy.mjml" />