diff --git a/src/pages/Settings.tsx b/src/pages/Settings.tsx index 4d76be0..252f27f 100644 --- a/src/pages/Settings.tsx +++ b/src/pages/Settings.tsx @@ -1,4 +1,5 @@ import { + Avatar, Button, Card, CardBody, @@ -14,6 +15,7 @@ import { Tab, Tabs, Textarea, + Tooltip, cn, } from '@heroui/react' import * as Sentry from '@sentry/browser' @@ -49,6 +51,7 @@ import { ServerIcon, Trash2Icon, } from 'lucide-react' +import type React from 'react' import { type DetailedHTMLProps, type HTMLAttributes, useEffect, useRef, useState } from 'react' import { revokeMachineLicense, validateLicense } from '../../lib/license' import { @@ -150,7 +153,8 @@ function Settings() { className="flex-shrink-0 w-40 h-screen px-2 py-4 border-r border-neutral-700" classNames={{ tabList: 'w-full gap-3', - tab: 'h-14', + tab: 'h-14 justify-start', + tabContent: 'pl-4', }} size="lg" defaultSelectedKey="general" @@ -160,7 +164,7 @@ function Settings() { +
General
@@ -173,7 +177,7 @@ function Settings() { +
Remotes
@@ -187,7 +191,7 @@ function Settings() { +
Config
@@ -200,7 +204,7 @@ function Settings() { +
License
@@ -213,7 +217,7 @@ function Settings() { +
About
@@ -226,7 +230,7 @@ function Settings() { {/* +
Hosts
@@ -366,9 +370,7 @@ function GeneralSection() { }, [disabledActions]) return ( -
- - +

Password

@@ -566,7 +568,7 @@ function GeneralSection() {
-
+ ) } @@ -602,10 +604,29 @@ function LicenseSection() { }, []) return ( -
- - -
+ ❤️‍🔥

+ ) : ( + + + + ), + }} + > +
-
+ ) } @@ -767,10 +788,10 @@ function RemotesSection() { } return ( -
- { if (!licenseValid && remotes.length >= 4) { @@ -794,9 +815,10 @@ function RemotesSection() { > - } - /> -
+ ), + }} + > +
{remotes.map((remote) => ( )} -
+ ) } @@ -897,12 +919,12 @@ function RemoteCard({ key={remote} shadow="sm" isBlurred={true} - className="border-none bg-background/60 dark:bg-default-100/60" + className="h-20 border-none bg-background/60 dark:bg-content2/90" isPressable={true} onPress={onConfigPress} > -
+
{remote}

{remote}

@@ -922,7 +944,7 @@ function RemoteCard({ onPress={onConfigPress} // isIconOnly={true} // color="primary" - variant="faded" + variant="bordered" data-focus-visible="false" > {/* */} @@ -992,10 +1014,10 @@ function ConfigSection() { } return ( -
- - + - -
- + .removeConfigFile(configFile.id!) + }, 100) + }} + isDisabled={configFile.id === 'default'} + > + + + +
+ + ))}
@@ -1190,7 +1241,7 @@ function ConfigSection() { setIsSyncDrawerOpen(false) }} /> -
+ ) } @@ -1273,76 +1324,62 @@ function AboutSection() { }, [fetchLogs, info, last30Lines.length]) return ( -
- - + {!info && } {info && ( -
- - +
+
+ + - - + -
- )} + openUrl( + `https://github.com/rclone-ui/rclone-ui/issues/new?body=${encodeURIComponent( + body + )}` + ) + }} + > + Open Github Issue + +
- {info && ( -