summaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2016-02-08 07:26:10 -0500
committerChristopher Speller <crspeller@gmail.com>2016-03-14 00:38:25 -0400
commitd7cdcf082fab6c0cb7c2fe4bed821bd1a8000e69 (patch)
tree49a0de30cdc2ac461e72a242ae9a5593fcd6c8b9 /templates
parent08f0800adef926e8b69ebea70e4995b89f5c3f3c (diff)
downloadchat-d7cdcf082fab6c0cb7c2fe4bed821bd1a8000e69.tar.gz
chat-d7cdcf082fab6c0cb7c2fe4bed821bd1a8000e69.tar.bz2
chat-d7cdcf082fab6c0cb7c2fe4bed821bd1a8000e69.zip
Convering client to react-router.
Diffstat (limited to 'templates')
-rw-r--r--templates/authorize.html12
-rw-r--r--templates/email_change_body.html41
-rw-r--r--templates/email_change_subject.html1
-rw-r--r--templates/email_change_verify_body.html44
-rw-r--r--templates/email_change_verify_subject.html1
-rw-r--r--templates/email_footer.html13
-rw-r--r--templates/email_info.html7
-rw-r--r--templates/error.html24
-rw-r--r--templates/head.html92
-rw-r--r--templates/invite_body.html46
-rw-r--r--templates/invite_subject.html1
-rw-r--r--templates/password_change_body.html43
-rw-r--r--templates/password_change_subject.html1
-rw-r--r--templates/post_body.html45
-rw-r--r--templates/post_subject.html1
-rw-r--r--templates/reset_body.html46
-rw-r--r--templates/reset_subject.html1
-rw-r--r--templates/root.html12
-rw-r--r--templates/signin_change_body.html43
-rw-r--r--templates/signin_change_subject.html1
-rw-r--r--templates/signup_team_body.html44
-rw-r--r--templates/signup_team_subject.html1
-rw-r--r--templates/verify_body.html44
-rw-r--r--templates/verify_subject.html1
-rw-r--r--templates/welcome_body.html51
-rw-r--r--templates/welcome_subject.html1
26 files changed, 617 insertions, 0 deletions
diff --git a/templates/authorize.html b/templates/authorize.html
new file mode 100644
index 000000000..0fa36b0ab
--- /dev/null
+++ b/templates/authorize.html
@@ -0,0 +1,12 @@
+{{define "authorize"}}
+<html>
+{{template "head" . }}
+<body>
+ <div id="authorize">
+ </div>
+ <script>
+ window.setup_authorize_page({{.Props}});
+ </script>
+</body>
+</html>
+{{end}}
diff --git a/templates/email_change_body.html b/templates/email_change_body.html
new file mode 100644
index 000000000..41b1bcd7d
--- /dev/null
+++ b/templates/email_change_body.html
@@ -0,0 +1,41 @@
+{{define "email_change_body"}}
+
+<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="margin-top: 20px; line-height: 1.7; color: #555;">
+ <tr>
+ <td>
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 660px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; background: #FFF;">
+ <tr>
+ <td style="border: 1px solid #ddd;">
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse;">
+ <tr>
+ <td style="padding: 20px 20px 10px; text-align:left;">
+ <img src="{{.Props.SiteURL}}/static/images/logo-email.png" width="130px" style="opacity: 0.5" alt="">
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table border="0" cellpadding="0" cellspacing="0" style="padding: 20px 50px 0; text-align: center; margin: 0 auto">
+ <tr>
+ <td style="border-bottom: 1px solid #ddd; padding: 0 0 20px;">
+ <h2 style="font-weight: normal; margin-top: 10px;">{{.Props.Title}}</h2>
+ <p>{{.Html.Info}}</p>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_info" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_footer" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+
+{{end}}
diff --git a/templates/email_change_subject.html b/templates/email_change_subject.html
new file mode 100644
index 000000000..540bc6eab
--- /dev/null
+++ b/templates/email_change_subject.html
@@ -0,0 +1 @@
+{{define "email_change_subject"}}[{{.Props.SiteName}}] {{.Props.Subject}}{{end}}
diff --git a/templates/email_change_verify_body.html b/templates/email_change_verify_body.html
new file mode 100644
index 000000000..0d0c0aaba
--- /dev/null
+++ b/templates/email_change_verify_body.html
@@ -0,0 +1,44 @@
+{{define "email_change_verify_body"}}
+
+<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="margin-top: 20px; line-height: 1.7; color: #555;">
+ <tr>
+ <td>
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 660px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; background: #FFF;">
+ <tr>
+ <td style="border: 1px solid #ddd;">
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse;">
+ <tr>
+ <td style="padding: 20px 20px 10px; text-align:left;">
+ <img src="{{.Props.SiteURL}}/static/images/logo-email.png" width="130px" style="opacity: 0.5" alt="">
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table border="0" cellpadding="0" cellspacing="0" style="padding: 20px 50px 0; text-align: center; margin: 0 auto">
+ <tr>
+ <td style="border-bottom: 1px solid #ddd; padding: 0 0 20px;">
+ <h2 style="font-weight: normal; margin-top: 10px;">{{.Props.Title}}</h2>
+ <p>{{.Props.Info}}</p>
+ <p style="margin: 20px 0 15px">
+ <a href="{{.Props.VerifyUrl}}" style="background: #2389D7; border-radius: 3px; color: #fff; border: none; outline: none; min-width: 200px; padding: 15px 25px; font-size: 14px; font-family: inherit; cursor: pointer; -webkit-appearance: none;text-decoration: none;">{{.Props.VerifyButton}}</a>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_info" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_footer" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+
+{{end}}
diff --git a/templates/email_change_verify_subject.html b/templates/email_change_verify_subject.html
new file mode 100644
index 000000000..04da7593c
--- /dev/null
+++ b/templates/email_change_verify_subject.html
@@ -0,0 +1 @@
+{{define "email_change_verify_subject"}}[{{.Props.SiteName}}] {{.Props.Subject}}{{end}}
diff --git a/templates/email_footer.html b/templates/email_footer.html
new file mode 100644
index 000000000..6dc7fa483
--- /dev/null
+++ b/templates/email_footer.html
@@ -0,0 +1,13 @@
+{{define "email_footer"}}
+
+<td style="text-align: center;color: #AAA; font-size: 11px; padding-bottom: 10px;">
+ <p style="margin: 25px 0;">
+ <img width="65" src="{{.Props.SiteURL}}/static/images/circles.png" alt="">
+ </p>
+ <p style="padding: 0 50px;">
+ (c) 2015 Mattermost, Inc. 855 El Camino Real, 13A-168, Palo Alto, CA, 94301.<br>
+ {{.Props.Footer}}
+ </p>
+</td>
+
+{{end}}
diff --git a/templates/email_info.html b/templates/email_info.html
new file mode 100644
index 000000000..0a34f18a0
--- /dev/null
+++ b/templates/email_info.html
@@ -0,0 +1,7 @@
+{{define "email_info"}}
+
+<td style="color: #999; padding-top: 20px; line-height: 25px; font-size: 13px;">
+ {{.Html.EmailInfo}}
+</td>
+
+{{end}}
diff --git a/templates/error.html b/templates/error.html
new file mode 100644
index 000000000..b86039ca3
--- /dev/null
+++ b/templates/error.html
@@ -0,0 +1,24 @@
+{{define "error"}}
+<!DOCTYPE html>
+<html>
+{{template "head" . }}
+<body class="white error">
+ <div class="container-fluid">
+ <div class="error__container">
+ <div class="error__icon">
+ <i class="fa fa-exclamation-triangle"/>
+ </div>
+ <h2>{{.Props.Title}}</h2>
+ <p>{{ .Props.Message }}</p>
+ <a href="{{.Props.SiteURL}}">{{.Props.Link}}</a>
+ </div>
+ </div>
+</body>
+<script>
+var details = {{ .Props.Details }};
+if (details.length > 0) {
+ console.log("error details: " + details);
+}
+</script>
+</html>
+{{end}}
diff --git a/templates/head.html b/templates/head.html
new file mode 100644
index 000000000..a7eacc85f
--- /dev/null
+++ b/templates/head.html
@@ -0,0 +1,92 @@
+{{define "head"}}
+<head>
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <meta name="robots" content="noindex, nofollow">
+ <meta name="referrer" content="no-referrer">
+
+ <title>{{ .Props.Title }}</title>
+
+ <!-- iOS add to homescreen -->
+ <meta name="apple-mobile-web-app-capable" content="yes" />
+ <meta name="apple-mobile-web-app-status-bar-style" content="default">
+ <meta name="mobile-web-app-capable" content="yes" />
+ <meta name="apple-mobile-web-app-title" content="{{ .Props.Title }}">
+ <meta name="application-name" content="{{ .Props.Title }}">
+ <meta name="format-detection" content="telephone=no">
+ <!-- iOS add to homescreen -->
+
+ <!-- Android add to homescreen -->
+ <link rel="apple-touch-icon" sizes="57x57" href="/static/images/favicon/apple-touch-icon-57x57.png">
+ <link rel="apple-touch-icon" sizes="60x60" href="/static/images/favicon/apple-touch-icon-60x60.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="/static/images/favicon/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="76x76" href="/static/images/favicon/apple-touch-icon-76x76.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="/static/images/favicon/apple-touch-icon-114x114.png">
+ <link rel="apple-touch-icon" sizes="120x120" href="/static/images/favicon/apple-touch-icon-120x120.png">
+ <link rel="apple-touch-icon" sizes="144x144" href="/static/images/favicon/apple-touch-icon-144x144.png">
+ <link rel="apple-touch-icon" sizes="152x152" href="/static/images/favicon/apple-touch-icon-152x152.png">
+ <link rel="apple-touch-icon" sizes="180x180" href="/static/images/favicon/apple-touch-icon-180x180.png">
+ <link rel="icon" type="image/png" sizes="32x32" href="/static/images/favicon/favicon-32x32.png">
+ <link rel="icon" type="image/png" sizes="192x192" href="/static/images/favicon/android-chrome-192x192.png">
+ <link rel="icon" type="image/png" sizes="96x96" href="/static/images/favicon/favicon-96x96.png">
+ <link rel="icon" type="image/png" sizes="16x16" href="/static/images/favicon/favicon-16x16.png">
+ <link rel="manifest" href="/static/config/manifest.json">
+ <!-- Android add to homescreen -->
+
+ <!-- CSS Should always go first -->
+ <link rel="stylesheet" href="/static/css/bootstrap-3.3.5.min.css">
+ <link rel="stylesheet" href="/static/css/jasny-bootstrap.min.css">
+ <link rel="stylesheet" href="/static/css/bootstrap-colorpicker.min.css">
+ <link rel="stylesheet" href="/static/css/styles.css">
+ <link rel="stylesheet" href="/static/css/google-fonts.css">
+ <link rel="stylesheet" href="/static/css/katex.min.css">
+ <link rel="stylesheet" class="code_theme" href="">
+
+ <script src="/static/js/intl-1.0.0/Intl.js"></script>
+ <script src="/static/js/intl-1.0.0/locale-data/jsonp/en.js"></script>
+ <script src="/static/js/intl-1.0.0/locale-data/jsonp/es.js"></script>
+ <script src="/static/js/intl-1.0.0/locale-data/jsonp/pt.js"></script>
+
+ <script src="/static/js/react-0.14.3.js"></script>
+ <script src="/static/js/react-dom-0.14.3.js"></script>
+ <script src="/static/js/react-intl-2.0.0-beta-2/react-intl.js"></script>
+ <script src="/static/js/react-intl-2.0.0-beta-2/locale-data/en.js"></script>
+ <script src="/static/js/react-intl-2.0.0-beta-2/locale-data/es.js"></script>
+ <script src="/static/js/react-intl-2.0.0-beta-2/locale-data/pt.js"></script>
+ <script src="/static/js/jquery-2.1.4.js"></script>
+ <script src="/static/js/bootstrap-3.3.5.js"></script>
+ <script src="/static/js/bootstrap-colorpicker.min.js"></script>
+ <script src="/static/js/react-bootstrap-0.28.1.js"></script>
+ <script src="/static/js/velocity.min.js"></script>
+ <script src="/static/js/perfect-scrollbar-0.6.7.jquery.min.js"></script>
+ <script src="/static/js/jquery-dragster/jquery.dragster.js"></script>
+ <script src="/static/js/babel-polyfill-6.1.18.min.js"></script>
+ <script src="/static/js/katex.min.js"></script>
+ <script src="/static/js/Chart.min.js"></script>
+
+ <style id="antiClickjack">body{display:none !important;}</style>
+
+ <script>
+ if ('ReactIntl' in window && 'ReactIntlLocaleData' in window) {
+ Object.keys(ReactIntlLocaleData).forEach(function(lang) {
+ ReactIntl.addLocaleData(ReactIntlLocaleData[lang]);
+ });
+ }
+
+ $(window).on('beforeunload', function(){
+ if (window.SocketStore) {
+ SocketStore.close();
+ }
+ });
+ </script>
+
+ <script src="/static/js/libs.min.js"></script>
+ <script src="/static/js/bundle.js"></script>
+
+ <script type="text/javascript">
+ if (self === top) {
+ var blocker = document.getElementById("antiClickjack");
+ blocker.parentNode.removeChild(blocker);
+ }
+ </script>
+</head>
+{{end}}
diff --git a/templates/invite_body.html b/templates/invite_body.html
new file mode 100644
index 000000000..2b6bde6d3
--- /dev/null
+++ b/templates/invite_body.html
@@ -0,0 +1,46 @@
+{{define "invite_body"}}
+
+<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="margin-top: 20px; line-height: 1.7; color: #555;">
+ <tr>
+ <td>
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 660px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; background: #FFF;">
+ <tr>
+ <td style="border: 1px solid #ddd;">
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse;">
+ <tr>
+ <td style="padding: 20px 20px 10px; text-align:left;">
+ <img src="{{.Props.SiteURL}}/static/images/logo-email.png" width="130px" style="opacity: 0.5" alt="">
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table border="0" cellpadding="0" cellspacing="0" style="padding: 20px 50px 0; text-align: center; margin: 0 auto">
+ <tr>
+ <td style="border-bottom: 1px solid #ddd; padding: 0 0 20px;">
+ <h2 style="font-weight: normal; margin-top: 10px;">{{.Props.Title}}</h2>
+ <p>{{.Html.Info}}</p>
+ <p style="margin: 30px 0 15px">
+ <a href="{{.Props.Link}}" style="background: #2389D7; border-radius: 3px; color: #fff; border: none; outline: none; min-width: 200px; padding: 15px 25px; font-size: 14px; font-family: inherit; cursor: pointer; -webkit-appearance: none;text-decoration: none;">{{.Props.Button}}</a>
+ </p>
+ <br/>
+ <p>{{.Html.ExtraInfo}}</p>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_info" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_footer" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+
+{{end}}
diff --git a/templates/invite_subject.html b/templates/invite_subject.html
new file mode 100644
index 000000000..504915d50
--- /dev/null
+++ b/templates/invite_subject.html
@@ -0,0 +1 @@
+{{define "invite_subject"}}{{.Props.Subject}}{{end}}
diff --git a/templates/password_change_body.html b/templates/password_change_body.html
new file mode 100644
index 000000000..2c4ba10ca
--- /dev/null
+++ b/templates/password_change_body.html
@@ -0,0 +1,43 @@
+{{define "password_change_body"}}
+
+<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="margin-top: 20px; line-height: 1.7; color: #555;">
+ <tr>
+ <td>
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 660px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; background: #FFF;">
+ <tr>
+ <td style="border: 1px solid #ddd;">
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse;">
+ <tr>
+ <td style="padding: 20px 20px 10px; text-align:left;">
+ <img src="{{.Props.SiteURL}}/static/images/logo-email.png" width="130px" style="opacity: 0.5" alt="">
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table border="0" cellpadding="0" cellspacing="0" style="padding: 20px 50px 0; text-align: center; margin: 0 auto">
+ <tr>
+ <td style="border-bottom: 1px solid #ddd; padding: 0 0 20px;">
+ <h2 style="font-weight: normal; margin-top: 10px;">{{.Props.Title}}</h2>
+ <p>{{.Html.Info}}</p>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_info" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_footer" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+
+{{end}}
+
+
diff --git a/templates/password_change_subject.html b/templates/password_change_subject.html
new file mode 100644
index 000000000..897f1210d
--- /dev/null
+++ b/templates/password_change_subject.html
@@ -0,0 +1 @@
+{{define "password_change_subject"}}{{.Props.Subject}}{{end}}
diff --git a/templates/post_body.html b/templates/post_body.html
new file mode 100644
index 000000000..54f34d1dd
--- /dev/null
+++ b/templates/post_body.html
@@ -0,0 +1,45 @@
+{{define "post_body"}}
+
+<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="margin-top: 20px; line-height: 1.7; color: #555;">
+ <tr>
+ <td>
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 660px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; background: #FFF;">
+ <tr>
+ <td style="border: 1px solid #ddd;">
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse;">
+ <tr>
+ <td style="padding: 20px 20px 10px; text-align:left;">
+ <img src="{{.Props.SiteURL}}/static/images/logo-email.png" width="130px" style="opacity: 0.5" alt="">
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table border="0" cellpadding="0" cellspacing="0" style="padding: 20px 50px 0; text-align: center; margin: 0 auto">
+ <tr>
+ <td style="border-bottom: 1px solid #ddd; padding: 0 0 20px;">
+ <h2 style="font-weight: normal; margin-top: 10px;">{{.Props.BodyText}}</h2>
+ <p>{{.Html.Info}}<br><pre style="text-align:left;font-family: 'Lato', sans-serif; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">{{.Props.PostMessage}}</pre></p>
+ <p style="margin: 20px 0 15px">
+ <a href="{{.Props.TeamLink}}" style="background: #2389D7; display: inline-block; border-radius: 3px; color: #fff; border: none; outline: none; min-width: 170px; padding: 15px 25px; font-size: 14px; font-family: inherit; cursor: pointer; -webkit-appearance: none;text-decoration: none;">{{.Props.Button}}</a>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_info" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_footer" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+
+{{end}}
+
diff --git a/templates/post_subject.html b/templates/post_subject.html
new file mode 100644
index 000000000..9789d4142
--- /dev/null
+++ b/templates/post_subject.html
@@ -0,0 +1 @@
+{{define "post_subject"}}[{{.Props.SiteName}}] {{.Props.Subject}}{{end}}
diff --git a/templates/reset_body.html b/templates/reset_body.html
new file mode 100644
index 000000000..69cd44957
--- /dev/null
+++ b/templates/reset_body.html
@@ -0,0 +1,46 @@
+{{define "reset_body"}}
+
+<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="margin-top: 20px; line-height: 1.7; color: #555;">
+ <tr>
+ <td>
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 660px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; background: #FFF;">
+ <tr>
+ <td style="border: 1px solid #ddd;">
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse;">
+ <tr>
+ <td style="padding: 20px 20px 10px; text-align:left;">
+ <img src="{{.Props.SiteURL}}/static/images/logo-email.png" width="130px" style="opacity: 0.5" alt="">
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table border="0" cellpadding="0" cellspacing="0" style="padding: 20px 50px 0; text-align: center; margin: 0 auto">
+ <tr>
+ <td style="border-bottom: 1px solid #ddd; padding: 0 0 20px;">
+ <h2 style="font-weight: normal; margin-top: 10px;">{{.Props.Title}}</h2>
+ <p>{{.Html.Info}}</p>
+ <p style="margin: 20px 0 15px">
+ <a href="{{.Props.ResetUrl}}" style="background: #2389D7; border-radius: 3px; color: #fff; border: none; outline: none; min-width: 200px; padding: 15px 25px; font-size: 14px; font-family: inherit; cursor: pointer; -webkit-appearance: none;text-decoration: none;">{{.Props.Button}}</a>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_info" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_footer" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+
+{{end}}
+
+
diff --git a/templates/reset_subject.html b/templates/reset_subject.html
new file mode 100644
index 000000000..a2852d332
--- /dev/null
+++ b/templates/reset_subject.html
@@ -0,0 +1 @@
+{{define "reset_subject"}}{{.Props.Subject}}{{end}}
diff --git a/templates/root.html b/templates/root.html
new file mode 100644
index 000000000..560c7a4b0
--- /dev/null
+++ b/templates/root.html
@@ -0,0 +1,12 @@
+{{define "root"}}
+<!DOCTYPE html>
+<html>
+{{template "head" . }}
+<body>
+ <div id='root'/>
+ <script>
+ window.setup_root();
+ </script>
+</body>
+</html>
+{{end}}
diff --git a/templates/signin_change_body.html b/templates/signin_change_body.html
new file mode 100644
index 000000000..af8577f0f
--- /dev/null
+++ b/templates/signin_change_body.html
@@ -0,0 +1,43 @@
+{{define "signin_change_body"}}
+
+<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="margin-top: 20px; line-height: 1.7; color: #555;">
+ <tr>
+ <td>
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 660px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; background: #FFF;">
+ <tr>
+ <td style="border: 1px solid #ddd;">
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse;">
+ <tr>
+ <td style="padding: 20px 20px 10px; text-align:left;">
+ <img src="{{.Props.SiteURL}}/static/images/logo-email.png" width="130px" style="opacity: 0.5" alt="">
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table border="0" cellpadding="0" cellspacing="0" style="padding: 20px 50px 0; text-align: center; margin: 0 auto">
+ <tr>
+ <td style="border-bottom: 1px solid #ddd; padding: 0 0 20px;">
+ <h2 style="font-weight: normal; margin-top: 10px;">{{.Props.Title}}</h2>
+ <p>{{.Html.Info}}</p>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_info" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_footer" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+
+{{end}}
+
+
diff --git a/templates/signin_change_subject.html b/templates/signin_change_subject.html
new file mode 100644
index 000000000..606dc4df3
--- /dev/null
+++ b/templates/signin_change_subject.html
@@ -0,0 +1 @@
+{{define "signin_change_subject"}}{{.Props.Subject}}{{end}}
diff --git a/templates/signup_team_body.html b/templates/signup_team_body.html
new file mode 100644
index 000000000..683a9891e
--- /dev/null
+++ b/templates/signup_team_body.html
@@ -0,0 +1,44 @@
+{{define "signup_team_body"}}
+
+<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="margin-top: 20px; line-height: 1.7; color: #555;">
+ <tr>
+ <td>
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 660px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; background: #FFF;">
+ <tr>
+ <td style="border: 1px solid #ddd;">
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse;">
+ <tr>
+ <td style="padding: 20px 20px 10px; text-align:left;">
+ <img src="{{.Props.SiteURL}}/static/images/logo-email.png" width="130px" style="opacity: 0.5" alt="">
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table border="0" cellpadding="0" cellspacing="0" style="padding: 20px 50px 0; text-align: center; margin: 0 auto">
+ <tr>
+ <td style="border-bottom: 1px solid #ddd; padding: 0 0 20px;">
+ <h2 style="font-weight: normal; margin-top: 10px;">{{.Props.Title}}</h2>
+ <p style="margin: 20px 0 25px">
+ <a href="{{.Props.Link}}" style="background: #2389D7; border-radius: 3px; color: #fff; border: none; outline: none; min-width: 200px; padding: 15px 25px; font-size: 14px; font-family: inherit; cursor: pointer; -webkit-appearance: none;text-decoration: none;">{{.Props.Button}}</a>
+ </p>
+ {{.Html.Info}}<br></p>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_info" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_footer" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+
+{{end}}
diff --git a/templates/signup_team_subject.html b/templates/signup_team_subject.html
new file mode 100644
index 000000000..413a5c8c1
--- /dev/null
+++ b/templates/signup_team_subject.html
@@ -0,0 +1 @@
+{{define "signup_team_subject"}}{{.Props.Subject}}{{end}} \ No newline at end of file
diff --git a/templates/verify_body.html b/templates/verify_body.html
new file mode 100644
index 000000000..2b0d25f94
--- /dev/null
+++ b/templates/verify_body.html
@@ -0,0 +1,44 @@
+{{define "verify_body"}}
+
+<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="margin-top: 20px; line-height: 1.7; color: #555;">
+ <tr>
+ <td>
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 660px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; background: #FFF;">
+ <tr>
+ <td style="border: 1px solid #ddd;">
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse;">
+ <tr>
+ <td style="padding: 20px 20px 10px; text-align:left;">
+ <img src="{{.Props.SiteURL}}/static/images/logo-email.png" width="130px" style="opacity: 0.5" alt="">
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table border="0" cellpadding="0" cellspacing="0" style="padding: 20px 50px 0; text-align: center; margin: 0 auto">
+ <tr>
+ <td style="border-bottom: 1px solid #ddd; padding: 0 0 20px;">
+ <h2 style="font-weight: normal; margin-top: 10px;">{{.Props.Title}}</h2>
+ <p>{{.Props.Info}}</p>
+ <p style="margin: 20px 0 15px">
+ <a href="{{.Props.VerifyUrl}}" style="background: #2389D7; border-radius: 3px; color: #fff; border: none; outline: none; min-width: 200px; padding: 15px 25px; font-size: 14px; font-family: inherit; cursor: pointer; -webkit-appearance: none;text-decoration: none;">{{.Props.Button}}</a>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_info" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_footer" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+
+{{end}}
diff --git a/templates/verify_subject.html b/templates/verify_subject.html
new file mode 100644
index 000000000..ad7fc2aaa
--- /dev/null
+++ b/templates/verify_subject.html
@@ -0,0 +1 @@
+{{define "verify_subject"}}{{.Props.Subject}}{{end}}
diff --git a/templates/welcome_body.html b/templates/welcome_body.html
new file mode 100644
index 000000000..b5ca9beb3
--- /dev/null
+++ b/templates/welcome_body.html
@@ -0,0 +1,51 @@
+{{define "welcome_body"}}
+
+<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="margin-top: 20px; line-height: 1.7; color: #555;">
+ <tr>
+ <td>
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 660px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; background: #FFF;">
+ <tr>
+ <td style="border: 1px solid #ddd;">
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse;">
+ <tr>
+ <td style="padding: 20px 20px 10px; text-align:left;">
+ <img src="{{.Props.SiteURL}}/static/images/logo-email.png" width="130px" style="opacity: 0.5" alt="">
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table border="0" cellpadding="0" cellspacing="0" style="padding: 20px 50px 0; text-align: center; margin: 0 auto">
+ {{if .Props.VerifyUrl }}
+ <tr>
+ <td style="border-bottom: 1px solid #ddd; padding: 0 0 20px;">
+ <h2 style="font-weight: normal; margin-top: 10px;">{{.Props.Title}}</h2>
+ <p>{{.Props.Info}}</p>
+ <p style="margin: 20px 0 15px">
+ <a href="{{.Props.VerifyUrl}}" style="background: #2389D7; border-radius: 3px; color: #fff; border: none; outline: none; min-width: 200px; padding: 15px 25px; font-size: 14px; font-family: inherit; cursor: pointer; -webkit-appearance: none;text-decoration: none;">{{.Props.Button}}</a>
+ </p>
+ </td>
+ </tr>
+ {{end}}
+ <tr>
+ <td style="border-bottom: 1px solid #ddd; padding: 0 0 20px;">
+ <h2 style="font-weight: normal; margin-top: 25px; line-height: 1.5;">{{.Props.Info2}}</h2>
+ <a href="{{.Props.TeamURL}}">{{.Props.TeamURL}}</a>
+ <p>{{.Props.Info3}}</p>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ {{template "email_footer" . }}
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+
+{{end}}
+
diff --git a/templates/welcome_subject.html b/templates/welcome_subject.html
new file mode 100644
index 000000000..95189b900
--- /dev/null
+++ b/templates/welcome_subject.html
@@ -0,0 +1 @@
+{{define "welcome_subject"}}{{.Props.Subject}}{{end}}