mirror of
https://github.com/hhftechnology/vps-monitor.git
synced 2026-04-26 10:41:00 +00:00
Bump frontend to v2, add app store links, update routes
Some checks are pending
Docker Publish / build-and-push (push) Waiting to run
Some checks are pending
Docker Publish / build-and-push (push) Waiting to run
Bump frontend package version to 2.0.0. Update Footer component to improve layout (wrap, spacing) and add Google Play and Apple App Store links with SVG icons and accessible labels; also tidy anchor class ordering. Regenerate/update routeTree to reorder/include the /scan-history route entries (no behavioral change expected beyond regeneration).
This commit is contained in:
parent
8b746a296a
commit
dc3e081818
4 changed files with 53 additions and 13 deletions
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "vps-monitor",
|
||||
"version": "1.0.0",
|
||||
"version": "2.0.0",
|
||||
"private": true,
|
||||
"description": "VPS Monitor",
|
||||
"author": "HHF Technology <https://github.com/hhftechnology>",
|
||||
|
|
|
|||
|
|
@ -3,16 +3,43 @@ export function Footer() {
|
|||
|
||||
return (
|
||||
<footer className="border-t bg-background">
|
||||
<div className="container mx-auto flex h-14 items-center justify-between px-4">
|
||||
<div className="container mx-auto flex min-h-14 flex-wrap items-center justify-between gap-3 px-4 py-3">
|
||||
<p className="text-sm text-muted-foreground">
|
||||
{currentYear} VPS Monitor made by HHF Technology - MIT License
|
||||
{currentYear} VPS Monitor made by HHF Technology - MIT License
|
||||
</p>
|
||||
<div className="flex items-center gap-4">
|
||||
<a
|
||||
href="https://play.google.com/store/apps/details?id=com.vps.monitor.mobile"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-muted-foreground transition-colors hover:text-foreground"
|
||||
>
|
||||
<svg className="size-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 330 330" fill="none">
|
||||
<path
|
||||
fill="currentColor"
|
||||
d="M68 290.485c-5.5 9.6-17.8 12.8-27.3 7.3-9.6-5.5-12.8-17.8-7.3-27.3l14.3-24.7q24.15-7.35 39.6 11.4zm138.9-53.9H25c-11 0-20-9-20-20s9-20 20-20h51l65.4-113.2-20.5-35.4c-5.5-9.6-2.2-21.8 7.3-27.3 9.6-5.5 21.8-2.2 27.3 7.3l8.9 15.4 8.9-15.4c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-85.8 148.6h62.1c20.2 0 31.5 23.7 22.7 40m98.1 0h-29l19.6 33.9c5.5 9.6 2.2 21.8-7.3 27.3-9.6 5.5-21.8 2.2-27.3-7.3-32.9-56.9-57.5-99.7-74-128.1-16.7-29-4.8-58 7.1-67.8 13.1 22.7 32.7 56.7 58.9 102h52c11 0 20 9 20 20 0 11.1-9 20-20 20"
|
||||
/>
|
||||
</svg>
|
||||
<span className="sr-only">Google Play</span>
|
||||
</a>
|
||||
<a
|
||||
href="#"
|
||||
className="text-muted-foreground transition-colors hover:text-foreground"
|
||||
>
|
||||
<svg className="size-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none">
|
||||
<path
|
||||
fill="currentColor"
|
||||
fillRule="evenodd"
|
||||
d="M3.739.505c.519-.038 1.024.15 1.55.422.53.276 1.179.692 1.996 1.216l5.433 3.483c.47.301.86.55 1.148.774.289.225.55.48.696.822.21.497.21 1.058 0 1.555-.145.343-.407.598-.696.823s-.678.473-1.148.774l-5.433 3.483c-.817.524-1.466.94-1.996 1.216-.526.272-1.031.46-1.55.422a2.68 2.68 0 0 1-1.955-1.069 2 2 0 0 1-.276-.515c-.143-.387-.202-.85-.23-1.376-.029-.53-.028-1.186-.028-1.978V5.443c0-1.336-.005-2.322.156-3.011.074-.315.189-.605.378-.858A2.68 2.68 0 0 1 3.74.504M2.879 13.8c.247.265.585.428.95.454.165.012.415-.04.887-.286.468-.242 1.06-.622 1.898-1.158l3.13-2.007L7.883 9.03zm5.904-5.63 2.038 1.942 1.226-.785c.49-.315.822-.528 1.056-.709.232-.181.294-.277.314-.325a.75.75 0 0 0 0-.588c-.02-.049-.081-.144-.314-.325-.234-.181-.565-.395-1.056-.71l-1.011-.648zM3.83 1.745c-.417.03-.8.239-1.05.573a1 1 0 0 0-.05.08l5.154 4.915 2.076-1.98L6.614 3.19c-.838-.536-1.43-.916-1.898-1.158-.472-.245-.722-.298-.887-.286m-1.336 8.812c0 .783 0 1.388.025 1.871l4.465-4.257-4.477-4.269c-.011.413-.013.918-.013 1.54z"
|
||||
/>
|
||||
</svg>
|
||||
<span className="sr-only">Apple App Store</span>
|
||||
</a>
|
||||
<a
|
||||
href="https://github.com/hhftechnology/vps-monitor"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
className="text-muted-foreground transition-colors hover:text-foreground"
|
||||
>
|
||||
<svg className="size-5" viewBox="0 0 24 24" fill="currentColor">
|
||||
<path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v 3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z" />
|
||||
|
|
@ -23,7 +50,7 @@ export function Footer() {
|
|||
href="https://discord.gg/PEGcTJPfJ2"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
className="text-muted-foreground transition-colors hover:text-foreground"
|
||||
>
|
||||
<svg className="size-5" viewBox="0 0 24 24" fill="currentColor">
|
||||
<path d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.211.375-.444.864-.607 1.25a18.27 18.27 0 0 0-5.487 0c-.163-.386-.395-.875-.607-1.25a.077.077 0 0 0-.079-.037 19.736 19.736 0 0 0-4.778.755.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.975 14.975 0 0 0 1.293-2.1.07.07 0 0 0-.038-.098 13.11 13.11 0 0 1-1.872-.892.072.072 0 0 1-.009-.119c.125-.093.25-.19.371-.287a.075.075 0 0 1 .078-.01c3.928 1.793 8.18 1.793 12.062 0a.075.075 0 0 1 .079.009c.12.098.246.195.371.288a.072.072 0 0 1-.01.119 12.901 12.901 0 0 1-1.873.892.07.07 0 0 0-.037.099 14.993 14.993 0 0 0 1.293 2.1.078.078 0 0 0 .084.028 19.963 19.963 0 0 0 6.002-3.03.079.079 0 0 0 .033-.057c.5-4.566-.838-8.934-3.551-12.66a.071.071 0 0 0-.031-.028zM8.02 15.33c-1.183 0-2.157-.965-2.157-2.156 0-1.193.931-2.157 2.157-2.157 1.226 0 2.157.964 2.157 2.157 0 1.19-.93 2.155-2.157 2.155zm7.975 0c-1.183 0-2.157-.965-2.157-2.156 0-1.193.931-2.157 2.157-2.157 1.226 0 2.157.964 2.157 2.157 0 1.19-.931 2.155-2.157 2.155z" />
|
||||
|
|
|
|||
|
|
@ -86,8 +86,8 @@ export interface FileRoutesByFullPath {
|
|||
'/alerts': typeof AlertsIndexRoute
|
||||
'/images': typeof ImagesIndexRoute
|
||||
'/networks': typeof NetworksIndexRoute
|
||||
'/scan-history': typeof ScanHistoryIndexRoute
|
||||
'/sbom-history': typeof SbomHistoryIndexRoute
|
||||
'/scan-history': typeof ScanHistoryIndexRoute
|
||||
'/stats': typeof StatsIndexRoute
|
||||
'/containers/$containerId/logs': typeof ContainersContainerIdLogsRoute
|
||||
}
|
||||
|
|
@ -99,8 +99,8 @@ export interface FileRoutesByTo {
|
|||
'/alerts': typeof AlertsIndexRoute
|
||||
'/images': typeof ImagesIndexRoute
|
||||
'/networks': typeof NetworksIndexRoute
|
||||
'/scan-history': typeof ScanHistoryIndexRoute
|
||||
'/sbom-history': typeof SbomHistoryIndexRoute
|
||||
'/scan-history': typeof ScanHistoryIndexRoute
|
||||
'/stats': typeof StatsIndexRoute
|
||||
'/containers/$containerId/logs': typeof ContainersContainerIdLogsRoute
|
||||
}
|
||||
|
|
@ -113,8 +113,8 @@ export interface FileRoutesById {
|
|||
'/alerts/': typeof AlertsIndexRoute
|
||||
'/images/': typeof ImagesIndexRoute
|
||||
'/networks/': typeof NetworksIndexRoute
|
||||
'/scan-history/': typeof ScanHistoryIndexRoute
|
||||
'/sbom-history/': typeof SbomHistoryIndexRoute
|
||||
'/scan-history/': typeof ScanHistoryIndexRoute
|
||||
'/stats/': typeof StatsIndexRoute
|
||||
'/containers/$containerId/logs': typeof ContainersContainerIdLogsRoute
|
||||
}
|
||||
|
|
@ -128,8 +128,8 @@ export interface FileRouteTypes {
|
|||
| '/alerts'
|
||||
| '/images'
|
||||
| '/networks'
|
||||
| '/scan-history'
|
||||
| '/sbom-history'
|
||||
| '/scan-history'
|
||||
| '/stats'
|
||||
| '/containers/$containerId/logs'
|
||||
fileRoutesByTo: FileRoutesByTo
|
||||
|
|
@ -141,8 +141,8 @@ export interface FileRouteTypes {
|
|||
| '/alerts'
|
||||
| '/images'
|
||||
| '/networks'
|
||||
| '/scan-history'
|
||||
| '/sbom-history'
|
||||
| '/scan-history'
|
||||
| '/stats'
|
||||
| '/containers/$containerId/logs'
|
||||
id:
|
||||
|
|
@ -154,8 +154,8 @@ export interface FileRouteTypes {
|
|||
| '/alerts/'
|
||||
| '/images/'
|
||||
| '/networks/'
|
||||
| '/scan-history/'
|
||||
| '/sbom-history/'
|
||||
| '/scan-history/'
|
||||
| '/stats/'
|
||||
| '/containers/$containerId/logs'
|
||||
fileRoutesById: FileRoutesById
|
||||
|
|
@ -168,8 +168,8 @@ export interface RootRouteChildren {
|
|||
AlertsIndexRoute: typeof AlertsIndexRoute
|
||||
ImagesIndexRoute: typeof ImagesIndexRoute
|
||||
NetworksIndexRoute: typeof NetworksIndexRoute
|
||||
ScanHistoryIndexRoute: typeof ScanHistoryIndexRoute
|
||||
SbomHistoryIndexRoute: typeof SbomHistoryIndexRoute
|
||||
ScanHistoryIndexRoute: typeof ScanHistoryIndexRoute
|
||||
StatsIndexRoute: typeof StatsIndexRoute
|
||||
ContainersContainerIdLogsRoute: typeof ContainersContainerIdLogsRoute
|
||||
}
|
||||
|
|
@ -264,8 +264,8 @@ const rootRouteChildren: RootRouteChildren = {
|
|||
AlertsIndexRoute: AlertsIndexRoute,
|
||||
ImagesIndexRoute: ImagesIndexRoute,
|
||||
NetworksIndexRoute: NetworksIndexRoute,
|
||||
ScanHistoryIndexRoute: ScanHistoryIndexRoute,
|
||||
SbomHistoryIndexRoute: SbomHistoryIndexRoute,
|
||||
ScanHistoryIndexRoute: ScanHistoryIndexRoute,
|
||||
StatsIndexRoute: StatsIndexRoute,
|
||||
ContainersContainerIdLogsRoute: ContainersContainerIdLogsRoute,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,13 @@
|
|||
package com.vps.monitor.mobile;
|
||||
|
||||
import android.os.Bundle;
|
||||
import androidx.core.view.WindowCompat;
|
||||
import com.getcapacitor.BridgeActivity;
|
||||
|
||||
public class MainActivity extends BridgeActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
WindowCompat.setDecorFitsSystemWindows(getWindow(), false);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue