@pollar/react 0.4.3 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +23 -0
- package/dist/index.css.map +1 -1
- package/dist/index.js +113 -131
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +114 -132
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/constants.ts","../src/components/commons.tsx","../src/components/login-modal/EmailCodeInput.tsx","../src/components/login-modal/GithubButton.tsx","../src/components/login-modal/GoogleButton.tsx","../src/components/login-modal/LoginModalTemplate.tsx","../src/components/login-modal/LoginModal.tsx","../src/components/transaction-modal/TransactionModalTemplate.tsx","../src/components/transaction-modal/TransactionModal.tsx","../src/context.tsx","../src/WalletButton.tsx"],"names":["jsxs","jsx","StateStatus","useState","useRef","Fragment","STATE_VAR_CODES","useEffect"],"mappings":"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","file":"index.mjs","sourcesContent":["export const LOGO_POLLAR = 'https://pollar.xyz/assets/logo_pollar.png';\nexport const LOGO_GITHUB = 'https://pollar.xyz/assets/GitHub_Invertocat_White.png';\n// export const LOGO_FREIGHTER = 'https://framerusercontent.com/images/hJLECaObEXnPQkYrO2ZccbSk.png';\nexport const LOGO_FREIGHTER = 'https://pollar.xyz/assets/logo_freighter.png';\n// export const LOGO_ALBEDO = 'https://albedo.link/img/logo.svg';\nexport const LOGO_ALBEDO = 'https://pollar.xyz/assets/logo_albedo.svg';\n","import { type StateAuthenticationCodes, StateStatus, type StateTransactionCodes } from '@pollar/core';\nimport { Component, type ReactNode } from 'react';\nimport { LOGO_POLLAR } from '../constants';\n\ndeclare const __POLLAR_VERSION__: string;\n\ninterface ModalErrorBoundaryState {\n crashed: boolean;\n}\n\nexport class ModalErrorBoundary extends Component<{ children: ReactNode; onClose: () => void }, ModalErrorBoundaryState> {\n state: ModalErrorBoundaryState = { crashed: false };\n\n static getDerivedStateFromError(): ModalErrorBoundaryState {\n return { crashed: true };\n }\n\n componentDidCatch(error: unknown) {\n console.error('[Pollar] Modal crashed:', error);\n }\n\n render() {\n if (this.state.crashed) {\n this.props.onClose();\n return null;\n }\n return this.props.children;\n }\n}\n\nexport const PollarModalFooter = () => {\n return (\n <div className=\"pollar-footer\">\n <span className=\"pollar-footer-protected\">Protected by</span>\n <div className=\"pollar-footer-brand\">\n <img src={LOGO_POLLAR} alt=\"Pollar\" className=\"pollar-footer-logo\" />\n <span className=\"pollar-footer-name\">Pollar</span>\n <span className=\"pollar-footer-version\">v{__POLLAR_VERSION__}</span>\n </div>\n </div>\n );\n};\n\nconst LOGIN_CODE_MESSAGES: Record<StateAuthenticationCodes | StateTransactionCodes, { text: string }> = {\n NONE: { text: '' },\n LOGOUT: { text: 'Logged out' },\n CREATE_SESSION_START: { text: 'Starting session…' },\n CREATE_SESSION_ERROR: { text: 'Failed to start session' },\n CREATE_SESSION_SUCCESS: { text: 'Session ready' },\n EMAIL_AUTH_START: { text: 'Sending code…' },\n EMAIL_AUTH_START_ERROR: { text: 'Failed to send code' },\n EMAIL_AUTH_START_SUCCESS: { text: 'Code sent — check your inbox' },\n EMAIL_AUTH_CODE_ERROR: { text: 'Invalid code — try again' },\n EMAIL_AUTH_CODE_SUCCESS: { text: 'Code verified!' },\n WALLET_AUTH_START: { text: 'Connecting wallet…' },\n WALLET_AUTH_FREIGHTER_NOT_INSTALLED: { text: 'Freighter is not installed' },\n WALLET_AUTH_ALBEDO_NOT_INSTALLED: { text: 'Albedo is not installed' },\n WALLET_AUTH_CONNECTED: { text: 'Wallet connected' },\n WALLET_AUTH_LOGIN_START: { text: 'Signing in with wallet…' },\n WALLET_AUTH_LOGIN_START_SUCCESS: { text: 'Wallet signed in' },\n WALLET_AUTH_LOGIN_START_ERROR: { text: 'Failed to sign in with wallet' },\n WALLET_AUTH_ERROR: { text: 'Unknow wallet error' },\n STREAM_POLL_START: { text: 'Waiting for authentication…' },\n STREAM_POLL_EVENT: { text: 'Waiting for authentication…' },\n STREAM_POLL_READY: { text: 'Authenticated!' },\n FETCH_SESSION_START: { text: 'Loading session…' },\n FETCH_SESSION_SUCCESS: { text: 'Welcome back!' },\n FETCH_SESSION_ERROR: { text: 'Failed to load session' },\n NO_RESTORED_SESSION: { text: '' },\n RESTORED_SESSION_SUCCESS: { text: 'Session restored' },\n RESTORED_SESSION_ERROR: { text: 'Failed to restore session' },\n SESSION_STORED: { text: 'Session saved' },\n ERROR_UNKNOWN: { text: 'Something went wrong' },\n ABORTED: { text: 'Login cancelled' },\n // transaction\n BUILD_TRANSACTION_START: { text: 'Building transaction…' },\n BUILD_TRANSACTION_SUCCESS: { text: 'Transaction built, ready to sign and send' },\n BUILD_TRANSACTION_ERROR: { text: 'Failed to build transaction' },\n BUILD_TRANSACTION_ERROR_NO_WALLET: { text: 'No wallet connected' },\n SIGN_SEND_TRANSACTION_START: { text: 'Signing and sending transaction…' },\n SIGN_SEND_TRANSACTION_SUCCESS: { text: 'Transaction signed' },\n SIGN_SEND_TRANSACTION_ERROR: { text: 'Signing rejected' },\n};\n\ninterface LoginStatusBannerProps {\n code: StateAuthenticationCodes | StateTransactionCodes | null;\n status: StateStatus;\n onCancel?: () => void;\n onRetry?: () => void;\n}\n\nexport function ModalStatusBanner({ code, status, onCancel, onRetry }: LoginStatusBannerProps) {\n if (!code) {\n return <div className=\"pollar-status\" />;\n }\n const { text } = LOGIN_CODE_MESSAGES[code] || { text: '' };\n const isLoading = status === 'LOADING';\n const icon =\n status === 'ERROR' ? (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden>\n <circle cx=\"7\" cy=\"7\" r=\"7\" fill=\"currentColor\" />\n <path d=\"M4.5 4.5l5 5M9.5 4.5l-5 5\" stroke=\"white\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n </svg>\n ) : status === 'SUCCESS' ? (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden>\n <circle cx=\"7\" cy=\"7\" r=\"7\" fill=\"currentColor\" />\n <path d=\"M3.5 7l2.5 2.5 4.5-5\" stroke=\"white\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n ) : status === 'LOADING' ? (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden>\n <circle cx=\"7\" cy=\"7\" r=\"5.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeDasharray=\"22 10\" />\n </svg>\n ) : null;\n\n return (\n <div className=\"pollar-status\" data-kind={status}>\n {icon}\n <span>{text}</span>\n {isLoading && onCancel && (\n <button type=\"button\" className=\"pollar-status-cancel\" onClick={onCancel}>\n Cancel\n </button>\n )}\n {status === StateStatus.ERROR && onRetry && (\n <button type=\"button\" className=\"pollar-status-cancel\" onClick={onRetry}>\n Retry\n </button>\n )}\n </div>\n );\n}\n","import { useRef, useState } from 'react';\n\ninterface EmailCodeInputProps {\n email?: string;\n onSubmit: (code: string) => void;\n}\n\nexport function EmailCodeInput({ email, onSubmit }: EmailCodeInputProps) {\n const [digits, setDigits] = useState(['', '', '', '', '', '']);\n const inputRefs = useRef<(HTMLInputElement | null)[]>([]);\n\n function submit(next: string[]) {\n if (next.every(Boolean)) onSubmit(next.join(''));\n }\n\n function handleChange(index: number, value: string) {\n const cleaned = value.replace(/\\D/g, '').slice(-1);\n const next = digits.map((d, i) => (i === index ? cleaned : d));\n setDigits(next);\n if (cleaned && index < 5) inputRefs.current[index + 1]?.focus();\n submit(next);\n }\n\n function handleKeyDown(index: number, e: React.KeyboardEvent<HTMLInputElement>) {\n if (e.key === 'Backspace' && !digits[index] && index > 0) {\n inputRefs.current[index - 1]?.focus();\n }\n }\n\n function handlePaste(e: React.ClipboardEvent<HTMLInputElement>) {\n e.preventDefault();\n const text = e.clipboardData.getData('text').replace(/\\D/g, '').slice(0, 6);\n const next = Array.from({ length: 6 }, (_, i) => text[i] ?? '');\n setDigits(next);\n inputRefs.current[Math.min(text.length - 1, 5)]?.focus();\n submit(next);\n }\n\n return (\n <div className=\"pollar-code-section\">\n <p className=\"pollar-code-label\">\n Enter the 6-digit code sent to{' '}\n {email ? <strong>{email}</strong> : 'your email'}\n </p>\n <div className=\"pollar-code-inputs\">\n {digits.map((digit, i) => (\n <input\n key={i}\n ref={(el) => {\n inputRefs.current[i] = el;\n }}\n type=\"text\"\n inputMode=\"numeric\"\n maxLength={2}\n value={digit}\n className=\"pollar-code-input\"\n onChange={(e) => handleChange(i, e.target.value)}\n onKeyDown={(e) => handleKeyDown(i, e)}\n onPaste={handlePaste}\n />\n ))}\n </div>\n </div>\n );\n}\n","// https://brand.github.com/foundations/logo\nimport './GithubButton.css';\nimport { LOGO_GITHUB } from '../../constants';\n\nexport const GithubButton = ({ disabled, onClick }: { disabled: boolean; onClick: () => void }) => {\n return (\n <button className=\"github-button\" disabled={disabled} onClick={onClick}>\n <img src={LOGO_GITHUB} alt=\"GitHub\" className=\"github-button-icon\" />\n <span className=\"github-button-contents\">Continue with GitHub</span>\n </button>\n );\n};\n","// https://developers.google.com/identity/branding-guidelines\nimport './GoogleButton.css';\n\nexport const GoogleButton = ({ disabled, onClick }: { disabled: boolean; onClick: () => void }) => {\n return (\n <button className=\"gsi-material-button\" disabled={disabled} onClick={onClick}>\n <div className=\"gsi-material-button-state\"></div>\n <div className=\"gsi-material-button-content-wrapper\">\n <div className=\"gsi-material-button-icon\">\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 48 48\"\n // xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n style={{ display: 'block' }}\n >\n <path\n fill=\"#EA4335\"\n d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"\n ></path>\n <path\n fill=\"#4285F4\"\n d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"\n ></path>\n <path\n fill=\"#FBBC05\"\n d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"\n ></path>\n <path\n fill=\"#34A853\"\n d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"\n ></path>\n <path fill=\"none\" d=\"M0 0h48v48H0z\"></path>\n </svg>\n </div>\n <span className=\"gsi-material-button-contents\">Continue with Google</span>\n <span style={{ display: 'none' }}>Continue with Google</span>\n </div>\n </button>\n );\n};\n","'use client';\n\nimport { StateAuthenticationCodes, StateStatus } from '@pollar/core';\nimport { type CSSProperties, type RefObject } from 'react';\nimport { LOGO_ALBEDO, LOGO_FREIGHTER, LOGO_POLLAR } from '../../constants';\nimport { ModalStatusBanner, PollarModalFooter } from '../commons';\nimport { EmailCodeInput } from './EmailCodeInput';\nimport { GithubButton } from './GithubButton';\nimport { GoogleButton } from './GoogleButton';\n\ninterface LoginModalTemplateProps {\n theme: string;\n accentColor: string;\n logoUrl: string | null;\n emailEnabled: boolean;\n embeddedWallets: boolean;\n providers: {\n google: boolean;\n discord: boolean;\n x: boolean;\n github: boolean;\n apple: boolean;\n };\n appName: string;\n email?: string;\n status: StateStatus;\n error?: string | null;\n onEmailChange?: (email: string) => void;\n onEmailSubmit?: () => void;\n onSocialLogin?: (provider: 'google' | 'github') => void;\n onFreighterConnect?: () => void;\n onAlbedoConnect?: () => void;\n loginStateCode: StateAuthenticationCodes | null;\n awaitingEmailCode?: boolean;\n onCodeSubmit?: (code: string) => void;\n cancelLoginRef: RefObject<(() => void) | null>;\n onRetry: () => void;\n}\n\nexport function LoginModalTemplate({\n theme,\n accentColor,\n logoUrl,\n emailEnabled,\n embeddedWallets,\n providers,\n appName,\n email = '',\n status,\n error,\n onEmailChange,\n onEmailSubmit,\n onSocialLogin,\n onFreighterConnect,\n onAlbedoConnect,\n loginStateCode,\n awaitingEmailCode = false,\n onCodeSubmit,\n cancelLoginRef,\n onRetry,\n}: LoginModalTemplateProps) {\n const isDark = theme === 'dark';\n const enabledSocial = Object.entries(providers).filter(([, enabled]) => enabled);\n\n const cssVars = {\n '--pollar-accent': accentColor,\n '--pollar-buttons-border-radius': '6px',\n '--pollar-buttons-height': '44px',\n '--pollar-bg': isDark ? '#1a1a1a' : '#ffffff',\n '--pollar-border': isDark ? '#374151' : '#e5e7eb',\n '--pollar-text': isDark ? '#ffffff' : '#111827',\n '--pollar-muted': isDark ? '#9ca3af' : '#6b7280',\n '--pollar-input-bg': isDark ? '#374151' : '#ffffff',\n '--pollar-error-bg': isDark ? '#2a1515' : '#fef2f2',\n '--pollar-error-border': isDark ? '#7f1d1d' : '#fecaca',\n '--pollar-error-text': isDark ? '#f87171' : '#dc2626',\n } as CSSProperties;\n\n const isLoading = status === StateStatus.LOADING;\n\n return (\n <div className=\"pollar-modal\" style={cssVars} onClick={(e) => e.stopPropagation()}>\n <div className=\"pollar-header\">\n <div className=\"pollar-logo-wrap\">\n <img src={logoUrl ?? LOGO_POLLAR} alt=\"Logo\" className=\"pollar-logo\" />\n </div>\n <h2 className=\"pollar-title\">{appName}</h2>\n <p className=\"pollar-subtitle\">Log in or sign up</p>\n </div>\n\n {awaitingEmailCode ? (\n <EmailCodeInput email={email} onSubmit={onCodeSubmit ?? (() => {})} />\n ) : (\n <>\n {error && <div className=\"pollar-error\">{error}</div>}\n\n {emailEnabled && (\n <div className=\"pollar-email-section\">\n <input\n type=\"email\"\n placeholder=\"you@email.com\"\n value={email}\n disabled={isLoading}\n className=\"pollar-email-input\"\n onChange={(e) => onEmailChange?.(e.target.value)}\n onKeyDown={(e) => e.key === 'Enter' && onEmailSubmit?.()}\n />\n <button type=\"button\" disabled={isLoading || !email} className=\"pollar-submit-btn\" onClick={onEmailSubmit}>\n Submit\n </button>\n </div>\n )}\n\n {emailEnabled && enabledSocial.length > 0 && (\n <div className=\"pollar-divider\">\n <div className=\"pollar-divider-line\" />\n <div className=\"pollar-divider-label\">\n <span className=\"pollar-divider-text\">or continue with</span>\n </div>\n </div>\n )}\n\n {enabledSocial.length > 0 && (\n <div className=\"pollar-social-list\">\n {enabledSocial.some(([key]) => key === 'google') && (\n <GoogleButton disabled={isLoading} onClick={() => onSocialLogin?.('google')} />\n )}\n {enabledSocial.some(([key]) => key === 'github') && (\n <GithubButton disabled={isLoading} onClick={() => onSocialLogin?.('github')} />\n )}\n </div>\n )}\n\n {embeddedWallets && (\n <div className=\"pollar-wallet-section\">\n <p className=\"pollar-wallet-label\">Continue with a wallet</p>\n <button type=\"button\" disabled={isLoading} className=\"pollar-wallet-btn\" onClick={onFreighterConnect}>\n <img src={LOGO_FREIGHTER} alt=\"Freighter\" className=\"pollar-wallet-icon\" />\n Freighter\n </button>\n <button type=\"button\" disabled={isLoading} className=\"pollar-wallet-btn\" onClick={onAlbedoConnect}>\n <img src={LOGO_ALBEDO} alt=\"Albedo\" className=\"pollar-wallet-icon\" />\n Albedo\n </button>\n </div>\n )}\n </>\n )}\n\n <ModalStatusBanner code={loginStateCode} status={status} onCancel={() => cancelLoginRef.current?.()} onRetry={onRetry} />\n\n <PollarModalFooter />\n </div>\n );\n}\n","'use client';\n\nimport { PollarStateVar, STATE_VAR_CODES, StateAuthenticationCodes, StateStatus, WalletType } from '@pollar/core';\nimport { useEffect, useRef, useState } from 'react';\nimport { usePollar } from '../../context';\nimport { LoginModalTemplate } from './LoginModalTemplate';\nimport './LoginModal.css';\n\ninterface LoginModalProps {\n onClose: () => void;\n}\n\nfunction isLoginCode(code: string): code is StateAuthenticationCodes {\n return (Object.values(STATE_VAR_CODES[PollarStateVar.AUTHENTICATION]) as string[]).some((c) => code.startsWith(c));\n}\n\nexport function LoginModal({ onClose }: LoginModalProps) {\n const [email, setEmail] = useState('');\n const { getClient, styles, config } = usePollar();\n const [status, setStatus] = useState<StateStatus>(StateStatus.NONE);\n const [error, setError] = useState<string | null>(null);\n const [loginStateCode, setLoginStateCode] = useState<StateAuthenticationCodes | null>(null);\n const [awaitingEmailCode, setAwaitingEmailCode] = useState(false);\n const [clientSessionId, setClientSessionId] = useState<string | null>(null);\n\n useEffect(() => {\n return getClient().onStateChange((stateEntry) => {\n if (stateEntry.var === PollarStateVar.AUTHENTICATION && isLoginCode(stateEntry.code)) {\n setLoginStateCode(stateEntry.code);\n setStatus(stateEntry.status);\n if (stateEntry.code === STATE_VAR_CODES[PollarStateVar.AUTHENTICATION].STREAM_POLL_START) {\n const data = stateEntry.data as { clientSessionId: string };\n setClientSessionId(data.clientSessionId);\n }\n if (stateEntry.code === STATE_VAR_CODES[PollarStateVar.AUTHENTICATION].EMAIL_AUTH_START_SUCCESS) {\n const data = stateEntry.data as { code?: string; content: { clientSessionId: string } };\n if (data?.code === 'SDK_EMAIL_CODE_SENT') {\n setAwaitingEmailCode(true);\n setClientSessionId(data?.content?.clientSessionId);\n }\n }\n if (stateEntry.code === STATE_VAR_CODES[PollarStateVar.AUTHENTICATION].FETCH_SESSION_SUCCESS) {\n setAwaitingEmailCode(false);\n setTimeout(onClose, 1000);\n }\n }\n });\n }, []);\n\n const { theme = 'light', accentColor = '#005DB4', logoUrl, emailEnabled, embeddedWallets, providers } = styles;\n\n function handleClose() {\n setEmail('');\n setError(null);\n setAwaitingEmailCode(false);\n setClientSessionId(null);\n onClose();\n }\n\n const cancelLoginRef = useRef<(() => void) | null>(null);\n\n function handleEmail() {\n if (!email) {\n return;\n }\n const { cancelLogin } = getClient().login({ provider: 'email', email });\n cancelLoginRef.current = cancelLogin;\n }\n\n function handleSocialLogin(provider: 'google' | 'github') {\n const { cancelLogin } = getClient().login({ provider });\n cancelLoginRef.current = cancelLogin;\n }\n\n function handleWalletConnect(type: WalletType) {\n const { cancelLogin } = getClient().login({ provider: 'wallet', type });\n cancelLoginRef.current = cancelLogin;\n }\n\n async function handleVerifyCode(code: string) {\n if (!clientSessionId) return;\n void getClient().verifyEmailCode(clientSessionId, code);\n }\n\n function handleRetry() {\n getClient().logout();\n }\n\n return (\n <div className=\"pollar-overlay\" onClick={handleClose}>\n <LoginModalTemplate\n theme={theme}\n accentColor={accentColor}\n logoUrl={logoUrl ?? null}\n emailEnabled={!!emailEnabled}\n embeddedWallets={!!embeddedWallets}\n providers={{\n google: !!providers?.google,\n discord: !!providers?.discord,\n x: !!providers?.x,\n github: !!providers?.github,\n apple: !!providers?.apple,\n }}\n appName={config.application?.name ?? 'Pollar'}\n email={email}\n status={status}\n error={error}\n onEmailChange={setEmail}\n onEmailSubmit={handleEmail}\n onSocialLogin={handleSocialLogin}\n onFreighterConnect={() => handleWalletConnect(WalletType.FREIGHTER)}\n onAlbedoConnect={() => handleWalletConnect(WalletType.ALBEDO)}\n loginStateCode={loginStateCode}\n awaitingEmailCode={awaitingEmailCode}\n onCodeSubmit={handleVerifyCode}\n cancelLoginRef={cancelLoginRef}\n onRetry={handleRetry}\n />\n </div>\n );\n}\n","'use client';\n\nimport { StateStatus, StateTransactionCodes, TxBuildResponse } from '@pollar/core';\nimport React, { useState } from 'react';\nimport { ModalStatusBanner, PollarModalFooter } from '../commons';\n\nexport interface TransactionModalTemplateProps {\n theme: string;\n accentColor: string;\n transactionStateCode: StateTransactionCodes;\n status: StateStatus;\n buildResult: TxBuildResponse['content'] | null;\n submitResult: { hash: string; status: string } | null;\n onClose: () => void;\n onSignAndSend: () => void;\n onRetrySignAndSend: () => void;\n}\n\nexport function TransactionModalTemplate({\n theme,\n accentColor,\n transactionStateCode,\n status,\n buildResult,\n submitResult,\n onClose,\n onSignAndSend,\n onRetrySignAndSend,\n}: TransactionModalTemplateProps) {\n const isDark = theme === 'dark';\n\n const cssVars = {\n '--pollar-accent': accentColor,\n '--pollar-buttons-border-radius': '8px',\n '--pollar-buttons-height': '44px',\n '--pollar-bg': isDark ? '#1a1a1a' : '#ffffff',\n '--pollar-border': isDark ? '#374151' : '#e5e7eb',\n '--pollar-text': isDark ? '#ffffff' : '#111827',\n '--pollar-muted': isDark ? '#9ca3af' : '#6b7280',\n '--pollar-input-bg': isDark ? '#374151' : 'rgba(0,0,0,0.04)',\n '--pollar-error-text': isDark ? '#f87171' : '#dc2626',\n '--pollar-success-text': isDark ? '#4ade80' : '#16a34a',\n } as React.CSSProperties;\n\n const [showXdr, setShowXdr] = useState(false);\n const [copied, setCopied] = useState(false);\n\n function handleCopyHash() {\n if (!submitResult) return;\n navigator.clipboard.writeText(submitResult.hash).then(() => {\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n });\n }\n\n const explorerNetwork = buildResult?.summary.network?.toLowerCase().includes('testnet') ? 'testnet' : 'public';\n const explorerUrl = submitResult ? `https://stellar.expert/explorer/${explorerNetwork}/tx/${submitResult.hash}` : null;\n\n const isError = transactionStateCode.includes('ERROR');\n const isSuccess = transactionStateCode.includes('SUCCESS');\n const isBuilt = buildResult && transactionStateCode === 'BUILD_TRANSACTION_SUCCESS';\n const isDone = submitResult && transactionStateCode === 'SIGN_SEND_TRANSACTION_START';\n\n return (\n <div className=\"pollar-tx-modal\" data-theme={theme} style={cssVars} onClick={(e) => e.stopPropagation()}>\n <div className=\"pollar-tx-header\">\n <h2 className=\"pollar-tx-title\">Transaction</h2>\n <button className=\"pollar-tx-close\" onClick={onClose} aria-label=\"Close\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden>\n <path d=\"M2 2l12 12M14 2L2 14\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" />\n </svg>\n </button>\n </div>\n\n {isBuilt && (\n <>\n <div className=\"pollar-tx-summary\">\n <p className=\"pollar-tx-summary-title\">Details</p>\n <ul className=\"pollar-tx-summary-lines\">\n {buildResult.summary.lines.map((line, i) => (\n <li key={i} className=\"pollar-tx-summary-line\">\n {line}\n </li>\n ))}\n </ul>\n </div>\n <div className=\"pollar-tx-meta\">\n <div className=\"pollar-tx-meta-item\">\n <span className=\"pollar-tx-meta-label\">Network</span>\n <span className=\"pollar-tx-meta-value\">{buildResult.summary.network}</span>\n </div>\n <div className=\"pollar-tx-meta-item\">\n <span className=\"pollar-tx-meta-label\">Fee</span>\n <span className=\"pollar-tx-meta-value\">{buildResult.summary.fee}</span>\n </div>\n </div>\n <div className=\"pollar-tx-xdr\">\n <button className=\"pollar-tx-xdr-toggle\" onClick={() => setShowXdr((v) => !v)}>\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n aria-hidden\n style={{ transform: showXdr ? 'rotate(90deg)' : 'rotate(0deg)', transition: 'transform 150ms' }}\n >\n <path d=\"M4 2l4 4-4 4\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n Raw transaction (XDR)\n </button>\n {showXdr && <pre className=\"pollar-tx-xdr-content\">{buildResult.unsignedXdr}</pre>}\n </div>\n </>\n )}\n\n {submitResult && transactionStateCode === 'SIGN_SEND_TRANSACTION_SUCCESS' && (\n <div className=\"pollar-tx-result\">\n <span className=\"pollar-tx-result-label\">Transaction hash</span>\n <span className=\"pollar-tx-result-hash\">{submitResult.hash}</span>\n <div className=\"pollar-tx-result-actions\">\n <button className=\"pollar-tx-result-btn\" onClick={handleCopyHash}>\n {copied ? (\n <>\n <svg width=\"13\" height=\"13\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden>\n <circle cx=\"7\" cy=\"7\" r=\"7\" fill=\"currentColor\" />\n <path\n d=\"M3.5 7l2.5 2.5 4.5-5\"\n stroke=\"white\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n Copied!\n </>\n ) : (\n <>\n <svg width=\"13\" height=\"13\" viewBox=\"0 0 13 13\" fill=\"none\" aria-hidden>\n <rect x=\"4\" y=\"4\" width=\"8\" height=\"8\" rx=\"1.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path\n d=\"M3 9H2a1 1 0 01-1-1V2a1 1 0 011-1h6a1 1 0 011 1v1\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n Copy hash\n </>\n )}\n </button>\n {explorerUrl && (\n <a className=\"pollar-tx-result-btn\" href={explorerUrl} target=\"_blank\" rel=\"noopener noreferrer\">\n <svg width=\"13\" height=\"13\" viewBox=\"0 0 13 13\" fill=\"none\" aria-hidden>\n <path\n d=\"M5 2H2a1 1 0 00-1 1v8a1 1 0 001 1h8a1 1 0 001-1V8\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M8 1h4m0 0v4m0-4L6 7\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n View on Explorer\n </a>\n )}\n </div>\n </div>\n )}\n\n {isBuilt && (\n <button className=\"pollar-tx-sign-btn\" onClick={onSignAndSend}>\n Sign & Send\n </button>\n )}\n {/*{isError && (*/}\n {/* <button className=\"pollar-tx-sign-btn\" onClick={onRetry}>*/}\n {/* Retry*/}\n {/* </button>*/}\n {/*)}*/}\n {isDone && (\n <button className=\"pollar-tx-sign-btn\" onClick={onClose}>\n Done\n </button>\n )}\n\n <ModalStatusBanner\n code={transactionStateCode}\n status={status}\n // onCancel={() => cancelLoginRef.current?.()}\n // onRetry={onRetry}\n />\n\n <PollarModalFooter />\n </div>\n );\n}\n","'use client';\n\nimport { StateTransactionCodes, TxBuildResponse, TxSignSendResponse } from '@pollar/core';\nimport { usePollar } from '../../context';\nimport './TransactionModal.css';\nimport { TransactionModalTemplate } from './TransactionModalTemplate';\n\ninterface TransactionModalProps {\n onClose: () => void;\n}\n\nconst isTxBuildResponseContent = (data: unknown): data is TxBuildResponse['content'] => {\n if (!data || typeof data !== 'object') return false;\n const d = data as Record<string, unknown>;\n return (\n typeof d.unsignedXdr === 'string' &&\n typeof d.networkPassphrase === 'string' &&\n typeof d.estimatedFee === 'string' &&\n d.summary !== null &&\n typeof d.summary === 'object'\n );\n};\n\nconst isTxSignSendResponseContent = (data: unknown): data is TxSignSendResponse['content'] => {\n if (!data || typeof data !== 'object') return false;\n const d = data as Record<string, unknown>;\n return typeof d.hash === 'string' && (d.status === 'PENDING' || d.status === 'SUCCESS' || d.status === 'FAILED');\n};\n\nexport function TransactionModal({ onClose }: TransactionModalProps) {\n const {\n getClient,\n styles,\n state: { transaction },\n } = usePollar();\n const { theme = 'light', accentColor = '#005DB4' } = styles;\n\n let buildResult: TxBuildResponse['content'] | null = null;\n const transactionStateCode = transaction.code as StateTransactionCodes;\n const content = (transaction.data as { content: unknown })?.content;\n if (isTxBuildResponseContent(content)) {\n buildResult = content;\n }\n let submitResult: TxSignSendResponse['content'] | null = null;\n if (isTxSignSendResponseContent(content)) {\n submitResult = content;\n }\n\n async function handleSignAndSend() {\n if (buildResult) {\n await getClient().submitTx(buildResult.unsignedXdr);\n }\n }\n\n return (\n <div className=\"pollar-overlay\" onClick={onClose}>\n <TransactionModalTemplate\n theme={theme}\n accentColor={accentColor}\n transactionStateCode={transactionStateCode}\n status={transaction.status}\n buildResult={buildResult}\n submitResult={submitResult}\n onClose={onClose}\n onSignAndSend={handleSignAndSend}\n onRetrySignAndSend={handleSignAndSend}\n />\n </div>\n );\n}\n","'use client';\n\nimport {\n isValidSession,\n PollarApiClient,\n PollarApplicationConfigContent,\n PollarClient,\n PollarClientConfig,\n PollarLoginOptions,\n PollarStateEntry,\n PollarStateVar,\n STATE_VAR_CODES,\n StateStatus,\n StellarClient,\n TxBuildBody,\n} from '@pollar/core';\nimport { createContext, ReactNode, useContext, useEffect, useMemo, useState } from 'react';\nimport { ModalErrorBoundary } from './components/commons';\nimport { LoginModal } from './components/login-modal/LoginModal';\nimport { TransactionModal } from './components/transaction-modal/TransactionModal';\nimport type { PollarConfig, PollarStyles } from './types';\n\nconst emptyResponse = {\n application: {\n name: '',\n },\n styles: {},\n};\n\nasync function fetchRemoteConfig(api: PollarApiClient): Promise<PollarConfig> {\n try {\n const { data, error } = await api.GET(`/applications/config`);\n if (!data || error) {\n return emptyResponse;\n }\n return data.content;\n } catch {\n return emptyResponse;\n }\n}\n\ntype PollarState = { [key in PollarStateVar]: PollarStateEntry };\n\ninterface PollarContextValue {\n walletAddress: string;\n getClient: () => PollarClient;\n openLoginModal: () => void;\n sendTransaction: (\n operation: TxBuildBody['operation'],\n params: TxBuildBody['params'],\n options?: TxBuildBody['options'],\n ) => void;\n openTransactionModal: () => void;\n isAuthenticated: boolean;\n login: (options: PollarLoginOptions) => void;\n logout: () => void;\n config: PollarConfig;\n styles: PollarStyles;\n state: PollarState;\n // stellar\n getBalance: (publicKey?: string) => any;\n buildTx: (\n operation: TxBuildBody['operation'],\n params: TxBuildBody['params'],\n options?: TxBuildBody['options'],\n ) => Promise<void>;\n submitTx: (signedXdr: string) => Promise<void>;\n}\n\nconst PollarContext = createContext<PollarContextValue | null>(null);\n\ninterface PollarProviderProps {\n config: PollarClientConfig;\n styles?: PollarStyles;\n children: ReactNode;\n}\n\nexport function PollarProvider({ config, styles: propStyles, children }: PollarProviderProps) {\n const [pollarClient] = useState<PollarClient>(() => new PollarClient(config));\n const [stellarClient] = useState<StellarClient>(() => new StellarClient(config.stellarNetwork || 'testnet'));\n const [sessionState, setSessionState] = useState<PollarApplicationConfigContent | null>(null);\n const [state, setState] = useState<PollarState>({\n network: {\n var: 'network',\n code: STATE_VAR_CODES.network.NONE,\n status: StateStatus.NONE,\n level: 'info',\n ts: 0,\n },\n authentication: {\n var: 'authentication',\n code: STATE_VAR_CODES.authentication.NONE,\n status: StateStatus.NONE,\n level: 'info',\n ts: 0,\n },\n transaction: {\n var: 'transaction',\n code: STATE_VAR_CODES.transaction.NONE,\n status: StateStatus.NONE,\n level: 'info',\n ts: 0,\n },\n });\n const [remoteConfig, setRemoteConfig] = useState<PollarConfig>(emptyResponse);\n const [styles, setStyles] = useState<PollarStyles>(propStyles ?? {});\n\n useEffect(() => {\n return pollarClient.onStateChange((stateEntry) => {\n setState((prevState) => {\n if (JSON.stringify(prevState[stateEntry.var]) !== JSON.stringify(stateEntry)) {\n return {\n ...prevState,\n [stateEntry.var]: stateEntry,\n };\n }\n return prevState;\n });\n if (stateEntry.var === 'authentication') {\n if (\n (stateEntry.code === STATE_VAR_CODES.authentication.SESSION_STORED ||\n STATE_VAR_CODES.authentication.RESTORED_SESSION_SUCCESS) &&\n isValidSession(stateEntry.data)\n ) {\n setSessionState((prevState) => {\n if (JSON.stringify(prevState) !== JSON.stringify(stateEntry.data)) {\n return stateEntry.data as PollarApplicationConfigContent;\n }\n return prevState;\n });\n }\n if (stateEntry.code === STATE_VAR_CODES.authentication.LOGOUT) {\n setSessionState(null);\n }\n }\n });\n }, [pollarClient]);\n\n useEffect(() => {\n fetchRemoteConfig(pollarClient.getApi())\n .then((fetched) => {\n setRemoteConfig(fetched);\n setStyles({\n ...fetched.styles,\n ...propStyles,\n providers: { ...fetched.styles?.providers, ...propStyles?.providers },\n });\n })\n .catch(() => {\n setStyles(propStyles ?? {});\n });\n }, [pollarClient]);\n\n const [loginModalOpen, setLoginModalOpen] = useState(false);\n const [transactionModalOpen, setTransactionModalOpen] = useState(false);\n\n const contextValue: PollarContextValue = useMemo(\n () =>\n ({\n walletAddress: sessionState?.wallet?.publicKey || '',\n getClient: () => pollarClient,\n // client\n state,\n login: (options: PollarLoginOptions) => pollarClient.login(options),\n logout: () => pollarClient.logout(),\n isAuthenticated: pollarClient.isAuthenticated(),\n buildTx: (operation, params, options) => pollarClient.buildTx(operation, params, options),\n submitTx: (signedXdr: string) => pollarClient.submitTx(signedXdr),\n // react\n sendTransaction: (operation, params, options) => {\n void pollarClient.buildTx(operation, params, options);\n setTransactionModalOpen(true);\n },\n openTransactionModal: () => setTransactionModalOpen(true),\n openLoginModal: () => setLoginModalOpen(true),\n config: remoteConfig,\n styles,\n // stellar\n async getBalance(publicKey?: string) {\n const pk = publicKey || sessionState?.wallet?.publicKey;\n if (pk) {\n return await stellarClient.getBalances(pk);\n }\n return { success: false, errorCode: 'NO_WALLET_FOUND', balances: [] };\n },\n }) as PollarContextValue,\n [sessionState, remoteConfig, styles, pollarClient, state],\n );\n\n return (\n <PollarContext.Provider value={contextValue}>\n {children}\n {loginModalOpen && (\n <ModalErrorBoundary onClose={() => setLoginModalOpen(false)}>\n <LoginModal onClose={() => setLoginModalOpen(false)} />\n </ModalErrorBoundary>\n )}\n {transactionModalOpen && (\n <ModalErrorBoundary onClose={() => setTransactionModalOpen(false)}>\n <TransactionModal onClose={() => setTransactionModalOpen(false)} />\n </ModalErrorBoundary>\n )}\n </PollarContext.Provider>\n );\n}\n\nexport function usePollar() {\n const ctx = useContext(PollarContext);\n if (!ctx) {\n throw new Error('usePollar must be used inside <PollarProvider>');\n }\n return ctx;\n}\n","'use client';\n\nimport { useEffect, useRef, useState } from 'react';\nimport { LOGO_POLLAR } from './constants';\nimport { usePollar } from './context';\nimport './WalletButton.css';\n\nfunction cropWallet(address: string) {\n if (address.length <= 12) return address;\n return `${address.slice(0, 6)}...${address.slice(-4)}`;\n}\n\nfunction ButtonLogo() {\n return <img src={LOGO_POLLAR} alt=\"Pollar\" width={22} height={22} className=\"wallet-btn-logo\" />;\n}\n\nexport function WalletButton() {\n const { getClient, walletAddress, styles, openLoginModal } = usePollar();\n const [open, setOpen] = useState(false);\n const [copied, setCopied] = useState(false);\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n const { theme = 'light', accentColor = '#005DB4' } = styles;\n const isDark = theme === 'dark';\n const dropdownBg = isDark ? '#18181b' : '#fff';\n const dropdownBorder = isDark ? '#3f3f46' : '#e4e4e7';\n const itemColor = isDark ? '#fafafa' : '#18181b';\n\n useEffect(() => {\n function handleClickOutside(e: MouseEvent) {\n if (wrapperRef.current && !wrapperRef.current.contains(e.target as Node)) {\n setOpen(false);\n }\n }\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n async function handleCopy() {\n if (!walletAddress) return;\n await navigator.clipboard.writeText(walletAddress);\n setCopied(true);\n setTimeout(() => setCopied(false), 1500);\n }\n\n function handleLogout() {\n setOpen(false);\n getClient().logout();\n }\n\n if (!walletAddress) {\n return (\n <button type=\"button\" className=\"wallet-login-btn\" style={{ backgroundColor: accentColor }} onClick={openLoginModal}>\n <ButtonLogo />\n Login with Pollar\n </button>\n );\n }\n\n return (\n <div className=\"wallet-wrapper\" ref={wrapperRef}>\n <button className=\"wallet-btn\" style={{ backgroundColor: accentColor }} onClick={() => setOpen((v) => !v)}>\n {cropWallet(walletAddress)}\n <svg\n className={`wallet-chevron${open ? ' open' : ''}`}\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <polyline points=\"2,4 6,8 10,4\" />\n </svg>\n </button>\n\n {open && (\n <div className=\"wallet-dropdown\" style={{ backgroundColor: dropdownBg, borderColor: dropdownBorder }}>\n <button className=\"wallet-dropdown-item\" style={{ color: itemColor }} onClick={handleCopy}>\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" />\n <path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\" />\n </svg>\n {copied ? 'Copied!' : 'Copy address'}\n </button>\n <button className=\"wallet-dropdown-item danger\" onClick={handleLogout}>\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\" />\n <polyline points=\"16,17 21,12 16,7\" />\n <line x1=\"21\" y1=\"12\" x2=\"9\" y2=\"12\" />\n </svg>\n Log out\n </button>\n </div>\n )}\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/constants.ts","../src/components/commons.tsx","../src/components/login-modal/EmailCodeInput.tsx","../src/components/login-modal/GithubButton.tsx","../src/components/login-modal/GoogleButton.tsx","../src/components/login-modal/LoginModalTemplate.tsx","../src/components/login-modal/LoginModal.tsx","../src/components/transaction-modal/TransactionModalTemplate.tsx","../src/components/transaction-modal/TransactionModal.tsx","../src/context.tsx","../src/WalletButton.tsx"],"names":["jsxs","jsx","StateStatus","useState","useRef","AUTH_ERROR_CODES","Fragment","useEffect"],"mappings":"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","file":"index.mjs","sourcesContent":["export const LOGO_POLLAR = 'https://pollar.xyz/assets/logo_pollar.png';\nexport const LOGO_GITHUB = 'https://pollar.xyz/assets/GitHub_Invertocat_White.png';\n// export const LOGO_FREIGHTER = 'https://framerusercontent.com/images/hJLECaObEXnPQkYrO2ZccbSk.png';\nexport const LOGO_FREIGHTER = 'https://pollar.xyz/assets/logo_freighter.png';\n// export const LOGO_ALBEDO = 'https://albedo.link/img/logo.svg';\nexport const LOGO_ALBEDO = 'https://pollar.xyz/assets/logo_albedo.svg';\n","import { StateStatus, StateTransactionCodes } from '@pollar/core';\nimport { Component, type ReactNode } from 'react';\nimport { LOGO_POLLAR } from '../constants';\n\ndeclare const __POLLAR_VERSION__: string;\n\ninterface ModalErrorBoundaryState {\n crashed: boolean;\n}\n\nexport class ModalErrorBoundary extends Component<{ children: ReactNode; onClose: () => void }, ModalErrorBoundaryState> {\n state: ModalErrorBoundaryState = { crashed: false };\n\n static getDerivedStateFromError(): ModalErrorBoundaryState {\n return { crashed: true };\n }\n\n componentDidCatch(error: unknown) {\n console.error('[Pollar] Modal crashed:', error);\n }\n\n render() {\n if (this.state.crashed) {\n this.props.onClose();\n return null;\n }\n return this.props.children;\n }\n}\n\nexport const PollarModalFooter = () => {\n return (\n <div className=\"pollar-footer\">\n <span className=\"pollar-footer-protected\">Protected by</span>\n <div className=\"pollar-footer-brand\">\n <img src={LOGO_POLLAR} alt=\"Pollar\" className=\"pollar-footer-logo\" />\n <span className=\"pollar-footer-name\">Pollar</span>\n <span className=\"pollar-footer-version\">v{__POLLAR_VERSION__}</span>\n </div>\n </div>\n );\n};\n\nexport const TRANSACTION_CODE_MESSAGES: Record<StateTransactionCodes, string> = {\n NONE: '',\n BUILD_TRANSACTION_START: 'Building transaction…',\n BUILD_TRANSACTION_SUCCESS: 'Transaction built, ready to sign and send',\n BUILD_TRANSACTION_ERROR: 'Failed to build transaction',\n BUILD_TRANSACTION_ERROR_NO_WALLET: 'No wallet connected',\n SIGN_SEND_TRANSACTION_START: 'Signing and sending transaction…',\n SIGN_SEND_TRANSACTION_SUCCESS: 'Transaction signed',\n SIGN_SEND_TRANSACTION_ERROR: 'Signing rejected',\n};\n\ninterface ModalStatusBannerProps {\n message: string;\n status: StateStatus;\n onCancel?: (() => void) | undefined;\n onRetry?: (() => void) | undefined;\n}\n\nexport function ModalStatusBanner({ message, status, onCancel, onRetry }: ModalStatusBannerProps) {\n if (!message && status === StateStatus.NONE) {\n return <div className=\"pollar-status\" />;\n }\n\n const isLoading = status === StateStatus.LOADING;\n const icon =\n status === 'ERROR' ? (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden>\n <circle cx=\"7\" cy=\"7\" r=\"7\" fill=\"currentColor\" />\n <path d=\"M4.5 4.5l5 5M9.5 4.5l-5 5\" stroke=\"white\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n </svg>\n ) : status === 'SUCCESS' ? (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden>\n <circle cx=\"7\" cy=\"7\" r=\"7\" fill=\"currentColor\" />\n <path d=\"M3.5 7l2.5 2.5 4.5-5\" stroke=\"white\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n ) : status === 'LOADING' ? (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden>\n <circle cx=\"7\" cy=\"7\" r=\"5.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeDasharray=\"22 10\" />\n </svg>\n ) : null;\n\n return (\n <div className=\"pollar-status\" data-kind={status}>\n {icon}\n <span>{message}</span>\n {isLoading && onCancel && (\n <button type=\"button\" className=\"pollar-status-cancel\" onClick={onCancel}>\n Cancel\n </button>\n )}\n {status === StateStatus.ERROR && onRetry && (\n <button type=\"button\" className=\"pollar-status-cancel\" onClick={onRetry}>\n Retry\n </button>\n )}\n </div>\n );\n}","import { useRef, useState } from 'react';\n\ninterface EmailCodeInputProps {\n email?: string;\n onSubmit: (code: string) => void;\n}\n\nexport function EmailCodeInput({ email, onSubmit }: EmailCodeInputProps) {\n const [digits, setDigits] = useState(['', '', '', '', '', '']);\n const inputRefs = useRef<(HTMLInputElement | null)[]>([]);\n\n function submit(next: string[]) {\n if (next.every(Boolean)) onSubmit(next.join(''));\n }\n\n function handleChange(index: number, value: string) {\n const cleaned = value.replace(/\\D/g, '').slice(-1);\n const next = digits.map((d, i) => (i === index ? cleaned : d));\n setDigits(next);\n if (cleaned && index < 5) inputRefs.current[index + 1]?.focus();\n submit(next);\n }\n\n function handleKeyDown(index: number, e: React.KeyboardEvent<HTMLInputElement>) {\n if (e.key === 'Backspace' && !digits[index] && index > 0) {\n inputRefs.current[index - 1]?.focus();\n }\n }\n\n function handlePaste(e: React.ClipboardEvent<HTMLInputElement>) {\n e.preventDefault();\n const text = e.clipboardData.getData('text').replace(/\\D/g, '').slice(0, 6);\n const next = Array.from({ length: 6 }, (_, i) => text[i] ?? '');\n setDigits(next);\n inputRefs.current[Math.min(text.length - 1, 5)]?.focus();\n submit(next);\n }\n\n return (\n <div className=\"pollar-code-section\">\n <p className=\"pollar-code-label\">\n Enter the 6-digit code sent to{' '}\n {email ? <strong>{email}</strong> : 'your email'}\n </p>\n <div className=\"pollar-code-inputs\">\n {digits.map((digit, i) => (\n <input\n key={i}\n ref={(el) => {\n inputRefs.current[i] = el;\n }}\n type=\"text\"\n inputMode=\"numeric\"\n maxLength={2}\n value={digit}\n className=\"pollar-code-input\"\n onChange={(e) => handleChange(i, e.target.value)}\n onKeyDown={(e) => handleKeyDown(i, e)}\n onPaste={handlePaste}\n />\n ))}\n </div>\n </div>\n );\n}\n","// https://brand.github.com/foundations/logo\nimport './GithubButton.css';\nimport { LOGO_GITHUB } from '../../constants';\n\nexport const GithubButton = ({ disabled, onClick }: { disabled: boolean; onClick: () => void }) => {\n return (\n <button className=\"github-button\" disabled={disabled} onClick={onClick}>\n <img src={LOGO_GITHUB} alt=\"GitHub\" className=\"github-button-icon\" />\n <span className=\"github-button-contents\">Continue with GitHub</span>\n </button>\n );\n};\n","// https://developers.google.com/identity/branding-guidelines\nimport './GoogleButton.css';\n\nexport const GoogleButton = ({ disabled, onClick }: { disabled: boolean; onClick: () => void }) => {\n return (\n <button className=\"gsi-material-button\" disabled={disabled} onClick={onClick}>\n <div className=\"gsi-material-button-state\"></div>\n <div className=\"gsi-material-button-content-wrapper\">\n <div className=\"gsi-material-button-icon\">\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 48 48\"\n // xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n style={{ display: 'block' }}\n >\n <path\n fill=\"#EA4335\"\n d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"\n ></path>\n <path\n fill=\"#4285F4\"\n d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"\n ></path>\n <path\n fill=\"#FBBC05\"\n d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"\n ></path>\n <path\n fill=\"#34A853\"\n d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"\n ></path>\n <path fill=\"none\" d=\"M0 0h48v48H0z\"></path>\n </svg>\n </div>\n <span className=\"gsi-material-button-contents\">Continue with Google</span>\n <span style={{ display: 'none' }}>Continue with Google</span>\n </div>\n </button>\n );\n};\n","'use client';\n\nimport { AUTH_ERROR_CODES, AuthState, StateStatus } from '@pollar/core';\nimport { type CSSProperties } from 'react';\nimport { LOGO_ALBEDO, LOGO_FREIGHTER, LOGO_POLLAR } from '../../constants';\nimport { ModalStatusBanner, PollarModalFooter } from '../commons';\nimport { EmailCodeInput } from './EmailCodeInput';\nimport { GithubButton } from './GithubButton';\nimport { GoogleButton } from './GoogleButton';\n\nconst AUTH_STATE_MESSAGES: Record<AuthState['step'], string> = {\n idle: '',\n creating_session: 'Initializing…',\n entering_email: '',\n sending_email: 'Sending…',\n entering_code: 'Code sent — check your inbox',\n verifying_email_code: 'Verifying…',\n opening_oauth: 'Redirecting…',\n connecting_wallet: 'Connecting wallet…',\n wallet_not_installed: 'Wallet not installed',\n authenticating_wallet: 'Signing in with wallet…',\n authenticating: 'Authenticating…',\n authenticated: 'Welcome!',\n error: '',\n};\n\nfunction authStateToStatus(step: AuthState['step']): StateStatus {\n const loading: AuthState['step'][] = [\n 'creating_session',\n 'sending_email',\n 'verifying_email_code',\n 'opening_oauth',\n 'connecting_wallet',\n 'authenticating_wallet',\n 'authenticating',\n ];\n const success: AuthState['step'][] = ['authenticated', 'entering_code'];\n const error: AuthState['step'][] = ['error', 'wallet_not_installed'];\n\n if (loading.includes(step)) return StateStatus.LOADING;\n if (success.includes(step)) return StateStatus.SUCCESS;\n if (error.includes(step)) return StateStatus.ERROR;\n return StateStatus.NONE;\n}\n\ninterface LoginModalTemplateProps {\n theme: string;\n accentColor: string;\n logoUrl: string | null;\n emailEnabled: boolean;\n embeddedWallets: boolean;\n providers: {\n google: boolean;\n discord: boolean;\n x: boolean;\n github: boolean;\n apple: boolean;\n };\n appName: string;\n email?: string;\n onEmailChange?: (email: string) => void;\n onEmailSubmit?: () => void;\n onSocialLogin?: (provider: 'google' | 'github') => void;\n onFreighterConnect?: () => void;\n onAlbedoConnect?: () => void;\n authState: AuthState;\n codeInputKey?: number;\n onCodeSubmit?: (code: string) => void;\n onBack: () => void;\n onCancel: () => void;\n onRetry: () => void;\n}\n\nexport function LoginModalTemplate({\n theme,\n accentColor,\n logoUrl,\n emailEnabled,\n embeddedWallets,\n providers,\n appName,\n email = '',\n onEmailChange,\n onEmailSubmit,\n onSocialLogin,\n onFreighterConnect,\n onAlbedoConnect,\n authState,\n codeInputKey,\n onCodeSubmit,\n onBack,\n onCancel,\n onRetry,\n}: LoginModalTemplateProps) {\n const isDark = theme === 'dark';\n const enabledSocial = Object.entries(providers).filter(([, enabled]) => enabled);\n\n const cssVars = {\n '--pollar-accent': accentColor,\n '--pollar-buttons-border-radius': '6px',\n '--pollar-buttons-height': '44px',\n '--pollar-bg': isDark ? '#1a1a1a' : '#ffffff',\n '--pollar-border': isDark ? '#374151' : '#e5e7eb',\n '--pollar-text': isDark ? '#ffffff' : '#111827',\n '--pollar-muted': isDark ? '#9ca3af' : '#6b7280',\n '--pollar-input-bg': isDark ? '#374151' : '#ffffff',\n '--pollar-error-bg': isDark ? '#2a1515' : '#fef2f2',\n '--pollar-error-border': isDark ? '#7f1d1d' : '#fecaca',\n '--pollar-error-text': isDark ? '#f87171' : '#dc2626',\n } as CSSProperties;\n\n const status = authStateToStatus(authState.step);\n const isLoading = status === StateStatus.LOADING;\n const isEmailCodeError =\n authState.step === 'error' &&\n (authState.errorCode === AUTH_ERROR_CODES.EMAIL_CODE_EXPIRED ||\n authState.errorCode === AUTH_ERROR_CODES.EMAIL_CODE_INVALID);\n const awaitingEmailCode =\n authState.step === 'entering_code' || authState.step === 'verifying_email_code' || isEmailCodeError;\n const statusMessage =\n authState.step === 'error' ? authState.message : AUTH_STATE_MESSAGES[authState.step];\n\n return (\n <div className=\"pollar-modal\" style={cssVars} onClick={(e) => e.stopPropagation()}>\n <div className=\"pollar-header\">\n <div className=\"pollar-logo-wrap\">\n <img src={logoUrl ?? LOGO_POLLAR} alt=\"Logo\" className=\"pollar-logo\" />\n </div>\n <h2 className=\"pollar-title\">{appName}</h2>\n <p className=\"pollar-subtitle\">Log in or sign up</p>\n </div>\n\n {awaitingEmailCode ? (\n <>\n <button type=\"button\" className=\"pollar-back-btn\" onClick={onBack}>\n ← Back\n </button>\n <EmailCodeInput key={codeInputKey} email={email} onSubmit={onCodeSubmit ?? (() => {})} />\n </>\n ) : (\n <>\n {emailEnabled && (\n <div className=\"pollar-email-section\">\n <input\n type=\"email\"\n placeholder=\"you@email.com\"\n value={email}\n disabled={isLoading}\n className=\"pollar-email-input\"\n onChange={(e) => onEmailChange?.(e.target.value)}\n onKeyDown={(e) => e.key === 'Enter' && onEmailSubmit?.()}\n />\n <button type=\"button\" disabled={isLoading || !email} className=\"pollar-submit-btn\" onClick={onEmailSubmit}>\n Submit\n </button>\n </div>\n )}\n\n {emailEnabled && enabledSocial.length > 0 && (\n <div className=\"pollar-divider\">\n <div className=\"pollar-divider-line\" />\n <div className=\"pollar-divider-label\">\n <span className=\"pollar-divider-text\">or continue with</span>\n </div>\n </div>\n )}\n\n {enabledSocial.length > 0 && (\n <div className=\"pollar-social-list\">\n {enabledSocial.some(([key]) => key === 'google') && (\n <GoogleButton disabled={isLoading} onClick={() => onSocialLogin?.('google')} />\n )}\n {enabledSocial.some(([key]) => key === 'github') && (\n <GithubButton disabled={isLoading} onClick={() => onSocialLogin?.('github')} />\n )}\n </div>\n )}\n\n {embeddedWallets && (\n <div className=\"pollar-wallet-section\">\n <p className=\"pollar-wallet-label\">Continue with a wallet</p>\n <button type=\"button\" disabled={isLoading} className=\"pollar-wallet-btn\" onClick={onFreighterConnect}>\n <img src={LOGO_FREIGHTER} alt=\"Freighter\" className=\"pollar-wallet-icon\" />\n Freighter\n </button>\n <button type=\"button\" disabled={isLoading} className=\"pollar-wallet-btn\" onClick={onAlbedoConnect}>\n <img src={LOGO_ALBEDO} alt=\"Albedo\" className=\"pollar-wallet-icon\" />\n Albedo\n </button>\n </div>\n )}\n </>\n )}\n\n <ModalStatusBanner\n message={statusMessage}\n status={status}\n onCancel={onCancel}\n onRetry={isEmailCodeError ? undefined : onRetry}\n />\n\n <PollarModalFooter />\n </div>\n );\n}","'use client';\n\nimport { AUTH_ERROR_CODES, AuthState, WalletType } from '@pollar/core';\nimport { useEffect, useRef, useState } from 'react';\nimport { usePollar } from '../../context';\nimport { LoginModalTemplate } from './LoginModalTemplate';\nimport './LoginModal.css';\n\ninterface LoginModalProps {\n onClose: () => void;\n}\n\nexport function LoginModal({ onClose }: LoginModalProps) {\n const [email, setEmail] = useState('');\n const { getClient, styles, config } = usePollar();\n const [authState, setAuthState] = useState<AuthState>(() => getClient().getAuthState());\n const [codeInputKey, setCodeInputKey] = useState(0);\n const pendingEmail = useRef<string | null>(null);\n\n useEffect(() => {\n return getClient().onAuthStateChange((next) => {\n setAuthState(next);\n if (next.step === 'entering_email' && pendingEmail.current) {\n getClient().sendEmailCode(pendingEmail.current);\n pendingEmail.current = null;\n }\n if (next.step === 'error' && next.errorCode === AUTH_ERROR_CODES.EMAIL_CODE_INVALID) {\n setCodeInputKey((k) => k + 1);\n }\n if (next.step === 'authenticated') {\n setTimeout(onClose, 1000);\n }\n });\n }, []);\n\n const { theme = 'light', accentColor = '#005DB4', logoUrl, emailEnabled, embeddedWallets, providers } = styles;\n\n function handleClose() {\n setEmail('');\n getClient().cancelLogin();\n onClose();\n }\n\n function handleEmailSubmit() {\n if (!email) return;\n pendingEmail.current = email;\n getClient().beginEmailLogin();\n }\n\n function handleSocialLogin(provider: 'google' | 'github') {\n getClient().loginOAuth(provider);\n }\n\n function handleWalletConnect(type: WalletType) {\n getClient().loginWallet(type);\n }\n\n function handleVerifyCode(code: string) {\n getClient().verifyEmailCode(code);\n }\n\n function handleBack() {\n setEmail('');\n getClient().cancelLogin();\n }\n\n function handleRetry() {\n getClient().logout();\n if (styles.emailEnabled) {\n getClient().beginEmailLogin();\n }\n }\n\n return (\n <div className=\"pollar-overlay\" onClick={handleClose}>\n <LoginModalTemplate\n theme={theme}\n accentColor={accentColor}\n logoUrl={logoUrl ?? null}\n emailEnabled={!!emailEnabled}\n embeddedWallets={!!embeddedWallets}\n providers={{\n google: !!providers?.google,\n discord: !!providers?.discord,\n x: !!providers?.x,\n github: !!providers?.github,\n apple: !!providers?.apple,\n }}\n appName={config.application?.name ?? 'Pollar'}\n email={email}\n onEmailChange={setEmail}\n onEmailSubmit={handleEmailSubmit}\n onSocialLogin={handleSocialLogin}\n onFreighterConnect={() => handleWalletConnect(WalletType.FREIGHTER)}\n onAlbedoConnect={() => handleWalletConnect(WalletType.ALBEDO)}\n authState={authState}\n codeInputKey={codeInputKey}\n onCodeSubmit={handleVerifyCode}\n onBack={handleBack}\n onCancel={() => getClient().cancelLogin()}\n onRetry={handleRetry}\n />\n </div>\n );\n}\n","'use client';\n\nimport { StateStatus, StateTransactionCodes, TxBuildResponse } from '@pollar/core';\nimport React, { useState } from 'react';\nimport { ModalStatusBanner, PollarModalFooter, TRANSACTION_CODE_MESSAGES } from '../commons';\n\nexport interface TransactionModalTemplateProps {\n theme: string;\n accentColor: string;\n transactionStateCode: StateTransactionCodes;\n status: StateStatus;\n buildResult: TxBuildResponse['content'] | null;\n submitResult: { hash: string; status: string } | null;\n onClose: () => void;\n onSignAndSend: () => void;\n onRetrySignAndSend: () => void;\n}\n\nexport function TransactionModalTemplate({\n theme,\n accentColor,\n transactionStateCode,\n status,\n buildResult,\n submitResult,\n onClose,\n onSignAndSend,\n onRetrySignAndSend,\n}: TransactionModalTemplateProps) {\n const isDark = theme === 'dark';\n\n const cssVars = {\n '--pollar-accent': accentColor,\n '--pollar-buttons-border-radius': '8px',\n '--pollar-buttons-height': '44px',\n '--pollar-bg': isDark ? '#1a1a1a' : '#ffffff',\n '--pollar-border': isDark ? '#374151' : '#e5e7eb',\n '--pollar-text': isDark ? '#ffffff' : '#111827',\n '--pollar-muted': isDark ? '#9ca3af' : '#6b7280',\n '--pollar-input-bg': isDark ? '#374151' : 'rgba(0,0,0,0.04)',\n '--pollar-error-text': isDark ? '#f87171' : '#dc2626',\n '--pollar-success-text': isDark ? '#4ade80' : '#16a34a',\n } as React.CSSProperties;\n\n const [showXdr, setShowXdr] = useState(false);\n const [copied, setCopied] = useState(false);\n\n function handleCopyHash() {\n if (!submitResult) return;\n navigator.clipboard.writeText(submitResult.hash).then(() => {\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n });\n }\n\n const explorerNetwork = buildResult?.summary.network?.toLowerCase().includes('testnet') ? 'testnet' : 'public';\n const explorerUrl = submitResult ? `https://stellar.expert/explorer/${explorerNetwork}/tx/${submitResult.hash}` : null;\n\n const isError = transactionStateCode.includes('ERROR');\n const isSuccess = transactionStateCode.includes('SUCCESS');\n const isBuilt = buildResult && transactionStateCode === 'BUILD_TRANSACTION_SUCCESS';\n const isDone = submitResult && transactionStateCode === 'SIGN_SEND_TRANSACTION_START';\n\n return (\n <div className=\"pollar-tx-modal\" data-theme={theme} style={cssVars} onClick={(e) => e.stopPropagation()}>\n <div className=\"pollar-tx-header\">\n <h2 className=\"pollar-tx-title\">Transaction</h2>\n <button className=\"pollar-tx-close\" onClick={onClose} aria-label=\"Close\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden>\n <path d=\"M2 2l12 12M14 2L2 14\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" />\n </svg>\n </button>\n </div>\n\n {isBuilt && (\n <>\n <div className=\"pollar-tx-summary\">\n <p className=\"pollar-tx-summary-title\">Details</p>\n <ul className=\"pollar-tx-summary-lines\">\n {buildResult.summary.lines.map((line, i) => (\n <li key={i} className=\"pollar-tx-summary-line\">\n {line}\n </li>\n ))}\n </ul>\n </div>\n <div className=\"pollar-tx-meta\">\n <div className=\"pollar-tx-meta-item\">\n <span className=\"pollar-tx-meta-label\">Network</span>\n <span className=\"pollar-tx-meta-value\">{buildResult.summary.network}</span>\n </div>\n <div className=\"pollar-tx-meta-item\">\n <span className=\"pollar-tx-meta-label\">Fee</span>\n <span className=\"pollar-tx-meta-value\">{buildResult.summary.fee}</span>\n </div>\n </div>\n <div className=\"pollar-tx-xdr\">\n <button className=\"pollar-tx-xdr-toggle\" onClick={() => setShowXdr((v) => !v)}>\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n aria-hidden\n style={{ transform: showXdr ? 'rotate(90deg)' : 'rotate(0deg)', transition: 'transform 150ms' }}\n >\n <path d=\"M4 2l4 4-4 4\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n Raw transaction (XDR)\n </button>\n {showXdr && <pre className=\"pollar-tx-xdr-content\">{buildResult.unsignedXdr}</pre>}\n </div>\n </>\n )}\n\n {submitResult && transactionStateCode === 'SIGN_SEND_TRANSACTION_SUCCESS' && (\n <div className=\"pollar-tx-result\">\n <span className=\"pollar-tx-result-label\">Transaction hash</span>\n <span className=\"pollar-tx-result-hash\">{submitResult.hash}</span>\n <div className=\"pollar-tx-result-actions\">\n <button className=\"pollar-tx-result-btn\" onClick={handleCopyHash}>\n {copied ? (\n <>\n <svg width=\"13\" height=\"13\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden>\n <circle cx=\"7\" cy=\"7\" r=\"7\" fill=\"currentColor\" />\n <path\n d=\"M3.5 7l2.5 2.5 4.5-5\"\n stroke=\"white\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n Copied!\n </>\n ) : (\n <>\n <svg width=\"13\" height=\"13\" viewBox=\"0 0 13 13\" fill=\"none\" aria-hidden>\n <rect x=\"4\" y=\"4\" width=\"8\" height=\"8\" rx=\"1.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path\n d=\"M3 9H2a1 1 0 01-1-1V2a1 1 0 011-1h6a1 1 0 011 1v1\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n Copy hash\n </>\n )}\n </button>\n {explorerUrl && (\n <a className=\"pollar-tx-result-btn\" href={explorerUrl} target=\"_blank\" rel=\"noopener noreferrer\">\n <svg width=\"13\" height=\"13\" viewBox=\"0 0 13 13\" fill=\"none\" aria-hidden>\n <path\n d=\"M5 2H2a1 1 0 00-1 1v8a1 1 0 001 1h8a1 1 0 001-1V8\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M8 1h4m0 0v4m0-4L6 7\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n View on Explorer\n </a>\n )}\n </div>\n </div>\n )}\n\n {isBuilt && (\n <button className=\"pollar-tx-sign-btn\" onClick={onSignAndSend}>\n Sign & Send\n </button>\n )}\n {/*{isError && (*/}\n {/* <button className=\"pollar-tx-sign-btn\" onClick={onRetry}>*/}\n {/* Retry*/}\n {/* </button>*/}\n {/*)}*/}\n {isDone && (\n <button className=\"pollar-tx-sign-btn\" onClick={onClose}>\n Done\n </button>\n )}\n\n <ModalStatusBanner\n message={TRANSACTION_CODE_MESSAGES[transactionStateCode] ?? ''}\n status={status}\n />\n\n <PollarModalFooter />\n </div>\n );\n}\n","'use client';\n\nimport { StateTransactionCodes, TxBuildResponse, TxSignSendResponse } from '@pollar/core';\nimport { usePollar } from '../../context';\nimport './TransactionModal.css';\nimport { TransactionModalTemplate } from './TransactionModalTemplate';\n\ninterface TransactionModalProps {\n onClose: () => void;\n}\n\nconst isTxBuildResponseContent = (data: unknown): data is TxBuildResponse['content'] => {\n if (!data || typeof data !== 'object') return false;\n const d = data as Record<string, unknown>;\n return (\n typeof d.unsignedXdr === 'string' &&\n typeof d.networkPassphrase === 'string' &&\n typeof d.estimatedFee === 'string' &&\n d.summary !== null &&\n typeof d.summary === 'object'\n );\n};\n\nconst isTxSignSendResponseContent = (data: unknown): data is TxSignSendResponse['content'] => {\n if (!data || typeof data !== 'object') return false;\n const d = data as Record<string, unknown>;\n return typeof d.hash === 'string' && (d.status === 'PENDING' || d.status === 'SUCCESS' || d.status === 'FAILED');\n};\n\nexport function TransactionModal({ onClose }: TransactionModalProps) {\n const {\n getClient,\n styles,\n state: { transaction },\n } = usePollar();\n const { theme = 'light', accentColor = '#005DB4' } = styles;\n\n let buildResult: TxBuildResponse['content'] | null = null;\n const transactionStateCode = transaction.code as StateTransactionCodes;\n const content = (transaction.data as { content: unknown })?.content;\n if (isTxBuildResponseContent(content)) {\n buildResult = content;\n }\n let submitResult: TxSignSendResponse['content'] | null = null;\n if (isTxSignSendResponseContent(content)) {\n submitResult = content;\n }\n\n async function handleSignAndSend() {\n if (buildResult) {\n await getClient().submitTx(buildResult.unsignedXdr);\n }\n }\n\n return (\n <div className=\"pollar-overlay\" onClick={onClose}>\n <TransactionModalTemplate\n theme={theme}\n accentColor={accentColor}\n transactionStateCode={transactionStateCode}\n status={transaction.status}\n buildResult={buildResult}\n submitResult={submitResult}\n onClose={onClose}\n onSignAndSend={handleSignAndSend}\n onRetrySignAndSend={handleSignAndSend}\n />\n </div>\n );\n}\n","'use client';\n\nimport {\n PollarApiClient,\n PollarApplicationConfigContent,\n PollarClient,\n PollarClientConfig,\n PollarLoginOptions,\n PollarStateEntry,\n PollarStateVar,\n STATE_VAR_CODES,\n StateStatus,\n StellarClient,\n TxBuildBody,\n} from '@pollar/core';\nimport { createContext, ReactNode, useContext, useEffect, useMemo, useState } from 'react';\nimport { ModalErrorBoundary } from './components/commons';\nimport { LoginModal } from './components/login-modal/LoginModal';\nimport { TransactionModal } from './components/transaction-modal/TransactionModal';\nimport type { PollarConfig, PollarStyles } from './types';\n\nconst emptyResponse = {\n application: {\n name: '',\n },\n styles: {},\n};\n\nasync function fetchRemoteConfig(api: PollarApiClient): Promise<PollarConfig> {\n try {\n const { data, error } = await api.GET(`/applications/config`);\n if (!data || error) {\n return emptyResponse;\n }\n return data.content;\n } catch {\n return emptyResponse;\n }\n}\n\ntype PollarState = { [key in PollarStateVar]: PollarStateEntry };\n\ninterface PollarContextValue {\n walletAddress: string;\n getClient: () => PollarClient;\n openLoginModal: () => void;\n sendTransaction: (\n operation: TxBuildBody['operation'],\n params: TxBuildBody['params'],\n options?: TxBuildBody['options'],\n ) => void;\n openTransactionModal: () => void;\n isAuthenticated: boolean;\n login: (options: PollarLoginOptions) => void;\n logout: () => void;\n config: PollarConfig;\n styles: PollarStyles;\n state: PollarState;\n // stellar\n getBalance: (publicKey?: string) => any;\n buildTx: (\n operation: TxBuildBody['operation'],\n params: TxBuildBody['params'],\n options?: TxBuildBody['options'],\n ) => Promise<void>;\n submitTx: (signedXdr: string) => Promise<void>;\n}\n\nconst PollarContext = createContext<PollarContextValue | null>(null);\n\ninterface PollarProviderProps {\n config: PollarClientConfig;\n styles?: PollarStyles;\n children: ReactNode;\n}\n\nexport function PollarProvider({ config, styles: propStyles, children }: PollarProviderProps) {\n const [pollarClient] = useState<PollarClient>(() => new PollarClient(config));\n const [stellarClient] = useState<StellarClient>(() => new StellarClient(config.stellarNetwork || 'testnet'));\n const [sessionState, setSessionState] = useState<PollarApplicationConfigContent | null>(null);\n const [state, setState] = useState<PollarState>({\n network: {\n var: 'network',\n code: STATE_VAR_CODES.network.NONE,\n status: StateStatus.NONE,\n level: 'info',\n ts: 0,\n },\n transaction: {\n var: 'transaction',\n code: STATE_VAR_CODES.transaction.NONE,\n status: StateStatus.NONE,\n level: 'info',\n ts: 0,\n },\n });\n const [remoteConfig, setRemoteConfig] = useState<PollarConfig>(emptyResponse);\n const [styles, setStyles] = useState<PollarStyles>(propStyles ?? {});\n\n useEffect(() => {\n return pollarClient.onStateChange((stateEntry) => {\n setState((prevState) => {\n if (JSON.stringify(prevState[stateEntry.var]) !== JSON.stringify(stateEntry)) {\n return { ...prevState, [stateEntry.var]: stateEntry };\n }\n return prevState;\n });\n });\n }, [pollarClient]);\n\n useEffect(() => {\n return pollarClient.onAuthStateChange((authState) => {\n if (authState.step === 'authenticated') {\n setSessionState((prev) => (JSON.stringify(prev) !== JSON.stringify(authState.session) ? authState.session : prev));\n } else if (authState.step === 'idle') {\n setSessionState(null);\n }\n });\n }, [pollarClient]);\n\n useEffect(() => {\n fetchRemoteConfig(pollarClient.getApi())\n .then((fetched) => {\n setRemoteConfig(fetched);\n setStyles({\n ...fetched.styles,\n ...propStyles,\n providers: { ...fetched.styles?.providers, ...propStyles?.providers },\n });\n })\n .catch(() => {\n setStyles(propStyles ?? {});\n });\n }, [pollarClient]);\n\n const [loginModalOpen, setLoginModalOpen] = useState(false);\n const [transactionModalOpen, setTransactionModalOpen] = useState(false);\n\n const contextValue: PollarContextValue = useMemo(\n () =>\n ({\n walletAddress: sessionState?.wallet?.publicKey || '',\n getClient: () => pollarClient,\n state,\n login: (options: PollarLoginOptions) => pollarClient.login(options),\n logout: () => pollarClient.logout(),\n isAuthenticated: pollarClient.isAuthenticated(),\n buildTx: (operation, params, options) => pollarClient.buildTx(operation, params, options),\n submitTx: (signedXdr: string) => pollarClient.submitTx(signedXdr),\n sendTransaction: (operation, params, options) => {\n void pollarClient.buildTx(operation, params, options);\n setTransactionModalOpen(true);\n },\n openTransactionModal: () => setTransactionModalOpen(true),\n openLoginModal: () => setLoginModalOpen(true),\n config: remoteConfig,\n styles,\n async getBalance(publicKey?: string) {\n const pk = publicKey || sessionState?.wallet?.publicKey;\n if (pk) {\n return await stellarClient.getBalances(pk);\n }\n return { success: false, errorCode: 'NO_WALLET_FOUND', balances: [] };\n },\n }) as PollarContextValue,\n [sessionState, remoteConfig, styles, pollarClient, state],\n );\n\n return (\n <PollarContext.Provider value={contextValue}>\n {children}\n {loginModalOpen && (\n <ModalErrorBoundary onClose={() => setLoginModalOpen(false)}>\n <LoginModal onClose={() => setLoginModalOpen(false)} />\n </ModalErrorBoundary>\n )}\n {transactionModalOpen && (\n <ModalErrorBoundary onClose={() => setTransactionModalOpen(false)}>\n <TransactionModal onClose={() => setTransactionModalOpen(false)} />\n </ModalErrorBoundary>\n )}\n </PollarContext.Provider>\n );\n}\n\nexport function usePollar() {\n const ctx = useContext(PollarContext);\n if (!ctx) {\n throw new Error('usePollar must be used inside <PollarProvider>');\n }\n return ctx;\n}\n","'use client';\n\nimport { useEffect, useRef, useState } from 'react';\nimport { LOGO_POLLAR } from './constants';\nimport { usePollar } from './context';\nimport './WalletButton.css';\n\nfunction cropWallet(address: string) {\n if (address.length <= 12) return address;\n return `${address.slice(0, 6)}...${address.slice(-4)}`;\n}\n\nfunction ButtonLogo() {\n return <img src={LOGO_POLLAR} alt=\"Pollar\" width={22} height={22} className=\"wallet-btn-logo\" />;\n}\n\nexport function WalletButton() {\n const { getClient, walletAddress, styles, openLoginModal } = usePollar();\n const [open, setOpen] = useState(false);\n const [copied, setCopied] = useState(false);\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n const { theme = 'light', accentColor = '#005DB4' } = styles;\n const isDark = theme === 'dark';\n const dropdownBg = isDark ? '#18181b' : '#fff';\n const dropdownBorder = isDark ? '#3f3f46' : '#e4e4e7';\n const itemColor = isDark ? '#fafafa' : '#18181b';\n\n useEffect(() => {\n function handleClickOutside(e: MouseEvent) {\n if (wrapperRef.current && !wrapperRef.current.contains(e.target as Node)) {\n setOpen(false);\n }\n }\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n async function handleCopy() {\n if (!walletAddress) return;\n await navigator.clipboard.writeText(walletAddress);\n setCopied(true);\n setTimeout(() => setCopied(false), 1500);\n }\n\n function handleLogout() {\n setOpen(false);\n getClient().logout();\n }\n\n if (!walletAddress) {\n return (\n <button type=\"button\" className=\"wallet-login-btn\" style={{ backgroundColor: accentColor }} onClick={openLoginModal}>\n <ButtonLogo />\n Login with Pollar\n </button>\n );\n }\n\n return (\n <div className=\"wallet-wrapper\" ref={wrapperRef}>\n <button className=\"wallet-btn\" style={{ backgroundColor: accentColor }} onClick={() => setOpen((v) => !v)}>\n {cropWallet(walletAddress)}\n <svg\n className={`wallet-chevron${open ? ' open' : ''}`}\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <polyline points=\"2,4 6,8 10,4\" />\n </svg>\n </button>\n\n {open && (\n <div className=\"wallet-dropdown\" style={{ backgroundColor: dropdownBg, borderColor: dropdownBorder }}>\n <button className=\"wallet-dropdown-item\" style={{ color: itemColor }} onClick={handleCopy}>\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" />\n <path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\" />\n </svg>\n {copied ? 'Copied!' : 'Copy address'}\n </button>\n <button className=\"wallet-dropdown-item danger\" onClick={handleLogout}>\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\" />\n <polyline points=\"16,17 21,12 16,7\" />\n <line x1=\"21\" y1=\"12\" x2=\"9\" y2=\"12\" />\n </svg>\n Log out\n </button>\n </div>\n )}\n </div>\n );\n}\n"]}
|