diff --git a/src/client/public/locales/pl/flag.png b/src/client/public/locales/pl/flag.png new file mode 100644 index 0000000..041eea1 Binary files /dev/null and b/src/client/public/locales/pl/flag.png differ diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index b82b28d..a1fff31 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -74,6 +74,11 @@ const config: Config = { }, { name: 'twitter:card', content: 'summary_large_image' }, ], + colorMode: { + defaultMode: 'dark', + disableSwitch: true, + respectPrefersColorScheme: false, + }, navbar: { title: 'Tianji', logo: { diff --git a/website/src/components/homepage/Features.tsx b/website/src/components/homepage/Features.tsx new file mode 100644 index 0000000..cf406ab --- /dev/null +++ b/website/src/components/homepage/Features.tsx @@ -0,0 +1,264 @@ +import Link from '@docusaurus/Link'; +import React from 'react'; +import { + LuCode2, + LuCookie, + LuFileArchive, + LuFilePieChart, + LuGithub, + LuMonitor, + LuNetwork, + LuServer, + LuSiren, + LuUsers2, + LuWifi, +} from 'react-icons/lu'; +import { FaDocker } from 'react-icons/fa'; +import { RiSurveyLine } from 'react-icons/ri'; +import { HomepageFlags } from './Flags'; + +export const HomepageFeatures: React.FC = React.memo(() => { + return ( +
+ {/* Col1 */} +
+
+
+
+ +
+
OpenAPI
+
+
+ Tianji offers a comprehensive OpenAPI interface, providing seamless + integration and extensive functionality for developers. With + Tianji's OpenAPI, you can easily access and utilize a wide range of + services and features, ensuring a smooth and efficient development + process. Experience the power and flexibility of Tianji's complete + OpenAPI interface today. +
+ +
+ + Click here to view all api + +
+
+
+
+
+ +
+
+ GDPR & CCPA compliant +
+
+ +
+ At Tianji, we prioritize user's privacy and data protection. Our + services fully support and comply with the stringent standards set + by the General Data Protection Regulation (GDPR) and the California + Consumer Privacy Act (CCPA). We ensure that your personal + information is handled with the utmost care and security, providing + you with transparency, control, and peace of mind. +
+
+ +
+
+
+ + {/* Col2 */} +
+
+
+
+ +
+
+ Defining Features by Needs +
+
+ +
+ At Tianji, we develop lightweight features for independent + developers and small teams, focusing on their specific needs. We + create cost-effective, valuable features without the unnecessary + complexities of heavy, mature products. Our user-centric approach + ensures we deliver meaningful solutions and build trust within our + community. +
+ +
+
+
+ +
+
+ Website Analytics +
+
+ +
+
+ +
+
Uptime Monitor
+
+ +
+
+ +
+
Server Status
+
+ +
+
+ +
+
Docker Status
+
+ +
+
+ +
+
Status Page
+
+ +
+
+ +
+
Telemetry
+
+ +
+
+ +
+
Survey
+
+
+
+
+
+
+ +
+
Open Source
+
+ +
+ Tianji is an open-source project dedicated to providing robust and + efficient solutions for data integration and management. By + leveraging community contributions, Tianji continually evolves to + meet the dynamic needs of users across various industries. Its + open-source nature ensures transparency, flexibility, and the + ability to customize functionalities according to specific + requirements. Join the Tianji community today to collaborate, + innovate, and contribute to a growing ecosystem of cutting-edge data + solutions. +
+
+
+ + {/* Col3 */} +
+
+
+
+ +
+
No Cookie Track
+
+ +
+ At Tianji, user's privacy is our priority. We do not track user's + activity with cookies. This means you won't need to request user + consent for cookie tracking, simplifying the user experience and + increasing retention rates. +
+ +
+ +
+
+
+
+
+ +
+
+ Community Driven +
+
+ +
+ Tianji is a community-driven project dedicated to fostering + collaboration, innovation, and shared learning. Our vibrant + community is at the heart of everything we do, empowering members to + connect, share knowledge, and contribute to a collective vision. + Join us and be a part of a dynamic network where every voice matters + and together, we build the future. +
+ +
+ +
+ +
+ + Join + +
+
+
+
+ ); +}); +HomepageFeatures.displayName = 'HomepageFeatures'; diff --git a/website/src/components/homepage/Flags.tsx b/website/src/components/homepage/Flags.tsx new file mode 100644 index 0000000..eb1a874 --- /dev/null +++ b/website/src/components/homepage/Flags.tsx @@ -0,0 +1,17 @@ +import React from 'react'; + +export const HomepageFlags: React.FC = React.memo(() => { + return ( +
+ + + + + + + + +
+ ); +}); +HomepageFlags.displayName = 'HomepageFlags'; diff --git a/website/src/components/homepage/HeaderLight.tsx b/website/src/components/homepage/HeaderLight.tsx new file mode 100644 index 0000000..c32cb81 --- /dev/null +++ b/website/src/components/homepage/HeaderLight.tsx @@ -0,0 +1,413 @@ +import React from 'react'; + +export const HomepageHeaderLight: React.FC = React.memo(() => { + return ( +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ ); +}); +HomepageHeaderLight.displayName = 'HomepageHeaderLight'; diff --git a/website/src/components/homepage/SimpleLight.tsx b/website/src/components/homepage/SimpleLight.tsx new file mode 100644 index 0000000..7d3cef3 --- /dev/null +++ b/website/src/components/homepage/SimpleLight.tsx @@ -0,0 +1,26 @@ +import clsx from 'clsx'; +import React from 'react'; + +export const HomepageSimpleLight: React.FC<{ + className?: string; + colorSet: 'blue' | 'cyan'; +}> = React.memo((props) => { + const background = { + cyan: + 'radial-gradient(144.11% 103.06% at 50.00% 50.00%, rgba(27, 199, 237, 0.60) 0%, rgba(46, 180, 255, 0.06) 45.67%)', + blue: 'radial-gradient(144.11% 103.06% at 50.00% 50.00%, rgba(27, 115, 237, 0.60) 0%, rgba(194, 46, 255, 0.06) 45.67%)', + }[props.colorSet]; + + return ( +
+ ); +}); +HomepageSimpleLight.displayName = 'HomepageSimpleLight'; diff --git a/website/src/css/custom.css b/website/src/css/custom.css index 40b2352..7ea490a 100644 --- a/website/src/css/custom.css +++ b/website/src/css/custom.css @@ -28,3 +28,7 @@ --ifm-color-primary-lightest: #9ac2f4; --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); } + +.footer--dark { + --ifm-footer-background-color: --ifm-background-surface-color +} diff --git a/website/src/pages/index.tsx b/website/src/pages/index.tsx index 6a508a7..085987b 100644 --- a/website/src/pages/index.tsx +++ b/website/src/pages/index.tsx @@ -7,12 +7,18 @@ import { Carousel } from 'react-responsive-carousel'; import { Popover } from 'antd'; import { RiDiscordFill, RiTwitterXFill, RiWechatFill } from 'react-icons/ri'; import { BlockCard } from '../components/BlockCard'; +import { HomepageHeaderLight } from '../components/homepage/HeaderLight'; +import { HomepageFeatures } from '../components/homepage/Features'; +import { HomepageSimpleLight } from '../components/homepage/SimpleLight'; +import { LuGithub } from 'react-icons/lu'; + import 'react-responsive-carousel/lib/styles/carousel.min.css'; function HomepageHeader() { const { siteConfig } = useDocusaurusContext(); + return ( -
+

@@ -23,7 +29,8 @@ function HomepageHeader() { Tianji ={' '} Website Analytics +{' '} Uptime Monitor +{' '} - Server Status + Server Status +{' '} + More...

@@ -41,7 +48,10 @@ function HomepageHeader() { Visit Demo */} -
+
$wget https://raw.githubusercontent.com/msgbyte/tianji/master/docker-compose.yml @@ -56,6 +66,24 @@ function HomepageHeader() { ASAP.
+ +
+ + Get Start + + + + Star + +
); } @@ -63,7 +91,7 @@ function HomepageHeader() { function HomepageMain() { return (
-
+ {/*
✔ No cookies
@@ -79,12 +107,26 @@ function HomepageMain() {
✔ Open Source
+
*/} + + {/* Features */} +
+ + +
-
-
+
+ Preview +
+ +
+
+ +
); @@ -110,8 +157,10 @@ function HomepageMain() { function HomepageFooter() { return ( -
-
Join Our Community
+
+
+ Join Our Community +
- +
+ - + - + + + +
); } diff --git a/website/static/img/flags/de.png b/website/static/img/flags/de.png new file mode 100644 index 0000000..9a98036 Binary files /dev/null and b/website/static/img/flags/de.png differ diff --git a/website/static/img/flags/en.png b/website/static/img/flags/en.png new file mode 100644 index 0000000..7dbb29b Binary files /dev/null and b/website/static/img/flags/en.png differ diff --git a/website/static/img/flags/fr.png b/website/static/img/flags/fr.png new file mode 100644 index 0000000..aeedf40 Binary files /dev/null and b/website/static/img/flags/fr.png differ diff --git a/website/static/img/flags/jp.png b/website/static/img/flags/jp.png new file mode 100644 index 0000000..c1413ae Binary files /dev/null and b/website/static/img/flags/jp.png differ diff --git a/website/static/img/flags/pl.png b/website/static/img/flags/pl.png new file mode 100644 index 0000000..041eea1 Binary files /dev/null and b/website/static/img/flags/pl.png differ diff --git a/website/static/img/flags/pt.png b/website/static/img/flags/pt.png new file mode 100644 index 0000000..d405996 Binary files /dev/null and b/website/static/img/flags/pt.png differ diff --git a/website/static/img/flags/ru.png b/website/static/img/flags/ru.png new file mode 100644 index 0000000..a5d0bca Binary files /dev/null and b/website/static/img/flags/ru.png differ diff --git a/website/static/img/flags/zh.png b/website/static/img/flags/zh.png new file mode 100644 index 0000000..63267f7 Binary files /dev/null and b/website/static/img/flags/zh.png differ diff --git a/website/static/img/gdpr-ccpa.svg b/website/static/img/gdpr-ccpa.svg new file mode 100644 index 0000000..5c50e7b --- /dev/null +++ b/website/static/img/gdpr-ccpa.svg @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/static/img/logo.svg b/website/static/img/logo.svg index e452887..6e2ebea 100644 --- a/website/static/img/logo.svg +++ b/website/static/img/logo.svg @@ -6,4 +6,11 @@ + + + + + + + diff --git a/website/static/img/logo@128.png b/website/static/img/logo@128.png index 5b494ce..232371f 100644 Binary files a/website/static/img/logo@128.png and b/website/static/img/logo@128.png differ diff --git a/website/static/img/no-cookie-track.svg b/website/static/img/no-cookie-track.svg new file mode 100644 index 0000000..58c5ff0 --- /dev/null +++ b/website/static/img/no-cookie-track.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/static/img/openapi-connect-with-developer.svg b/website/static/img/openapi-connect-with-developer.svg new file mode 100644 index 0000000..3354ce9 --- /dev/null +++ b/website/static/img/openapi-connect-with-developer.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +