diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index caebb06..dc73eb4 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -52,13 +52,40 @@ jobs:
# -----------------------------------------------
+# Screenshot of website
+
+ screenshot:
+ runs-on: ubuntu
+ needs: [codacy-security-scan]
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v2
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v2
+ with:
+ node-version: '14'
+
+ - name: Install dependencies
+ run: npm ci
+
+ - name: Run screenshot script
+ run: npm run screenshot
+
+ - name: Commit and push if it changed
+ run: |
+ git config --global user.name 'Automated'
+ git config --global user.email 'actions@users.noreply.github.com'
+ git add -A
+ git diff --quiet && git diff --staged --quiet || (git commit -m 'Update: screenshot' && git push)
+
# Building the website
build:
runs-on: self-hosted
- needs: [codacy-security-scan]
+ needs: [codacy-security-scan, screenshot]
steps:
- uses: actions/checkout@v3
# Install Dependenices
diff --git a/.vscode/launch.json b/.vscode/launch.json
index d642209..9240064 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -1,6 +1,7 @@
{
"version": "0.2.0",
"configurations": [
+
{
"command": "./node_modules/.bin/astro dev",
"name": "Development server",
diff --git a/astro.config.mjs b/astro.config.mjs
index 525e011..d10cbf2 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -1,5 +1,6 @@
-import { defineConfig } from "astro/config";
-import mdx from "@astrojs/mdx";
+import { defineConfig } from 'astro/config';
+import mdx from '@astrojs/mdx';
+
// https://astro.build/config
export default defineConfig({
@@ -8,5 +9,6 @@ export default defineConfig({
port: 7053
},
cacheDir: "./src/*",
- integrations: [mdx()]
+ integrations: [mdx()],
+ experimental: {}
});
\ No newline at end of file
diff --git a/package.json b/package.json
index 0b8fc66..3be29b4 100644
--- a/package.json
+++ b/package.json
@@ -3,27 +3,24 @@
"type": "module",
"version": "0.0.1",
"scripts": {
- "dev": "astro dev",
+ "dev": "astro dev ",
"start": "astro dev",
"build": "astro build",
- "test:e2e": "playwright test",
- "playwright": "playwright",
- "fmt": "prettier ",
- "astro": "astro"
+ "astro": "astro",
+ "screenshot": "node screenshot.js",
+ "clear": ""
},
"dependencies": {
- "@astrojs/mdx": "^1.1.0",
+ "@astrojs/mdx": "^0.19.7",
"@astrojs/rss": "^3.0.0",
- "astro": "^3.0.13",
- "sass": "^1.67.0",
- "typescript": "^5.2.2"
+ "astro-seo": "^0.8.0",
+ "puppeteer": "^21.4.1",
+ "sass": "^1.67.0"
},
"devDependencies": {
"@astrojs/check": "^0.2.0",
"@types/node": "^20.8.3",
- "eslint-config-prettier": "^9.0.0",
- "eslint-plugin-prettier": "^5.0.0",
- "stylelint": "^15.10.3",
- "stylelint-config-standard-scss": "^11.0.0"
+ "astro": "^3.4.0",
+ "typescript": "^5.2.2"
}
}
diff --git a/playwright.config.ts b/playwright.config.ts
deleted file mode 100644
index d9c6e2b..0000000
--- a/playwright.config.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { defineConfig } from '@playwright/test';
-
-/**
- * Read environment variables from file.
- * https://github.com/motdotla/dotenv
- */
-// require('dotenv').config();
-
-/**
- * See https://playwright.dev/docs/test-configuration.
- */
-export default defineConfig({
- webServer: {
- command: 'bun start',
- url: 'http://localhost:4321/',
- timeout: 120 * 1000,
- reuseExistingServer: !process.env.CI,
- },
- use: {
- baseURL: 'http://localhost:4321/',
- },
-});
diff --git a/public/Favicon.webp b/public/Favicon.webp
new file mode 100644
index 0000000..bfc4d19
Binary files /dev/null and b/public/Favicon.webp differ
diff --git a/public/favicon.png b/public/favicon.png
deleted file mode 100644
index b9fbecc..0000000
Binary files a/public/favicon.png and /dev/null differ
diff --git a/public/packs/TeaClient - FPS BOOST.zip b/public/packs/TeaClient - FPS BOOST.zip
new file mode 100644
index 0000000..b12245c
Binary files /dev/null and b/public/packs/TeaClient - FPS BOOST.zip differ
diff --git a/public/packs/TeaClient - PVP PACK RED EDITION.zip b/public/packs/TeaClient - PVP PACK RED EDITION.zip
new file mode 100644
index 0000000..c6afcde
Binary files /dev/null and b/public/packs/TeaClient - PVP PACK RED EDITION.zip differ
diff --git a/public/packs/TeaClient - PVP PACK YELLOW EDIT.zip b/public/packs/TeaClient - PVP PACK YELLOW EDIT.zip
new file mode 100644
index 0000000..7e35618
Binary files /dev/null and b/public/packs/TeaClient - PVP PACK YELLOW EDIT.zip differ
diff --git a/public/packs/TeaClient - PVP PACK.zip b/public/packs/TeaClient - PVP PACK.zip
new file mode 100644
index 0000000..77e2098
Binary files /dev/null and b/public/packs/TeaClient - PVP PACK.zip differ
diff --git a/public/screenshot.webp b/public/screenshot.webp
new file mode 100644
index 0000000..0a38dc0
Binary files /dev/null and b/public/screenshot.webp differ
diff --git a/screenshot.js b/screenshot.js
new file mode 100644
index 0000000..347cecb
--- /dev/null
+++ b/screenshot.js
@@ -0,0 +1,15 @@
+import puppeteer from 'puppeteer';
+
+(async () => {
+ const browser = await puppeteer.launch({
+ headless: 'new',
+ ignoreHTTPSErrors: true
+ });
+ const page = await browser.newPage();
+ await page.setViewport({width: 1920, height: 1080}); // Set viewport size
+ await page.goto('http://localhost:7053');
+ await
+ await page.screenshot({ path: './public/screenshot.webp', type: 'webp' });
+ await browser.close();
+ console.log('done');
+})();
diff --git a/src/components/shared/DownloadBox.astro b/src/components/shared/DownloadBox.astro
new file mode 100644
index 0000000..ee9d62c
--- /dev/null
+++ b/src/components/shared/DownloadBox.astro
@@ -0,0 +1,14 @@
+---
+// DownloadBox.astro
+const { buttonText, src, screenshot } = Astro.props;
+---
+
+
+
diff --git a/src/components/shared/head.astro b/src/components/shared/head.astro
index f7ff84e..f87a2f7 100644
--- a/src/components/shared/head.astro
+++ b/src/components/shared/head.astro
@@ -1,12 +1,36 @@
+---
+import { SEO } from "astro-seo";
+---
+
+
-
+ Tea Client
-
-
-
+extend={{
+ // extending the default link tags
+ link: [{ rel: "icon", href: "/Favicon.webp" }],
+ // extending the default meta tags
+ meta: [
+ {
+ name: "twitter:image",
+ content: "/screenshot.webp",
+ },
+ { name: "twitter:card", content: "screenshot.webp" },
+ { name: "twitter:title", content: "TeaClient Website" },
+ { name: "twitter:description", content: "The website to an opensourced client" },
+ ],
+ }}
+ />
+
+
+
diff --git a/src/components/shared/header.astro b/src/components/shared/header.astro
index eaf489e..5efc362 100644
--- a/src/components/shared/header.astro
+++ b/src/components/shared/header.astro
@@ -1,5 +1,5 @@
---
-import {Image} from "astro:assets"
+import { Image } from "astro:assets";
---
-
-
-
\ No newline at end of file
diff --git a/src/layouts/linktree.astro b/src/layouts/linktree.astro
new file mode 100644
index 0000000..8a410c7
--- /dev/null
+++ b/src/layouts/linktree.astro
@@ -0,0 +1,16 @@
+---
+// Components
+import Head from '../components/shared/head.astro'
+import Header from '../components/shared/header.astro'
+import Footer from '../components/shared/footer.astro'
+
+// Styles
+import '../styles/link-tree.scss'
+---
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/.well-known/microsoft-identity-association.json b/src/pages/.well-known/microsoft-identity-association
similarity index 100%
rename from src/pages/.well-known/microsoft-identity-association.json
rename to src/pages/.well-known/microsoft-identity-association
diff --git a/src/pages/404.mdx b/src/pages/404.md
similarity index 100%
rename from src/pages/404.mdx
rename to src/pages/404.md
diff --git a/src/pages/SECURITY.mdx b/src/pages/SECURITY.mdx
deleted file mode 100644
index 8ecb981..0000000
--- a/src/pages/SECURITY.mdx
+++ /dev/null
@@ -1,9 +0,0 @@
-# Security Policy
-Our policy is available on teaclient.net
-
-
-
-## Reporting a Vulnerability
-
-To Report Please join the discord and open a ticket
-Link: https://discord.gg/teaclient
diff --git a/src/pages/download/index.astro b/src/pages/download/index.astro
index 9dde552..34d6064 100644
--- a/src/pages/download/index.astro
+++ b/src/pages/download/index.astro
@@ -1,7 +1,11 @@
---
-import Layout from '../../layouts/default.astro'
+import Layout from "../../layouts/default.astro"
+import DownloadBox from '../../components/shared/DownloadBox.astro';
---
-
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/link-tree.astro b/src/pages/link-tree.astro
new file mode 100644
index 0000000..59bb0f8
--- /dev/null
+++ b/src/pages/link-tree.astro
@@ -0,0 +1,10 @@
+---
+import Layout from '../layouts/linktree.astro'
+---
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/news/index.astro b/src/pages/news/index.astro
index f031000..b84051a 100644
--- a/src/pages/news/index.astro
+++ b/src/pages/news/index.astro
@@ -1,11 +1,12 @@
---
import Layout from "../../layouts/default.astro"
+import "../../styles/news.scss"
---
-
+
+
+
\ No newline at end of file
diff --git a/src/pages/privacy.astro b/src/pages/privacy.astro
new file mode 100644
index 0000000..266c79b
--- /dev/null
+++ b/src/pages/privacy.astro
@@ -0,0 +1,7 @@
+---
+import Layout from "../layouts/default.astro"
+---
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/terms.astro b/src/pages/terms.astro
new file mode 100644
index 0000000..cf89376
--- /dev/null
+++ b/src/pages/terms.astro
@@ -0,0 +1,32 @@
+---
+import Layout from "../layouts/default.astro"
+import "../styles/terms.scss"
+---
+
+
+
+
Terms of Service
+
Last Updated: October 30 2023
+
+
+
+
Please read these terms of service (“terms”, “terms of service”) carefully before using TeaClient (the “service”) operated by TeaClientMC. (“us”, ‘we”, “our”).
+
+
+
Condition of Use
+
We will provide their services to you, which are subject to the conditions stated below in this document. Every time you visit this website, use its services or make a purchase, you accept the following conditions. This is why we urge you to read them carefully.
+
+
+
Our Content
+
Content published on this website and services (digital downloads, images, texts, graphics, logos) is the property of TeaClient, Inc. and/or its content creators and protected by international copyright laws. The entire compilation of the content found on this website and TeaClient is the exclusive property of TeaClientMC.
+
+
+
+
Govening Law
+
+
+
Social Media
+
+
+
+
\ No newline at end of file
diff --git a/src/styles/link-tree.scss b/src/styles/link-tree.scss
new file mode 100644
index 0000000..72b3762
--- /dev/null
+++ b/src/styles/link-tree.scss
@@ -0,0 +1,205 @@
+* {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+ font-family: "Panton", sans-serif;
+ }
+
+body {
+ background-color: black;
+}
+
+ /* scrollbar */
+ ::-webkit-scrollbar {
+ width: 1em;
+ }
+ ::-webkit-scrollbar-track {
+ background: #29292a;
+ }
+ ::-webkit-scrollbar-thumb {
+ background: #52565a;
+ border-radius: 10vw;
+ }
+ ::-webkit-scrollbar-thumb:hover {
+ background: #7d8183;
+ }
+ .left_nav {
+ position: absolute;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ #logo {
+ &:hover {
+ filter: invert(80%) sepia(85%) saturate(1352%) hue-rotate(230deg)
+ brightness(75%) contrast(100%);
+ }
+ }
+ #title {
+ text-decoration: none;
+ font-weight: bold;
+ color: white;
+ font-size: 36px;
+ margin-left: 15px;
+ }
+ &:hover {
+ color: #6e2bec;
+ }
+ }
+ /* header */
+ header {
+ min-height: 100vh;
+ width: 100%;
+ }
+ .page-background {
+ img {
+ position: fixed;
+ top: 0px;
+ left: 0px;
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ object-position: center;
+ z-index: -1;
+ filter: blur(6px);
+ }
+ }
+
+ /* navigation */
+ nav {
+ position: relative;
+ display: flex;
+ padding: 1% 2%;
+ height: 120px;
+ justify-content: space-between;
+ align-items: center;
+ background-color: rgba(0, 0, 0, 0.5);
+ h4 {
+ color: white;
+ padding-left: 20px;
+ font-size: 36px;
+ }
+ img {
+ width: 90px;
+ height: 90px;
+ }
+ }
+ ul {
+ li {
+ .dropdown {
+ width: 100%;
+ background: rgba(0, 0, 0, 0.5);
+ position: absolute;
+ display: none;
+ }
+ }
+ }
+
+ ul li:hover ul.dropdown {
+ margin-top: 33px;
+ display: block;
+ text-align: left;
+ top: 0%;
+ left: 0;
+ }
+
+ .nav-links {
+ flex: 1;
+ text-align: right;
+ }
+ .nav-links ul {
+ li {
+ list-style: none;
+ display: inline-block;
+ padding: 8px 12px;
+ position: relative;
+ a {
+ color: #fff;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 20px;
+ &:hover {
+ color: #6e2bec;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 20px;
+ }
+ }
+ }
+ }
+
+ /* .discord {
+ color: #5865F2;
+ }
+ .youtube {
+ color: #FF0000
+ } */
+
+ /* Footer */
+ footer {
+ background: #111;
+ height: auto;
+ width: 100%;
+ padding-top: 40px;
+ color: #fff;
+ .footer-content {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
+ text-align: center;
+ }
+ .socials {
+ display: flex;
+ justify-content: center;
+ width: 100px;
+ height: 100px;
+ }
+ /* footer navigation */
+ .fa-brands {
+ color: white;
+ transform: scale(2);
+ margin: 20px;
+ transition: 0.25s;
+ }
+ .fa-brands:hover {
+ color: gray;
+ }
+ .footerNav {
+ display: flex;
+ justify-content: center;
+ a {
+ color: white;
+ margin: 20px;
+ text-decoration: none;
+ font-size: 1.3rem;
+ opacity: 0.7;
+ transition: 0.5s;
+ display: flex;
+ margin-right: 10px;
+ &:hover {
+ opacity: 1;
+ }
+ }
+ }
+ /* footer bottom */
+ .footer-bottom {
+ overflow: auto;
+ background: #000;
+ width: 100%;
+ padding: 20px 0;
+ text-align: center;
+ p {
+ margin-left: 20px;
+ float: left;
+ font-size: 14px;
+ word-spacing: 2px;
+ }
+ #affiliation {
+ margin-right: 20px;
+ float: right;
+ }
+ }
+ }
+
+
+
diff --git a/src/styles/news.scss b/src/styles/news.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/styles/privacy.scss b/src/styles/privacy.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/styles/style.scss b/src/styles/style.scss
index 62d6029..7e39a42 100644
--- a/src/styles/style.scss
+++ b/src/styles/style.scss
@@ -4,6 +4,15 @@
box-sizing: border-box;
font-family: "Panton", sans-serif;
}
+
+.container {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 100vh;
+}
+
+
/* scrollbar */
::-webkit-scrollbar {
width: 1em;
@@ -42,7 +51,7 @@
}
/* header */
header {
- min-height: 100vh;
+ min-height: 10vh;
width: 100%;
}
.page-background {
@@ -77,24 +86,24 @@ nav {
height: 90px;
}
}
-ul {
- li {
- .dropdown {
- width: 100%;
- background: rgba(0, 0, 0, 0.5);
- position: absolute;
- display: none;
- }
- }
-}
+// ul {
+// li {
+// .dropdown {
+// width: 100%;
+// background: rgba(0, 0, 0, 0.5);
+// position: absolute;
+// display: none;
+// }
+// }
+// }
-ul li:hover ul.dropdown {
- margin-top: 33px;
- display: block;
- text-align: left;
- top: 0%;
- left: 0;
-}
+// ul li:hover ul.dropdown {
+// margin-top: 33px;
+// display: block;
+// text-align: left;
+// top: 0%;
+// left: 0;
+// }
.nav-links {
flex: 1;
@@ -135,6 +144,9 @@ footer {
width: 100%;
padding-top: 40px;
color: #fff;
+ top: 100%;
+ position: absolute;
+
.footer-content {
display: flex;
align-items: center;
@@ -197,6 +209,36 @@ footer {
+.commingSoon {
+
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ color: white;
+ text-align: center;
+ transform: translate(-50%, -50%);
+ line-height: 50px;
+
+
+ h1 {
+ font-size: 52px;
+ font-weight: bold;
+ }
+
+ p {
+ font-size: 18px;
+ color: #929fa5;
+ }
+ a {
+ font-size: 16px;
+ text-decoration: underline;
+}
+
+}
+
+
+
+
// errors on pages
.error {
@@ -223,3 +265,21 @@ footer {
text-decoration: underline;
}
}
+
+.download-box {
+ background-color: rgba(255, 255, 255, 0.7); // semi-transparent white
+ border-radius: 20px; // rounded corners
+ backdrop-filter: blur(10px); // blur effect
+ padding: 20px;
+ width: 300px;
+ text-align: center;
+}
+
+.download-button {
+ background-color: #b700ff;
+ color: white;
+ padding: 10px 20px;
+ border-radius: 5px;
+ border: none;
+ cursor: pointer;
+}
diff --git a/src/styles/terms.scss b/src/styles/terms.scss
new file mode 100644
index 0000000..a03f99d
--- /dev/null
+++ b/src/styles/terms.scss
@@ -0,0 +1,45 @@
+body {
+ display: flexbox;
+ justify-content: center;
+ align-items: center;
+ min-height: 100vh;
+ margin: 0;
+ background-color: #000;
+ color: #fff;
+}
+
+
+.page-background {
+ img {
+ position: fixed;
+ top: 0px;
+ left: 0px;
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ object-position: center;
+ z-index: -1;
+ filter: blur(6px);
+ }
+ }
+
+
+
+
+
+.tos-container {
+ background-color: rgba(0, 0, 0, 0.8);
+ padding: 20px;
+ bottom: 50%;
+ border-radius: 30px;
+ position: static;
+ margin-left: 20%;
+ margin-right: 20%;
+ margin-top: 20px;
+ margin-bottom: 10px;
+}
+
+.tos-title {
+ text-align: center;
+ margin-bottom: 20px;
+}
\ No newline at end of file
diff --git a/svelte.config.js b/svelte.config.js
deleted file mode 100644
index cbaee33..0000000
--- a/svelte.config.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import { vitePreprocess } from '@astrojs/svelte';
-
-export default {
- preprocess: vitePreprocess(),
-};
diff --git a/tsconfig.json b/tsconfig.json
index 2a05514..91efcbc 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,6 +1,3 @@
{
"extends": "astro/tsconfigs/base",
- "compilerOptions": {
- "jsx": "preserve",
- }
}
\ No newline at end of file