annotate mod_invites_page/html/client.html @ 5401:c8d04ac200fc

mod_http_oauth2: Reject loopback URIs as client_uri This really should be a proper website with info, https://localhost is not good enough. Ideally we'd validate that it's got proper DNS and is actually reachable, but triggering HTTP or even DNS lookups seems like it would carry abuse potential that would best to avoid.
author Kim Alvefur <zash@zash.se>
date Tue, 02 May 2023 16:20:55 +0200
parents 09b8144051ea
children 8cd617c0b701
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4094
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 <!DOCTYPE html>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2 <html>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3 <head>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 <meta charset="utf-8">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 <title>Invite to {site_name}</title>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 <link rel="stylesheet" href="/share/bootstrap4/css/bootstrap.min.css">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 <link rel="manifest" href="/site.webmanifest">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 <meta name="msapplication-TileColor" content="#fbd308">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
14 <meta name="theme-color" content="#fbd308">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15 </head>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16 <body>
4132
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
17 <div id="background" class="fixed-top overflow-hidden"></div>
4094
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
18 <div id="form" class="container col-md-10 col-md-offset-1 col-sm-8 col-sm-offset-2 col-lg-10 col-lg-offset-1 mt-2 mt-md-5">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
19 <div class="card rounded-lg shadow">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20 <h1 class="card-header rounded-lg rounded-lg">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
21 Join {site_name} with {app.name}<br/>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
22 </h1>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
23 <div class="card-body">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
24 <div id="qr-button-container" class="float-right w-25 border border-info p-3 d-none">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
25 <strong>Tip:</strong> You can open this invite
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
26 on your mobile device by scanning a barcode with
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
27 your camera.
4132
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
28 <button id="qr-modal-show" class="mt-2 d-block btn btn-secondary" title="Send this invite to your device"
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
29 data-toggle="modal" data-target="#qr-modal">
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
30 <img src="{static}/qr-logo.png" alt="QR code icon" class="align-middle h-50 mt-1" style="display:inline" >
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
31 Scan with mobile device
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
32 </button>
4094
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
33 </div>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
34
4881
09b8144051ea mod_invites_page: Fix templates including stray inviter name (thanks Menel)
Kim Alvefur <zash@zash.se>
parents: 4132
diff changeset
35 <p>You have been invited to chat {inviter&with {inviter} }on {site_name},
09b8144051ea mod_invites_page: Fix templates including stray inviter name (thanks Menel)
Kim Alvefur <zash@zash.se>
parents: 4132
diff changeset
36 part of the XMPP secure and decentralized messaging network.</p>
4094
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
37
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
38 <p>You can start chatting right away with {app.name}. Let's get started!</p>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
39
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
40 <div class="card m-3 client-card {app.platforms#app-platform-{item|lower|classname} } flex-wrap col-sm-12 col-md-8 col-lg-5">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
41 <div class="row no-gutters h-100">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
42 <div class="col-md-4">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
43 <img src="{app.image|relurl}" class="p-2 img-fluid" alt="{app.imagetext?}">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
44 </div>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
45 <div class="col-md-8 h-100">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
46 <div class="card-body d-flex flex-column h-100">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
47 <h5 class="card-title text-nowrap mb-1">{app.name}</h5>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
48 <div>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
49 {app.platforms#<span class="badge badge-info client-platform-badge client-platform-badge-{item|lower|classname} mr-1 mb-3">{item}</span> }
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
50 </div>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
51 <p class="card-text">{app.text}</p>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
52 <!-- <a href="{app.link}" class="btn btn-primary mt-md-auto">Install</a> -->
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
53 </div>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
54 </div>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
55 </div>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
56 </div>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
57
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
58 <h3 style="clear:both">Step 1: Install {app.name}</h3>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
59
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
60 <p>{app.download.text?Download·and·install·{app.name}·below:}</p>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
61
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
62 <div class="ml-5">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
63 {app.download.buttons#
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
64 {item.image&
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
65 <a href="{item.url}" {item.target&target="{item.target}"} rel="noopener">
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
66 <img src="{item.image}" {item.alttext&alt="{item.alttext}"}>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
67 </a>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
68 }
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
69 {item.text&
4132
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
70 <a href="{item.url}" {item.target&target="{item.target}"} class="btn btn-primary" rel="noopener">
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
71 {item.text}
4094
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
72 </a>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
73 }
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
74 }
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
75 </div>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
76
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
77 <p class="mt-3">After successfully installing {app.name}, come back to this page and <strong>continue with Step 2</strong>.</p>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
78
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
79 <h3>Step 2: Activate your account</h3>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
80
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
81 <p>Installed ok? Great! <strong>Click or tap the button below</strong> to accept your invite and continue with your account setup:</p>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
82
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
83 <div>
4132
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
84 <a href="{uri}" id="uri-cta" class="btn btn-primary ml-5 mt-1 mb-3">Accept invite using {app.name}</a><br/>
4094
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
85 </div>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
86
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
87 <p>After clicking the button you will be taken to {app.name} to finish setting up your new {site_name} account.</p>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
88 </div>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
89 </div>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
90 </div>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
91
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
92 <div class="modal" tabindex="-1" role="dialog" id="qr-modal">
4132
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
93 <div class="modal-dialog" role="document">
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
94 <div class="modal-content">
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
95 <div class="modal-header">
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
96 <h5 class="modal-title">Scan invite code</h5>
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
97 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
98 <span aria-hidden="true">&times;</span>
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
99 </button>
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
100 </div>
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
101 <div class="modal-body">
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
102 <p>You can transfer this invite to your mobile device by scanning a code with your camera.</p>
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
103 <div id="qr-info-url" class="tab-pane show active">
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
104 <p>Use a <em>QR code</em> scanner on your mobile device to scan the code below:</p>
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
105 <div id="qr-invite-page" class="w-50 p-1 mx-auto"></div>
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
106 </div>
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
107 </div>
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
108 <div class="modal-footer">
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
109 <button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
110 </div>
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
111 </div>
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
112 </div>
4094
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
113 </div>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
114
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
115 <script src="/share/jquery/jquery.min.js"></script>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
116 <script src="/share/bootstrap4/js/bootstrap.min.js"></script>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
117 <script src="{static}/qrcode.min.js"></script>
4132
36795f773faf mod_invites_page: Apply fixes from invite page to client URI page
Matthew Wild <mwild1@gmail.com>
parents: 4094
diff changeset
118 <script>
4094
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
119 $(function () {
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
120 // If QR lib loaded ok, show QR button on desktop devices
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
121 if(window.QRCode) {
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
122 $('#qr-modal').one('show.bs.modal', function (e) {
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
123 new QRCode(document.getElementById("qr-invite-page"), document.location.href);
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
124 });
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
125 $('#qr-button-container').addClass("d-md-block");
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
126 }
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
127 });
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
128 </script>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
129 </body>
dd00a2b9927c mod_invites_page: New module to generate landing page for invites
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
130 </html>