-
Notifications
You must be signed in to change notification settings - Fork 0
/
invite-url.html
106 lines (104 loc) · 5.2 KB
/
invite-url.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<meta name="description" content=""/>
<meta name="author" content=""/>
<title>DappyKit Invite URL</title>
<!-- Favicon-->
<link rel="icon" type="image/x-icon" href="assets/favicon.ico"/>
<!-- Custom Google font-->
<link rel="preconnect" href="https://fonts.googleapis.com"/>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@100;200;300;400;500;600;700;800;900&display=swap"
rel="stylesheet"/>
<!-- Bootstrap icons-->
<link href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css" rel="stylesheet"/>
<!-- Core theme CSS (includes Bootstrap)-->
<link href="css/styles.css" rel="stylesheet"/>
<style>
.invite-container { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
</style>
</head>
<body class="d-flex flex-column h-100">
<main class="flex-shrink-0">
<!-- Navigation-->
<nav class="navbar navbar-expand-lg navbar-light bg-white py-3">
<div class="container px-5">
<a class="navbar-brand" href="index.html"><span class="fw-bolder text-primary">Home</span></a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent"
aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span>
</button>
<!-- <div class="collapse navbar-collapse" id="navbarSupportedContent">-->
<!-- <ul class="navbar-nav ms-auto mb-2 mb-lg-0 small fw-bolder">-->
<!-- <li class="nav-item"><a class="nav-link" href="index.html">Home</a></li>-->
<!-- <li class="nav-item"><a class="nav-link" href="resume.html">Resume</a></li>-->
<!-- <li class="nav-item"><a class="nav-link" href="projects.html">Projects</a></li>-->
<!-- <li class="nav-item"><a class="nav-link" href="contact.html">Contact</a></li>-->
<!-- </ul>-->
<!-- </div>-->
</div>
</nav>
<!-- Header-->
<header class="py-5">
<div class="container px-5 pb-5">
<div class="row gx-5 align-items-center">
<div class="col-xxl-5">
<!-- Header text content-->
<div class="text-center text-xxl-start">
<p>Enter your Email address to get invitation URL</p>
<form id="inviteForm">
<div class="mb-3">
<input type="email" class="form-control" id="userEmail" placeholder="Enter your email" required>
</div>
<div class="d-grid gap-3 d-sm-flex justify-content-sm-center justify-content-xxl-start mb-3">
<button type="submit" class="btn btn-primary btn-lg px-5 py-3 me-sm-3 fs-6 fw-bolder">
Get Invite URL
</button>
</div>
</form>
<p id="inviteText" style="display: none;" class="invite-container">Visit the website <a href="https://hack.dappykit.org/">https://hack.dappykit.org/</a> to get a unique link for inviting developers.</p>
</div>
</div>
</div>
</div>
</header>
</main>
<!-- Footer-->
<footer class="bg-white py-4 mt-auto">
<div class="container px-5">
<div class="row align-items-center justify-content-between flex-column flex-sm-row">
<div class="col-auto">
</div>
<div class="col-auto">
</div>
</div>
</div>
</footer>
<!-- Bootstrap core JS-->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
<!-- Core theme JS-->
<script src="js/scripts.js"></script>
<script>
document.getElementById('inviteForm').addEventListener('submit', async function(event) {
event.preventDefault();
var email = document.getElementById('userEmail').value;
if (email) {
var hashedEmail = await sha256(email.trim().toLocaleLowerCase());
const resultUrl = `https://hack.dappykit.org/?uid=${hashedEmail}`;
document.getElementById('inviteText').innerHTML = `Your invitation URL: <br/><a href="${resultUrl}" target="_blank">${resultUrl}</a>`;
document.getElementById('inviteText').style.display = 'block';
}
});
async function sha256(message) {
const msgBuffer = new TextEncoder().encode(message);
const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer);
const hashArray = Array.from(new Uint8Array(hashBuffer));
const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
return hashHex;
}
</script>
</body>
</html>