diff --git a/web/components/contract-card.tsx b/web/components/contract-card.tsx
new file mode 100644
index 00000000..bcfd0935
--- /dev/null
+++ b/web/components/contract-card.tsx
@@ -0,0 +1,74 @@
+import clsx from 'clsx'
+import Link from 'next/link'
+import { Row } from '../components/layout/row'
+import { formatMoney } from '../lib/util/format'
+import { UserLink } from './user-page'
+import { Linkify } from './linkify'
+import { Contract, compute, path } from '../lib/firebase/contracts'
+
+export function ContractCard(props: { contract: Contract }) {
+ const { contract } = props
+ const { probPercent } = compute(contract)
+
+ const resolutionColor = {
+ YES: 'text-primary',
+ NO: 'text-red-400',
+ MKT: 'text-blue-400',
+ CANCEL: 'text-yellow-400',
+ '': '', // Empty if unresolved
+ }[contract.resolution || '']
+
+ const resolutionText = {
+ YES: 'YES',
+ NO: 'NO',
+ MKT: 'MKT',
+ CANCEL: 'N/A',
+ '': '',
+ }[contract.resolution || '']
+
+ return (
+
+
+
+
-