This commit is contained in:
onysd 2026-08-06 03:28:49 +03:00
parent 78022c8f80
commit a9586aec87
9 changed files with 39 additions and 8 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -23,8 +23,8 @@
})();
</script>
<script type="module" crossorigin src="/assets/index-CvaJc5Uc.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-C7vmH2zd.css">
<script type="module" crossorigin src="/assets/index-CP1sn_7z.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-XySYVUb7.css">
</head>
<body>
<div id="root"></div>

View file

@ -171,7 +171,11 @@ export function AccountsPage({ navigate }: { navigate: Navigate }) {
<tbody>
{data?.rows.map((row) => (
<tr key={row.ID}>
<td className="avatar-col"><Avatar id={row.ID} firstName={row.FirstName} lastName={row.LastName} username={row.Username} /></td>
<td className="avatar-col">
<button className="avatar-link" type="button" onClick={() => navigate(`/accounts/${row.ID}`)} aria-label={`Open account ${row.ID}`}>
<Avatar id={row.ID} firstName={row.FirstName} lastName={row.LastName} username={row.Username} />
</button>
</td>
<td className="mono">{row.ID}</td>
<td>{displayPhone(row.Phone)}</td>
<td><UsernameCell username={row.Username} collectibles={row.Collectibles} /></td>

View file

@ -153,7 +153,11 @@ export function BotsPage({ navigate }: { navigate: Navigate }) {
<tbody>
{rows.map((row) => (
<tr key={row.ID}>
<td className="avatar-col"><Avatar id={row.ID} firstName={row.FirstName} username={row.Username} /></td>
<td className="avatar-col">
<button className="avatar-link" type="button" onClick={() => navigate(`/bots/${row.ID}`)} aria-label={`Open bot ${row.ID}`}>
<Avatar id={row.ID} firstName={row.FirstName} username={row.Username} />
</button>
</td>
<td className="mono">{row.ID}</td>
<td>{displayUsername(row.Username) || "-"}</td>
<td>{row.FirstName || "-"}</td>

View file

@ -147,7 +147,11 @@ export function ChannelsPage({ navigate }: { navigate: Navigate }) {
<tbody>
{data?.rows.map((row) => (
<tr key={row.ID}>
<td className="avatar-col"><Avatar id={row.ID} kind="channel" title={row.Title} /></td>
<td className="avatar-col">
<button className="avatar-link" type="button" onClick={() => navigate(`/channels/${row.ID}`)} aria-label={`Open channel ${row.ID}`}>
<Avatar id={row.ID} kind="channel" title={row.Title} />
</button>
</td>
<td className="mono">{row.ID}</td>
<td>{channelKind(row)}</td>
<td>{displayUsername(row.Username)}</td>

View file

@ -94,7 +94,11 @@ export function SharedDevicesPage({ navigate }: { navigate: Navigate }) {
<tbody>
{group.Accounts.map((account) => (
<tr key={account.UserID}>
<td className="avatar-col"><Avatar id={account.UserID} firstName={account.FirstName} lastName={account.LastName} username={account.Username} /></td>
<td className="avatar-col">
<button className="avatar-link" type="button" onClick={() => navigate(`/accounts/${account.UserID}`)} aria-label={`Open account ${account.UserID}`}>
<Avatar id={account.UserID} firstName={account.FirstName} lastName={account.LastName} username={account.Username} />
</button>
</td>
<td className="mono">{account.UserID}</td>
<td>{displayPhone(account.Phone)}</td>
<td>{displayUsername(account.Username) || "-"}</td>

View file

@ -548,6 +548,21 @@ textarea:focus {
cursor: pointer;
}
.avatar-link {
display: block;
padding: 0;
line-height: 0;
background: transparent;
border: 0;
border-radius: 999px;
cursor: pointer;
}
.avatar-link:hover,
.avatar-link:focus-visible {
outline: 2px solid var(--focus);
outline-offset: 2px;
}
.table-wrap {
width: 100%;
overflow-x: auto;