2023-10-28 18:23:19 +00:00
|
|
|
import React from 'react';
|
|
|
|
import Link from '@docusaurus/Link';
|
|
|
|
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
|
|
|
import Layout from '@theme/Layout';
|
2023-11-04 11:50:34 +00:00
|
|
|
import LogoSvg from '@site/static/img/logo.svg';
|
2023-11-04 16:56:09 +00:00
|
|
|
import { Carousel } from 'react-responsive-carousel';
|
2023-12-29 18:13:41 +00:00
|
|
|
import { Popover } from 'antd';
|
|
|
|
import { RiDiscordFill, RiTwitterXFill, RiWechatFill } from 'react-icons/ri';
|
|
|
|
import { BlockCard } from '../components/BlockCard';
|
2023-11-04 16:56:09 +00:00
|
|
|
import 'react-responsive-carousel/lib/styles/carousel.min.css';
|
2023-10-28 18:23:19 +00:00
|
|
|
|
|
|
|
function HomepageHeader() {
|
2023-11-04 10:23:32 +00:00
|
|
|
const { siteConfig } = useDocusaurusContext();
|
2023-10-28 18:23:19 +00:00
|
|
|
return (
|
2023-11-04 11:50:34 +00:00
|
|
|
<header className="container">
|
2024-04-09 17:04:05 +00:00
|
|
|
<div className="mt-10 text-center">
|
|
|
|
<LogoSvg className="h-40 w-40" />
|
2023-11-04 11:50:34 +00:00
|
|
|
<h1 className="text-5xl">
|
2024-01-29 17:46:44 +00:00
|
|
|
<span className="text-gradient font-bold">Tianji</span>
|
2023-11-04 11:50:34 +00:00
|
|
|
</h1>
|
2024-04-09 17:04:05 +00:00
|
|
|
<p className="text-2xl opacity-60">All-in-One Insight Hub</p>
|
2023-11-04 11:50:34 +00:00
|
|
|
<div className="text-xl">
|
2023-12-23 16:13:22 +00:00
|
|
|
<span className="text-gradient font-bold">Tianji</span> ={' '}
|
2024-04-09 17:04:05 +00:00
|
|
|
<span className="font-semibold underline">Website Analytics</span> +{' '}
|
|
|
|
<span className="font-semibold underline">Uptime Monitor</span> +{' '}
|
|
|
|
<span className="font-semibold underline">Server Status</span>
|
2023-10-28 18:23:19 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2023-11-04 11:50:34 +00:00
|
|
|
|
2024-04-09 17:04:05 +00:00
|
|
|
<div className="my-6 text-center">
|
2023-12-02 07:33:43 +00:00
|
|
|
{/* <Link
|
2023-11-04 11:50:34 +00:00
|
|
|
className="button button--primary button--lg"
|
|
|
|
to="mailto:moonrailgun@gmail.com?subject=I want to apply for Tianji early access account&body=Here is my account: <Here place your username>"
|
|
|
|
>
|
|
|
|
Early Access
|
2023-12-02 07:33:43 +00:00
|
|
|
</Link> */}
|
2023-12-24 07:58:30 +00:00
|
|
|
{/* <Link
|
2023-12-02 07:33:43 +00:00
|
|
|
className="button button--primary button--lg"
|
|
|
|
to="https://demo.tianji.msgbyte.com"
|
|
|
|
>
|
|
|
|
Visit Demo
|
2023-12-24 07:58:30 +00:00
|
|
|
</Link> */}
|
|
|
|
|
2024-04-09 17:04:05 +00:00
|
|
|
<div className="m-auto w-min max-w-full overflow-auto rounded-lg bg-neutral-100 p-2 text-left dark:bg-neutral-800">
|
2023-12-24 07:58:30 +00:00
|
|
|
<div className="whitespace-nowrap">
|
2024-04-09 17:04:05 +00:00
|
|
|
<span className="mr-1 select-none opacity-50">$</span>wget
|
2023-12-24 07:58:30 +00:00
|
|
|
https://raw.githubusercontent.com/msgbyte/tianji/master/docker-compose.yml
|
|
|
|
</div>
|
2023-12-25 06:24:12 +00:00
|
|
|
<div>
|
2024-04-09 17:04:05 +00:00
|
|
|
<span className="mr-1 select-none opacity-50">$</span>docker compose
|
2023-12-25 06:24:12 +00:00
|
|
|
up -d
|
|
|
|
</div>
|
2023-12-24 07:58:30 +00:00
|
|
|
</div>
|
2023-12-25 06:24:12 +00:00
|
|
|
<small className="opacity-50">
|
|
|
|
Default account is <b>admin</b>/<b>admin</b>, please change password
|
|
|
|
ASAP.
|
|
|
|
</small>
|
2023-11-04 11:50:34 +00:00
|
|
|
</div>
|
2023-10-28 18:23:19 +00:00
|
|
|
</header>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2023-11-04 11:50:34 +00:00
|
|
|
function HomepageMain() {
|
|
|
|
return (
|
|
|
|
<main className="container pb-8">
|
2024-04-09 17:04:05 +00:00
|
|
|
<div className="mb-8 mt-4 flex flex-wrap justify-around gap-2">
|
|
|
|
<div className="checked-item rounded border border-solid border-gray-300 px-4 py-2">
|
2023-11-04 11:50:34 +00:00
|
|
|
✔ No cookies
|
|
|
|
</div>
|
2024-04-09 17:04:05 +00:00
|
|
|
<div className="checked-item rounded border border-solid border-gray-300 px-4 py-2">
|
2024-03-01 03:52:38 +00:00
|
|
|
✔ International support
|
|
|
|
</div>
|
2024-04-09 17:04:05 +00:00
|
|
|
<div className="checked-item rounded border border-solid border-gray-300 px-4 py-2">
|
2023-11-04 11:50:34 +00:00
|
|
|
✔ GDPR & CCPA compliant
|
|
|
|
</div>
|
2024-04-09 17:04:05 +00:00
|
|
|
<div className="checked-item rounded border border-solid border-gray-300 px-4 py-2">
|
2023-11-04 11:50:34 +00:00
|
|
|
✔ Open API
|
|
|
|
</div>
|
2024-04-09 17:04:05 +00:00
|
|
|
<div className="checked-item rounded border border-solid border-gray-300 px-4 py-2">
|
2023-11-04 11:50:34 +00:00
|
|
|
✔ Open Source
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div className="text-center">
|
2024-04-09 17:04:05 +00:00
|
|
|
<div className="rounded-lg border-8 border-solid border-gray-200 shadow-lg">
|
2023-11-04 16:56:09 +00:00
|
|
|
<Carousel
|
2023-11-09 06:35:55 +00:00
|
|
|
className="cursor-move"
|
2023-11-04 16:56:09 +00:00
|
|
|
showThumbs={false}
|
|
|
|
showStatus={false}
|
|
|
|
showIndicators={true}
|
|
|
|
autoPlay={true}
|
|
|
|
swipeable={true}
|
|
|
|
interval={5000}
|
|
|
|
stopOnHover={true}
|
|
|
|
emulateTouch={true}
|
|
|
|
infiniteLoop={true}
|
|
|
|
>
|
2024-04-09 17:04:05 +00:00
|
|
|
<img src="/img/preview/1.png" />
|
|
|
|
<img src="/img/preview/2.png" />
|
|
|
|
<img src="/img/preview/3.png" />
|
|
|
|
<img src="/img/preview/4.png" />
|
|
|
|
<img src="/img/preview/5.png" />
|
|
|
|
<img src="/img/preview/6.png" />
|
2023-11-04 16:56:09 +00:00
|
|
|
</Carousel>
|
|
|
|
</div>
|
2023-11-04 11:50:34 +00:00
|
|
|
</div>
|
|
|
|
</main>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2023-12-29 18:13:41 +00:00
|
|
|
function HomepageFooter() {
|
|
|
|
return (
|
2024-04-09 17:04:05 +00:00
|
|
|
<div className="py-8 text-center">
|
|
|
|
<div className="mb-8 text-2xl font-bold">Join Our Community</div>
|
2023-12-29 18:13:41 +00:00
|
|
|
|
|
|
|
<div className="flex justify-center gap-4">
|
|
|
|
<Popover
|
|
|
|
content={<img width={300} src="/img/wechat.jpg" />}
|
|
|
|
trigger={'click'}
|
|
|
|
>
|
|
|
|
<BlockCard
|
|
|
|
icon={<RiWechatFill className="text-green-500" />}
|
|
|
|
title="Wechat"
|
2024-01-08 16:40:35 +00:00
|
|
|
data-tianji-event="community-wechat"
|
2023-12-29 18:13:41 +00:00
|
|
|
/>
|
|
|
|
</Popover>
|
|
|
|
|
|
|
|
<BlockCard
|
|
|
|
icon={<RiDiscordFill className="text-indigo-600" />}
|
|
|
|
title="Discord"
|
2024-01-08 16:40:35 +00:00
|
|
|
data-tianji-event="community-discord"
|
2023-12-29 18:13:41 +00:00
|
|
|
onClick={() => window.open('https://discord.gg/8Vv47wAEej')}
|
|
|
|
/>
|
|
|
|
|
|
|
|
<BlockCard
|
|
|
|
icon={<RiTwitterXFill />}
|
|
|
|
title="Twitter"
|
2024-01-08 16:40:35 +00:00
|
|
|
data-tianji-event="community-twitter"
|
2023-12-29 18:13:41 +00:00
|
|
|
onClick={() => window.open('https://twitter.com/moonrailgun')}
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2023-10-28 18:23:19 +00:00
|
|
|
export default function Home(): JSX.Element {
|
2023-11-04 10:23:32 +00:00
|
|
|
const { siteConfig } = useDocusaurusContext();
|
2023-10-28 18:23:19 +00:00
|
|
|
return (
|
|
|
|
<Layout
|
2024-01-08 16:40:35 +00:00
|
|
|
title={`Tianji = Website Analytics + Uptime Monitor + Server Status`}
|
|
|
|
description={siteConfig.tagline}
|
2023-11-04 10:23:32 +00:00
|
|
|
>
|
2023-10-28 18:23:19 +00:00
|
|
|
<HomepageHeader />
|
2023-11-04 11:50:34 +00:00
|
|
|
|
|
|
|
<HomepageMain />
|
2023-12-29 18:13:41 +00:00
|
|
|
|
|
|
|
<HomepageFooter />
|
2023-10-28 18:23:19 +00:00
|
|
|
</Layout>
|
|
|
|
);
|
|
|
|
}
|