70a4b5765d
• Added read-only Base URL input that shows `status.server_address` (fallback `window.location.origin`) and copies value on click. • Embedded `ScrollList` as input `suffix`; auto-cycles common endpoints every 3 s and allows manual selection. • Introduced `API_ENDPOINTS` array in `web/src/constants/common.constant.js` for centralized endpoint management. • Implemented custom CSS to hide ScrollList wheel indicators / scrollbars for a cleaner look. • Created two blurred colour spheres behind the banner (`blur-ball-indigo`, `blur-ball-teal`) with light-/dark-mode opacity tweaks and lower vertical placement. • Increased letter-spacing for Chinese heading via conditional `tracking-wide` / `md:tracking-wider` classes to improve readability. • Misc: updated imports, helper functions, and responsive sizes to keep UI consistent across devices.
27 lines
655 B
JavaScript
27 lines
655 B
JavaScript
import React from 'react';
|
||
import { useTokenKeys } from '../../hooks/useTokenKeys';
|
||
|
||
const chat2page = () => {
|
||
const { keys, chatLink, serverAddress, isLoading } = useTokenKeys();
|
||
|
||
const comLink = (key) => {
|
||
if (!chatLink || !serverAddress || !key) return '';
|
||
return `${chatLink}/#/?settings={"key":"sk-${key}","url":"${encodeURIComponent(serverAddress)}"}`;
|
||
};
|
||
|
||
if (keys.length > 0) {
|
||
const redirectLink = comLink(keys[0]);
|
||
if (redirectLink) {
|
||
window.location.href = redirectLink;
|
||
}
|
||
}
|
||
|
||
return (
|
||
<div className="mt-[64px]">
|
||
<h3>正在加载,请稍候...</h3>
|
||
</div>
|
||
);
|
||
};
|
||
|
||
export default chat2page;
|