bring the long status bar back

This commit is contained in:
2024-08-02 11:19:37 +08:00
parent c123f9454a
commit 41e3026ac5
2 changed files with 72 additions and 5 deletions

View File

@@ -474,9 +474,10 @@ export default function ChatBOX(props: {
setShow={setShowSearch} setShow={setShowSearch}
/> />
)} )}
<div class="navbar bg-base-100 p-0">
<div class="navbar bg-base-100 p-0 overflow-hidden">
<div class="navbar-start"> <div class="navbar-start">
<div class="dropdown"> <div class="dropdown lg:hidden">
<div tabindex={0} role="button" class="btn btn-ghost btn-circle"> <div tabindex={0} role="button" class="btn btn-ghost btn-circle">
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
@@ -521,12 +522,73 @@ export default function ChatBOX(props: {
</div> </div>
</div> </div>
<div <div
class="navbar-center" class="navbar-center cursor-pointer"
onClick={() => { onClick={() => {
setShowSettings(true); setShowSettings(true);
}} }}
> >
<div class="indicator"> {/* the long staus bar */}
<div class="stats shadow hidden lg:inline-grid">
<div class="stat">
<div class="stat-figure text-secondary">
<CubeIcon className="h-10 w-10" />
</div>
<div class="stat-title">Model</div>
<div class="stat-value text-base">{chatStore.model}</div>
<div class="stat-desc">
Prompt:{" "}
{chatStore.systemMessageContent.length > 30
? chatStore.systemMessageContent.slice(0, 30) + ".."
: chatStore.systemMessageContent}
</div>
</div>
<div class="stat">
<div class="stat-figure text-secondary">
<SwatchIcon className="h-10 w-10" />
</div>
<div class="stat-title">Mode</div>
<div class="stat-value text-base">
{chatStore.streamMode ? Tr("STREAM") : Tr("FETCH")}
</div>
<div class="stat-desc">STREAM/FETCH</div>
</div>
<div class="stat">
<div class="stat-figure text-secondary">
<ChatBubbleLeftEllipsisIcon className="h-10 w-10" />
</div>
<div class="stat-title">Tokens</div>
<div class="stat-value text-base">{chatStore.totalTokens}</div>
<div class="stat-desc">Max: {chatStore.maxTokens}</div>
</div>
<div class="stat">
<div class="stat-figure text-secondary">
<ScissorsIcon className="h-10 w-10" />
</div>
<div class="stat-title">Cut</div>
<div class="stat-value text-base">{chatStore.postBeginIndex}</div>
<div class="stat-desc">
Max: {chatStore.history.filter(({ hide }) => !hide).length}
</div>
</div>
<div class="stat">
<div class="stat-figure text-secondary">
<BanknotesIcon className="h-10 w-10" />
</div>
<div class="stat-title">Cost</div>
<div class="stat-value text-base">
${chatStore.cost.toFixed(4)}
</div>
<div class="stat-desc">
Accumulated: ${getTotalCost().toFixed(2)}
</div>
</div>
</div>
{/* the short status bar */}
<div class="indicator lg:hidden">
<span class="indicator-item badge badge-primary"> <span class="indicator-item badge badge-primary">
{chatStore.streamMode ? Tr("STREAM") : Tr("FETCH")} {chatStore.streamMode ? Tr("STREAM") : Tr("FETCH")}
</span> </span>
@@ -535,6 +597,7 @@ export default function ChatBOX(props: {
{chatStore.model} {chatStore.model}
</a> </a>
</div> </div>
</div> </div>
<div class="navbar-end"> <div class="navbar-end">
<button <button
@@ -1037,7 +1100,7 @@ export default function ChatBOX(props: {
}} }}
className="textarea textarea-bordered textarea-sm grow w-0" className="textarea textarea-bordered textarea-sm grow w-0"
style={{ style={{
"lineHeight": "1.39", lineHeight: "1.39",
}} }}
placeholder="Type here..." placeholder="Type here..."
></textarea> ></textarea>

View File

@@ -138,3 +138,7 @@ body::-webkit-scrollbar {
background-color: #f5f5f5; background-color: #f5f5f5;
z-index: -1; z-index: -1;
} }
.stat {
padding: 0.39rem;
}