chore: releaes prep
@@ -47,13 +47,13 @@
|
||||
|
||||
<br />
|
||||
|
||||
<img src="./repo-images/header-overview.svg" alt="Overview" />
|
||||
## Overview
|
||||
|
||||
Termix is an open-source, forever-free, self-hosted all-in-one server management platform. It provides a multi-platform solution for managing your servers and infrastructure through a single, intuitive interface. Termix offers SSH terminal access, remote desktop control (RDP, VNC, Telnet), SSH tunneling capabilities, remote SSH file management, and many other tools. Termix is the perfect free and self-hosted alternative to Termius available for all platforms.
|
||||
|
||||
<br />
|
||||
|
||||
<img src="./repo-images/header-features.svg" alt="Features" />
|
||||
## Features
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
@@ -176,7 +176,7 @@ Built-in support ~30 languages (managed by [Crowdin](https://docs.termix.site/tr
|
||||
|
||||
<br />
|
||||
|
||||
<img src="./repo-images/header-platform-support.svg" alt="Platform Support" />
|
||||
## Platform Support
|
||||
|
||||
<table align="center">
|
||||
<tr>
|
||||
@@ -211,7 +211,7 @@ Built-in support ~30 languages (managed by [Crowdin](https://docs.termix.site/tr
|
||||
|
||||
<br />
|
||||
|
||||
<img src="./repo-images/header-installation.svg" alt="Installation" />
|
||||
## Installation
|
||||
|
||||
Visit the [Termix Docs](https://docs.termix.site/install) for full installation instructions across all platforms.
|
||||
|
||||
@@ -254,7 +254,7 @@ networks:
|
||||
|
||||
<br />
|
||||
|
||||
<img src="./repo-images/header-screenshots.svg" alt="Screenshots" />
|
||||
## Screenshots
|
||||
|
||||
<div align="center">
|
||||
|
||||
@@ -300,13 +300,13 @@ networks:
|
||||
|
||||
<br />
|
||||
|
||||
<img src="./repo-images/header-planned-features.svg" alt="Planned Features" />
|
||||
## Planned Features
|
||||
|
||||
See [Projects](https://github.com/orgs/Termix-SSH/projects/2) for all planned features. If you are looking to contribute, see [Contributing](https://github.com/Termix-SSH/Termix/blob/main/CONTRIBUTING.md).
|
||||
|
||||
<br />
|
||||
|
||||
<img src="./repo-images/header-sponsors.svg" alt="Sponsors" />
|
||||
## Sponsors
|
||||
|
||||
<div align="center">
|
||||
|
||||
@@ -344,12 +344,12 @@ See [Projects](https://github.com/orgs/Termix-SSH/projects/2) for all planned fe
|
||||
|
||||
<br />
|
||||
|
||||
<img src="./repo-images/header-support.svg" alt="Support" />
|
||||
## Support
|
||||
|
||||
If you need help or want to request a feature with Termix, visit the [Issues](https://github.com/Termix-SSH/Support/issues) page, log in, and press `New Issue`. Please be as detailed as possible in your issue, preferably written in English. You can also join the [Discord](https://discord.gg/jVQGdvHDrf) server and visit the support channel, however, response times may be longer.
|
||||
|
||||
<br />
|
||||
|
||||
<img src="./repo-images/header-license.svg" alt="License" />
|
||||
## License
|
||||
|
||||
Distributed under the Apache License Version 2.0. See `LICENSE` for more information.
|
||||
|
||||
|
After Width: | Height: | Size: 256 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 409 KiB |
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 150 KiB |
|
After Width: | Height: | Size: 145 KiB |
|
After Width: | Height: | Size: 155 KiB |
|
After Width: | Height: | Size: 133 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 29 KiB |
@@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">Features</text>
|
||||
<rect x="0" y="32" width="780" height="1" fill="#F39044" opacity="0.5"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 343 B |
@@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">Installation</text>
|
||||
<rect x="0" y="32" width="780" height="1" fill="#F39044" opacity="0.5"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 347 B |
@@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">License</text>
|
||||
<rect x="0" y="32" width="780" height="1" fill="#F39044" opacity="0.5"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 342 B |
@@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">Overview</text>
|
||||
<rect x="0" y="32" width="780" height="1" fill="#F39044" opacity="0.5"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 343 B |
@@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">Planned Features</text>
|
||||
<rect x="0" y="32" width="780" height="1" fill="#F39044" opacity="0.5"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 351 B |
@@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">Platform Support</text>
|
||||
<rect x="0" y="32" width="780" height="1" fill="#F39044" opacity="0.5"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 351 B |
@@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">Screenshots</text>
|
||||
<rect x="0" y="32" width="780" height="1" fill="#F39044" opacity="0.5"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 346 B |
@@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">Sponsors</text>
|
||||
<rect x="0" y="32" width="780" height="1" fill="#F39044" opacity="0.5"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 343 B |
@@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">Support</text>
|
||||
<rect x="0" y="32" width="780" height="1" fill="#F39044" opacity="0.5"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 342 B |
@@ -391,7 +391,7 @@ export function NetworkGraphCard({
|
||||
|
||||
const applyStyle = useCallback((cy: cytoscape.Core) => {
|
||||
const edgeColor = resolveCssVar("--border", "#4a4a4e");
|
||||
const mutedFg = resolveCssVar("--muted-foreground", "#94a3b8");
|
||||
const foreground = resolveCssVar("--foreground", "#f1f5f9");
|
||||
cy.style()
|
||||
.selector("node")
|
||||
.style({
|
||||
@@ -422,7 +422,7 @@ export function NetworkGraphCard({
|
||||
"text-valign": "top",
|
||||
"text-halign": "center",
|
||||
"text-margin-y": -6,
|
||||
color: mutedFg,
|
||||
color: foreground,
|
||||
"font-size": "13px",
|
||||
"font-weight": "bold",
|
||||
shape: "rectangle",
|
||||
|
||||
@@ -3,11 +3,9 @@ import { Document, Page, pdfjs } from "react-pdf";
|
||||
import { AlertCircle, Download } from "lucide-react";
|
||||
import { Button } from "@/components/button.tsx";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import pdfjsWorkerUrl from "pdfjs-dist/build/pdf.worker.min.mjs?url";
|
||||
|
||||
pdfjs.GlobalWorkerOptions.workerSrc = new URL(
|
||||
"pdfjs-dist/build/pdf.worker.min.mjs",
|
||||
import.meta.url,
|
||||
).toString();
|
||||
pdfjs.GlobalWorkerOptions.workerSrc = pdfjsWorkerUrl;
|
||||
|
||||
interface PdfPreviewProps {
|
||||
content: string;
|
||||
@@ -88,10 +86,10 @@ export function PdfPreview({
|
||||
{pdfError ? (
|
||||
<div className="text-center text-muted-foreground p-8">
|
||||
<AlertCircle className="w-16 h-16 mx-auto mb-4 text-muted-foreground/50" />
|
||||
<h3 className="text-lg font-medium mb-2">Cannot load PDF</h3>
|
||||
<p className="text-sm mb-4">
|
||||
There was an error loading this PDF file.
|
||||
</p>
|
||||
<h3 className="text-lg font-medium mb-2">
|
||||
{t("fileManager.cannotLoadPdf")}
|
||||
</h3>
|
||||
<p className="text-sm mb-4">{t("fileManager.pdfLoadError")}</p>
|
||||
{onDownload && (
|
||||
<Button
|
||||
variant="outline"
|
||||
@@ -123,7 +121,7 @@ export function PdfPreview({
|
||||
<div className="text-center p-8">
|
||||
<div className="animate-spin rounded-full h-8 w-8 border-b-2 border-blue-500 mx-auto mb-2"></div>
|
||||
<p className="text-sm text-muted-foreground">
|
||||
Loading PDF...
|
||||
{t("fileManager.loadingPdf")}
|
||||
</p>
|
||||
</div>
|
||||
}
|
||||
@@ -136,7 +134,7 @@ export function PdfPreview({
|
||||
<div className="text-center p-4">
|
||||
<div className="animate-spin rounded-full h-6 w-6 border-b-2 border-blue-500 mx-auto mb-2"></div>
|
||||
<p className="text-xs text-muted-foreground">
|
||||
Loading page...
|
||||
{t("fileManager.loadingPage")}
|
||||
</p>
|
||||
</div>
|
||||
}
|
||||
|
||||
@@ -1080,7 +1080,11 @@
|
||||
"disk": "Disk",
|
||||
"used": "Used",
|
||||
"of": "of",
|
||||
"toggleSidebar": "Toggle Sidebar"
|
||||
"toggleSidebar": "Toggle Sidebar",
|
||||
"cannotLoadPdf": "Cannot load PDF",
|
||||
"pdfLoadError": "There was an error loading this PDF file.",
|
||||
"loadingPdf": "Loading PDF...",
|
||||
"loadingPage": "Loading page..."
|
||||
},
|
||||
"tunnels": {
|
||||
"noSshTunnels": "No SSH Tunnels",
|
||||
|
||||