chore: login page upd
Docker Build & Publish / build (push) Has been cancelled
Docker Build & Publish / push (push) Has been cancelled
Docker Build & Publish / Prune old image versions (push) Has been cancelled

This commit is contained in:
Senko-san
2026-06-13 13:30:17 +03:00
parent a37c19fd45
commit 42080b37ea
+29 -4
View File
@@ -2,7 +2,15 @@ import { useState } from 'react';
import { useNavigate } from 'react-router'; import { useNavigate } from 'react-router';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import type { FetchBaseQueryError } from '@reduxjs/toolkit/query'; import type { FetchBaseQueryError } from '@reduxjs/toolkit/query';
import { Card, TextField, Button, Callout, Badge, Dialog } from '@olly/modern-sk'; import {
Card,
TextField,
Button,
Callout,
Badge,
Dialog,
IconButton,
} from '@olly/modern-sk';
import { Icon } from '../../components/common/Icon'; import { Icon } from '../../components/common/Icon';
import { useAppDispatch } from '../../hooks/useAppDispatch'; import { useAppDispatch } from '../../hooks/useAppDispatch';
import { useConnectionStatus } from '../../hooks/useConnectionStatus'; import { useConnectionStatus } from '../../hooks/useConnectionStatus';
@@ -139,7 +147,11 @@ function InstanceRow({
} }
footer={ footer={
<div <div
style={{ display: 'flex', justifyContent: 'flex-end', gap: '0.5rem' }} style={{
display: 'flex',
justifyContent: 'flex-end',
gap: '0.5rem',
}}
> >
<Button <Button
variant="ghost" variant="ghost"
@@ -187,8 +199,9 @@ export function ConnectPage() {
getActiveInstanceId(), getActiveInstanceId(),
); );
const selectedInstance = instances.find((i) => i.id === selectedId) ?? null; const selectedInstance = instances.find((i) => i.id === selectedId) ?? null;
const [instanceAddShown, setInstanceAddShown] = useState(false);
const [addUrl, setAddUrl] = useState('https://'); const [addUrl, setAddUrl] = useState('');
const [mode, setMode] = useState<Mode>('login'); const [mode, setMode] = useState<Mode>('login');
const [username, setUsername] = useState(''); const [username, setUsername] = useState('');
@@ -333,15 +346,27 @@ export function ConnectPage() {
marginTop: instances.length > 0 ? '0.5rem' : 0, marginTop: instances.length > 0 ? '0.5rem' : 0,
}} }}
> >
{instanceAddShown ? (
<>
<TextField <TextField
value={addUrl} value={addUrl}
onChange={(e) => setAddUrl(e.target.value)} onChange={(e) => setAddUrl(e.target.value)}
placeholder={t('connect.domains.addPlaceholder')} placeholder={t('connect.domains.addPlaceholder')}
style={{ flex: 1 }} style={{ flex: 1 }}
/> />
<Button type="submit" variant="primary"> <IconButton type="submit" variant="primary">
<Icon name="plus" />
</IconButton>
</>
) : (
<Button
onClick={() => setInstanceAddShown(true)}
style={{ width: '100%' }}
variant="ghost"
>
<Icon name="plus" /> {t('connect.domains.addButton')} <Icon name="plus" /> {t('connect.domains.addButton')}
</Button> </Button>
)}
</form> </form>
</div> </div>
</Card> </Card>