index.tsx 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. import Head from "@docusaurus/Head";
  2. import { FooterRedditIcon as RedditIcon } from "@site/src/refine-theme/icons/footer-reddit";
  3. import { BlogFooter } from "@site/src/refine-theme/blog-footer";
  4. import { CommonHeader } from "@site/src/refine-theme/common-header";
  5. import { CommonLayout } from "@site/src/refine-theme/common-layout";
  6. import { Istanbul500Icon } from "@site/src/refine-theme/icons/500";
  7. import { GithubIcon } from "@site/src/refine-theme/icons/github";
  8. import { JoinUsIcon } from "@site/src/refine-theme/icons/join-us";
  9. import { MailIcon } from "@site/src/refine-theme/icons/mail";
  10. import { MarkerIcon } from "@site/src/refine-theme/icons/marker";
  11. import { OpenSourceIcon } from "@site/src/refine-theme/icons/open-source";
  12. import { DiscordIcon, TwitterIcon } from "@site/src/refine-theme/icons/popover";
  13. import Link from "@docusaurus/Link";
  14. import clsx from "clsx";
  15. import React from "react";
  16. import { backedBy } from "../../assets/backed-by";
  17. import { team } from "../../assets/team";
  18. import { useColorMode } from "@docusaurus/theme-common";
  19. import { YCombinatorCircleIcon } from "@site/src/refine-theme/icons/ycombinator-circle";
  20. import { CommonThemedImage } from "@site/src/refine-theme/common-themed-image";
  21. const About: React.FC = () => {
  22. const { colorMode } = useColorMode();
  23. return (
  24. <>
  25. <Head title="About | OpenPanel Project">
  26. <html data-page="about" data-customized="true" />
  27. </Head>
  28. <div className="refine-prose">
  29. <CommonHeader hasSticky={true} />
  30. <div
  31. className={clsx(
  32. "not-prose",
  33. "xl:max-w-[944px] xl:py-16",
  34. "lg:max-w-[912px] lg:py-10",
  35. "md:max-w-[624px] md:text-4xl md:pb-6 pt-6",
  36. "sm:max-w-[480px] text-xl",
  37. "max-w-[328px]",
  38. "w-full mx-auto",
  39. )}
  40. >
  41. <h1
  42. className={clsx(
  43. "font-semibold",
  44. "!mb-0",
  45. "text-gray-900 dark:text-gray-0",
  46. "text-xl md:text-[40px] md:leading-[56px]",
  47. )}
  48. >
  49. We&apos;re helping web hosting provides to host busy websites, in{" "}
  50. <span className="text-transparent bg-clip-text bg-gradient-to-r text-gradient-to-r from-[#0FBDBD] to-[#26D97F]">
  51. less time
  52. </span>
  53. , with{" "}
  54. <span className="text-transparent bg-clip-text bg-gradient-to-r text-gradient-to-r from-[#FF9933] to-[#FF4C4D]">
  55. fewer resources
  56. </span>
  57. .
  58. </h1>
  59. </div>
  60. <div
  61. className={clsx(
  62. "lg:max-w-[912px] lg:py-32",
  63. "md:max-w-[624px] md:py-20",
  64. "sm:max-w-[480px] py-10",
  65. "max-w-[328px]",
  66. "w-full mx-auto",
  67. )}
  68. >
  69. <h4
  70. className={clsx(
  71. "text-sm leading-6",
  72. "md:text-2xl md:leading-8",
  73. "text-center text-gray-800 dark:text-gray-200",
  74. )}
  75. style={{
  76. margin: 0,
  77. }}
  78. >
  79. Our Team
  80. </h4>
  81. <div
  82. className={clsx(
  83. "grid",
  84. "lg:grid-cols-[repeat(4,192px)] lg:gap-12",
  85. "md:grid-cols-[repeat(3,176px)]",
  86. "sm:grid-cols-[repeat(3,144px)]",
  87. "grid-cols-[repeat(2,144px)] gap-6",
  88. "align-top",
  89. "mt-6 md:mt-12 lg:mt-16",
  90. )}
  91. >
  92. {team.map(({ name, avatar, role1, role2 }) => (
  93. <div
  94. key={name}
  95. className="flex justify-start flex-col text-center not-prose"
  96. >
  97. <img
  98. srcSet={`${avatar} 1500w`}
  99. src={avatar}
  100. alt={name}
  101. className="w-full m-0 mb-6"
  102. />
  103. <span
  104. className={clsx(
  105. "text-xs leading-4",
  106. "lg:text-base lg:leading-6",
  107. "text-gray-900 dark:text-gray-0 font-semibold",
  108. )}
  109. >
  110. {name}
  111. </span>
  112. <span
  113. className={clsx(
  114. "text-xs leading-4",
  115. "lg:text-base lg:leading-6",
  116. "text-gray-500 dark:text-gray-400",
  117. )}
  118. >
  119. {role1}
  120. </span>
  121. {role2 && (
  122. <span
  123. className={clsx(
  124. "text-xs leading-4",
  125. "lg:text-base lg:leading-6",
  126. "text-gray-500 dark:text-gray-400",
  127. )}
  128. >
  129. {role2}
  130. </span>
  131. )}
  132. </div>
  133. ))}
  134. <div
  135. className={clsx(
  136. "flex",
  137. "flex-col",
  138. "justify-between lg:justify-start",
  139. "text-center",
  140. )}
  141. >
  142. <div className="w-full not-prose m-0">
  143. <JoinUsIcon
  144. className={clsx(
  145. "m-0 w-full lg:mb-6",
  146. "lg:h-[240px]",
  147. "md:h-[220px]",
  148. "h-[180px]",
  149. )}
  150. isDark={colorMode === "dark"}
  151. />
  152. </div>
  153. <div className="flex flex-col items-center justify-center">
  154. <a
  155. target="_blank"
  156. href="https://www.linkedin.com/company/openpanel"
  157. className={clsx(
  158. "block",
  159. "text-xs leading-4",
  160. "lg:text-base lg:leading-6",
  161. "no-underline hover:no-underline text-refine-link-light dark:text-refine-link-dark font-semibold mb-0",
  162. )}
  163. rel="noreferrer"
  164. >
  165. Join our team!
  166. </a>
  167. <a
  168. target="_blank"
  169. href="https://www.linkedin.com/company/openpanel"
  170. className={clsx(
  171. "block",
  172. "text-xs leading-4",
  173. "lg:text-base lg:leading-6",
  174. "no-underline hover:no-underline text-refine-link-light dark:text-refine-link-dark m-0",
  175. )}
  176. rel="noreferrer"
  177. >
  178. See open positions
  179. </a>
  180. </div>
  181. </div>
  182. </div>
  183. </div>
  184. <div
  185. className={clsx(
  186. "xl:max-w-[1016px] lg:py-16",
  187. "lg:max-w-[912px] lg:py-16",
  188. "md:max-w-[624px] md:py-10",
  189. "sm:max-w-[480px] py-8",
  190. "max-w-[328px]",
  191. "w-full mx-auto",
  192. )}
  193. >
  194. <h4
  195. className={clsx(
  196. "text-sm leading-6",
  197. "md:text-2xl md:leading-8",
  198. "text-center text-gray-800 dark:text-gray-200",
  199. "mb-8 lg:mb-16",
  200. )}
  201. >
  202. We are Here
  203. </h4>
  204. <div className="flex flex-col md:gap-8 lg:flex-row lg:gap-10 xl:gap-24">
  205. <div className="w-full shrink-0 lg:order-last lg:h-[416px] lg:w-[624px]">
  206. <Link to="https://goo.gl/maps/D4NZ5gn6VsWaRtXT6">
  207. <img
  208. className="m-0 p-0"
  209. src="https://refine.ams3.cdn.digitaloceanspaces.com/website/static/about/images/map.png"
  210. srcSet="https://refine.ams3.cdn.digitaloceanspaces.com/website/static/about/images/map2x.png 1500w"
  211. />
  212. </Link>
  213. </div>
  214. <div className="flex justify-start flex-col items-start gap-8 lg:pt-12 pt-6">
  215. <div className="flex w-max items-center justify-center gap-6">
  216. <div
  217. className={clsx(
  218. "flex justify-center items-center",
  219. "w-[48px] h-[48px]",
  220. "rounded-full ",
  221. "bg-refine-orange bg-opacity-10",
  222. "shrink-0",
  223. )}
  224. >
  225. <MarkerIcon className="text-refine-orange" />
  226. </div>
  227. <span className="text-gray-700 dark:text-gray-300">
  228. SOON
  229. </span>
  230. </div>
  231. <div className="flex justify-center items-center gap-6">
  232. <div
  233. className={clsx(
  234. "flex justify-center items-center",
  235. "w-[48px] h-[48px]",
  236. "rounded-full ",
  237. "bg-refine-pink bg-opacity-10",
  238. "shrink-0",
  239. )}
  240. >
  241. <MailIcon className="text-refine-pink" />
  242. </div>
  243. <a
  244. href="mailto:info@openpanel.co"
  245. className="text-gray-700 dark:text-gray-300 hover:no-underline no-underline"
  246. >
  247. info@openpanel.co
  248. </a>
  249. </div>
  250. </div>
  251. </div>
  252. </div>
  253. <BlogFooter />
  254. </div>
  255. </>
  256. );
  257. };
  258. export default function AboutPage() {
  259. return (
  260. <CommonLayout>
  261. <About />
  262. </CommonLayout>
  263. );
  264. }