-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathsignbonga
More file actions
115 lines (105 loc) · 4.06 KB
/
signbonga
File metadata and controls
115 lines (105 loc) · 4.06 KB
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
107
108
109
110
111
112
113
114
115
/** @jsxImportSource https://esm.sh/react */
import { ArrowRight } from "https://esm.sh/lucide-react";
import React from "https://esm.sh/react";
import { createRoot } from "https://esm.sh/react-dom/client";
function App() {
return (
<div className="flex flex-col min-h-screen bg-gradient-to-br from-red-800 via-brown-900 to-green-900">
<header className="p-6 flex justify-between items-center z-30 relative">
<div className="flex items-center">
<img src="https://i.imgur.com/zuoCsSp.png" alt="SignBonga Logo" className="w-16 h-16" />
<span className="ml-3 text-white font-bold text-3xl">SignBonga</span>
</div>
<nav>
<ul className="flex space-x-8 text-white text-lg">
<li className="cursor-pointer hover:text-gray-300 transition-colors">Home</li>
<li className="bg-red-700 px-6 py-2 rounded-full cursor-pointer hover:bg-red-600 transition-colors">
About us
</li>
<li className="cursor-pointer hover:text-gray-300 transition-colors">Learning</li>
</ul>
</nav>
</header>
<main className="flex-grow flex items-center p-8 md:p-16 relative overflow-hidden">
<div className="w-full md:w-1/2 z-20 relative">
<h1 className="text-5xl md:text-6xl font-bold mb-6 leading-tight text-shadow">
<span className="text-black-100">Learn</span>
<span className="text-red-500">Kenyan</span>
<br />
<span className="text-green-400">Sign Language</span>
</h1>
<p className="text-white text-lg md:text-xl mb-10 max-w-md text-shadow">
We are on a mission to break the ice and encourage inclusivity in communication for all. Get to learn the
Kenyan sign language and have those conversations, with everyone.
</p>
<button className="bg-green-500 text-white px-8 py-3 rounded-full flex items-center text-lg md:text-xl font-semibold hover:bg-green-400 transition-colors shadow-lg">
Learn more
<ArrowRight className="ml-3" size={24} />
</button>
</div>
<div className="absolute right-0 top-0 w-full md:w-3/5 h-full z-10 flex items-center justify-end">
<div className="w-full h-full md:w-auto md:h-auto md:max-h-[90%] md:max-w-[90%]">
<img
src="https://i.imgur.com/lGl9rZK.png"
alt="Person using sign language"
className="object-contain w-full h-full"
/>
</div>
</div>
</main>
<footer className="p-6 flex justify-center z-30 relative">
<div className="flex space-x-3">
{[0, 1, 2, 3].map((_, index) => (
<div key={index} className={`w-3 h-3 rounded-full ${index === 2 ? "bg-red-500" : "bg-gray-400"}`}></div>
))}
</div>
</footer>
</div>
);
}
function client() {
createRoot(document.getElementById("root")).render(<App />);
}
if (typeof document !== "undefined") { client(); }
export default async function server(request: Request): Promise<Response> {
return new Response(
`
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SignBonga - Learn Kenyan Sign Language</title>
<script src="https://cdn.tailwindcss.com"></script>
<style>${css}</style>
</head>
<body>
<div id="root"></div>
<script src="https://esm.town/v/std/catch"></script>
<script type="module" src="${import.meta.url}"></script>
</body>
</html>
`,
{
headers: {
"content-type": "text/html",
},
},
);
}
const css = `
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap');
body {
margin: 0;
font-family: 'Poppins', sans-serif;
}
.bg-gradient-to-br {
background-image: linear-gradient(to bottom right, #8B0000, #4A2511, #004D00);
}
.rounded-full {
border-radius: 9999px;
}
.text-shadow {
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
`;