feat: auto trim host inputs, fix file manager jump hosts, dashboard prevent duplicates, file manager terminal not size updating, improve left sidebar sorting, hide/show tags, add apperance user profile tab, add new host manager tabs.

This commit is contained in:
LukeGus
2025-12-22 02:41:20 -06:00
parent a73f767072
commit c27280d037
9 changed files with 422 additions and 187 deletions

View File

@@ -28,6 +28,10 @@ export function Host({ host: initialHost }: HostProps): React.ReactElement {
const [serverStatus, setServerStatus] = useState<
"online" | "offline" | "degraded"
>("degraded");
const [showTags, setShowTags] = useState<boolean>(() => {
const saved = localStorage.getItem("showHostTags");
return saved !== null ? saved === "true" : true;
});
const tags = Array.isArray(host.tags) ? host.tags : [];
const hasTags = tags.length > 0;
@@ -54,6 +58,17 @@ export function Host({ host: initialHost }: HostProps): React.ReactElement {
window.removeEventListener("ssh-hosts:changed", handleHostsChanged);
}, [host.id]);
useEffect(() => {
const handleShowTagsChanged = () => {
const saved = localStorage.getItem("showHostTags");
setShowTags(saved !== null ? saved === "true" : true);
};
window.addEventListener("showHostTagsChanged", handleShowTagsChanged);
return () =>
window.removeEventListener("showHostTagsChanged", handleShowTagsChanged);
}, []);
const statsConfig = useMemo(() => {
try {
return host.statsConfig
@@ -216,8 +231,7 @@ export function Host({ host: initialHost }: HostProps): React.ReactElement {
</DropdownMenu>
</ButtonGroup>
</div>
{hasTags && (
{showTags && hasTags && (
<div className="flex flex-wrap items-center gap-2 mt-1">
{tags.map((tag: string) => (
<div