v1.6.0 #221

Merged
LukeGus merged 74 commits from dev-1.6.0 into main 2025-09-12 19:42:00 +00:00
5 changed files with 36 additions and 8 deletions
Showing only changes of commit 05b98cbc55 - Show all commits

View File

@@ -269,7 +269,8 @@
"passwordResetSuccess": "Password reset successfully! You can now log in with your new password.", "passwordResetSuccess": "Password reset successfully! You can now log in with your new password.",
"failedToInitiatePasswordReset": "Failed to initiate password reset", "failedToInitiatePasswordReset": "Failed to initiate password reset",
"failedToVerifyResetCode": "Failed to verify reset code", "failedToVerifyResetCode": "Failed to verify reset code",
"failedToCompletePasswordReset": "Failed to complete password reset" "failedToCompletePasswordReset": "Failed to complete password reset",
"documentation": "Documentation"
}, },
"nav": { "nav": {
"home": "Home", "home": "Home",

View File

@@ -256,7 +256,8 @@
"passwordResetSuccess": "密码重置成功!您现在可以使用新密码登录。", "passwordResetSuccess": "密码重置成功!您现在可以使用新密码登录。",
"failedToInitiatePasswordReset": "启动密码重置失败", "failedToInitiatePasswordReset": "启动密码重置失败",
"failedToVerifyResetCode": "验证重置代码失败", "failedToVerifyResetCode": "验证重置代码失败",
"failedToCompletePasswordReset": "完成密码重置失败" "failedToCompletePasswordReset": "完成密码重置失败",
"documentation": "文档"
}, },
"nav": { "nav": {
"home": "首页", "home": "首页",

View File

@@ -305,9 +305,19 @@ export function AdminSettings({isTopbarOpen = true}: AdminSettingsProps): React.
</TabsContent> </TabsContent>
<TabsContent value="oidc" className="space-y-6"> <TabsContent value="oidc" className="space-y-6">
<div className="space-y-4"> <div className="space-y-3">
<h3 className="text-lg font-semibold">{t('admin.externalAuthentication')}</h3> <h3 className="text-lg font-semibold">{t('admin.externalAuthentication')}</h3>
<p className="text-sm text-muted-foreground">{t('admin.configureExternalProvider')}</p> <div className="space-y-2">
<p className="text-sm text-muted-foreground">{t('admin.configureExternalProvider')}</p>
<Button
variant="outline"
size="sm"
className="h-8 px-3 text-xs"
onClick={() => window.open('https://docs.termix.site/oidc', '_blank')}
>
{t('common.documentation')}
</Button>
</div>
{oidcError && ( {oidcError && (
<Alert variant="destructive"> <Alert variant="destructive">

View File

@@ -985,7 +985,6 @@ export function HostManagerEditor({editingHost, onFormSubmit}: SSHManagerHostEdi
</FormItem> </FormItem>
)} )}
/> />
{form.watch('enableTunnel') && ( {form.watch('enableTunnel') && (
<> <>
<Alert className="mt-4"> <Alert className="mt-4">
@@ -1026,7 +1025,16 @@ export function HostManagerEditor({editingHost, onFormSubmit}: SSHManagerHostEdi
<div className="mt-2">{t('hosts.editSshConfig')}</div> <div className="mt-2">{t('hosts.editSshConfig')}</div>
</AlertDescription> </AlertDescription>
</Alert> </Alert>
<div className="mt-3 flex justify-between">
<Button
variant="outline"
size="sm"
className="h-8 px-3 text-xs"
onClick={() => window.open('https://docs.termix.site/tunnels', '_blank')}
>
{t('common.documentation')}
</Button>
</div>
<FormField <FormField
control={form.control} control={form.control}
name="tunnelConnections" name="tunnelConnections"

View File

@@ -408,8 +408,16 @@ export function TOTPSetup({ isEnabled: initialEnabled, onStatusChange }: TOTPSet
<Shield className="w-5 h-5" /> <Shield className="w-5 h-5" />
{t('auth.twoFactorTitle')} {t('auth.twoFactorTitle')}
</CardTitle> </CardTitle>
<CardDescription> <CardDescription className="space-y-2">
{t('auth.addExtraSecurityLayer')} <p>{t('auth.addExtraSecurityLayer')}.</p>
<Button
variant="outline"
size="sm"
className="h-8 px-3 text-xs"
onClick={() => window.open('https://docs.termix.site/totp', '_blank')}
>
{t('common.documentation')}
</Button>
</CardDescription> </CardDescription>
</CardHeader> </CardHeader>
<CardContent className="space-y-4"> <CardContent className="space-y-4">