Seed: project-management template (23 files)

This commit is contained in:
2026-07-23 23:01:09 +00:00
parent 63cd754f46
commit 6fa48cbea5
+8 -8
View File
@@ -75,7 +75,7 @@ export default function SettingsPage() {
try {
const res: any = await startCheckout({ plan: plan.name, amount: plan.amount });
if (res?.url) { window.location.href = res.url; return; }
toast(`Upgraded to \${plan.name}`);
toast(`Upgraded to ${plan.name}`);
} catch {
toast("Checkout could not be started. Please try again.");
}
@@ -99,7 +99,7 @@ export default function SettingsPage() {
<button
key={tab.id}
onClick={() => setActiveTab(tab.id)}
className={`flex items-center gap-2 px-4 py-3 text-sm font-medium transition-colors border-b-2 -mb-[1px] \${
className={`flex items-center gap-2 px-4 py-3 text-sm font-medium transition-colors border-b-2 -mb-[1px] ${
activeTab === tab.id
? "border-violet-600 text-violet-600"
: "border-transparent text-slate-500 hover:text-slate-700"
@@ -165,7 +165,7 @@ export default function SettingsPage() {
<Card key={member.email} className="border-0 shadow-sm">
<CardContent className="p-4 flex items-center gap-4">
<Avatar className="h-10 w-10">
<AvatarFallback className={`text-sm text-white \${member.color}`}>{member.initials}</AvatarFallback>
<AvatarFallback className={`text-sm text-white ${member.color}`}>{member.initials}</AvatarFallback>
</Avatar>
<div className="flex-1 min-w-0">
<div className="flex items-center gap-2">
@@ -198,7 +198,7 @@ export default function SettingsPage() {
<Card key={integration.name} className="border-0 shadow-sm hover:shadow-md transition-all duration-200">
<CardContent className="p-5">
<div className="flex items-start justify-between mb-3">
<div className={`h-10 w-10 rounded-lg \${integration.color} flex items-center justify-center`}>
<div className={`h-10 w-10 rounded-lg ${integration.color} flex items-center justify-center`}>
<span className="text-sm font-bold text-white">{integration.icon}</span>
</div>
{integration.connected && (
@@ -210,7 +210,7 @@ export default function SettingsPage() {
<Button
variant={integration.connected ? "outline" : "default"}
size="sm"
className={`w-full \${!integration.connected ? "bg-violet-600 hover:bg-violet-700 text-white" : ""}`}
className={`w-full ${!integration.connected ? "bg-violet-600 hover:bg-violet-700 text-white" : ""}`}
>
{integration.connected ? (
<>
@@ -232,7 +232,7 @@ export default function SettingsPage() {
{activeTab === "billing" && (
<div className="grid grid-cols-1 md:grid-cols-3 gap-4 animate-fade-up">
{plans.map((plan) => (
<Card key={plan.name} className={`border shadow-sm \${plan.popular ? "border-violet-500 ring-1 ring-violet-500" : "border-slate-100"}`}>
<Card key={plan.name} className={`border shadow-sm ${plan.popular ? "border-violet-500 ring-1 ring-violet-500" : "border-slate-100"}`}>
<CardHeader>
<div className="flex items-center justify-between">
<CardTitle className="text-lg">{plan.name}</CardTitle>
@@ -256,9 +256,9 @@ export default function SettingsPage() {
onClick={() => handleUpgrade(plan)}
disabled={checkoutBusy || plan.current}
variant={plan.popular ? "default" : "outline"}
className={`w-full min-h-[48px] \${plan.popular ? "bg-violet-600 hover:bg-violet-700 text-white" : ""}`}
className={`w-full min-h-[48px] ${plan.popular ? "bg-violet-600 hover:bg-violet-700 text-white" : ""}`}
>
{plan.current ? "Current Plan" : plan.name === "Enterprise" ? "Contact Sales" : `Upgrade to \${plan.name}`}
{plan.current ? "Current Plan" : plan.name === "Enterprise" ? "Contact Sales" : `Upgrade to ${plan.name}`}
</Button>
</CardContent>
</Card>