Files
ERitors-Scribe-Desktop/components/CreditMeters.tsx
natreex 060693f152 Add OAuth login support and streamline authentication flows
- Introduced `oauthLogin` method in `electron/preload.ts` and backend IPC handlers for OAuth via `BrowserWindow`.
- Replaced web-based OAuth redirection with Electron-specific implementation for Google, Facebook, and Apple.
- Refactored `SocialForm.tsx` to handle OAuth login success and token management via Electron.
- Updated `User`, `QuillSense`, and context methods to include `quill-trial` subscriptions and extended login logic.
- Cleaned up code, removed unused imports, and improved error handling for authentication scenarios.
2026-01-08 11:03:19 -05:00

30 lines
1.3 KiB
TypeScript

import React, {useContext} from "react";
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {faCoins, faDollarSign} from "@fortawesome/free-solid-svg-icons";
import {AIUsageContext, AIUsageContextProps} from "@/context/AIUsageContext";
export default function CreditCounter({isCredit}: { isCredit: boolean }) {
const {totalCredits, totalPrice} = useContext<AIUsageContextProps>(AIUsageContext)
if (isCredit) {
return (
<div
className="flex items-center space-x-2 bg-secondary/50 rounded-xl px-3 py-2 border border-secondary/50 shadow-sm">
<FontAwesomeIcon icon={faCoins} className="w-4 h-4 text-warning"/>
<span className="text-sm text-text-primary font-medium">
{Math.round(totalCredits)} crédits
</span>
</div>
);
}
return (
<div
className="flex items-center space-x-2 bg-secondary/50 rounded-xl px-3 py-2 border border-secondary/50 shadow-sm">
<FontAwesomeIcon icon={faDollarSign} className="w-4 h-4 text-primary"/>
<span className="text-sm text-text-primary font-medium">
{totalPrice ? totalPrice.toFixed(2) : '0.00'}
</span>
</div>
);
}