style: improve code formatting and structure in ChannelsTable and render helpers

This commit is contained in:
JustSong 2025-02-12 01:15:45 +08:00
parent d6284bf6b0
commit 54c38de813
2 changed files with 41 additions and 15 deletions

View File

@ -1,7 +1,17 @@
import React, {useEffect, useState} from 'react'; import React, { useEffect, useState } from 'react';
import {useTranslation} from 'react-i18next'; import { useTranslation } from 'react-i18next';
import {Button, Dropdown, Form, Input, Label, Message, Pagination, Popup, Table,} from 'semantic-ui-react'; import {
import {Link} from 'react-router-dom'; Button,
Dropdown,
Form,
Input,
Label,
Message,
Pagination,
Popup,
Table,
} from 'semantic-ui-react';
import { Link } from 'react-router-dom';
import { import {
API, API,
loadChannelModels, loadChannelModels,
@ -13,8 +23,8 @@ import {
timestamp2string, timestamp2string,
} from '../helpers'; } from '../helpers';
import {CHANNEL_OPTIONS, ITEMS_PER_PAGE} from '../constants'; import { CHANNEL_OPTIONS, ITEMS_PER_PAGE } from '../constants';
import {renderGroup, renderNumber} from '../helpers/render'; import { renderGroup, renderNumber } from '../helpers/render';
function renderTimestamp(timestamp) { function renderTimestamp(timestamp) {
return <>{timestamp2string(timestamp)}</>; return <>{timestamp2string(timestamp)}</>;
@ -108,7 +118,7 @@ const ChannelsTable = () => {
const loadChannels = async (startIdx) => { const loadChannels = async (startIdx) => {
const res = await API.get(`/api/channel/?p=${startIdx}`); const res = await API.get(`/api/channel/?p=${startIdx}`);
const {success, message, data} = res.data; const { success, message, data } = res.data;
if (success) { if (success) {
let localChannels = data.map(processChannelData); let localChannels = data.map(processChannelData);
if (startIdx === 0) { if (startIdx === 0) {
@ -588,7 +598,15 @@ const ChannelsTable = () => {
/> />
</Table.Cell> </Table.Cell>
<Table.Cell> <Table.Cell>
<div> <div
style={{
display: 'flex',
alignItems: 'center',
flexWrap: 'wrap',
gap: '2px',
rowGap: '6px',
}}
>
<Button <Button
size={'tiny'} size={'tiny'}
positive positive

View File

@ -1,5 +1,5 @@
import {Label, Message} from 'semantic-ui-react'; import { Label, Message } from 'semantic-ui-react';
import {getChannelOption} from './helper'; import { getChannelOption } from './helper';
import React from 'react'; import React from 'react';
export function renderText(text, limit) { export function renderText(text, limit) {
@ -16,7 +16,15 @@ export function renderGroup(group) {
let groups = group.split(','); let groups = group.split(',');
groups.sort(); groups.sort();
return ( return (
<> <div
style={{
display: 'flex',
alignItems: 'center',
flexWrap: 'wrap',
gap: '2px',
rowGap: '6px',
}}
>
{groups.map((group) => { {groups.map((group) => {
if (group === 'vip' || group === 'pro') { if (group === 'vip' || group === 'pro') {
return <Label color='yellow'>{group}</Label>; return <Label color='yellow'>{group}</Label>;
@ -25,7 +33,7 @@ export function renderGroup(group) {
} }
return <Label>{group}</Label>; return <Label>{group}</Label>;
})} })}
</> </div>
); );
} }
@ -106,8 +114,8 @@ export function renderChannelTip(channelId) {
return <></>; return <></>;
} }
return ( return (
<Message> <Message>
<div dangerouslySetInnerHTML={{__html: channel.tip}}></div> <div dangerouslySetInnerHTML={{ __html: channel.tip }}></div>
</Message> </Message>
); );
} }