فهرست منبع

chore: generate

GitHub Action 2 ماه پیش
والد
کامیت
5a4eec5b08

+ 3 - 3
infra/console.ts

@@ -109,9 +109,9 @@ const zenPriceProps = {
     intervalCount: 1,
   },
 }
-const zenPrice200 = new stripe.Price("ZenBlackPrice", { ...zenPriceProps, unitAmount: 20000, })
-const zenPrice100 = new stripe.Price("ZenBlack100Price", { ...zenPriceProps, unitAmount: 10000, })
-const zenPrice20 = new stripe.Price("ZenBlack20Price", { ...zenPriceProps, unitAmount: 2000, })
+const zenPrice200 = new stripe.Price("ZenBlackPrice", { ...zenPriceProps, unitAmount: 20000 })
+const zenPrice100 = new stripe.Price("ZenBlack100Price", { ...zenPriceProps, unitAmount: 10000 })
+const zenPrice20 = new stripe.Price("ZenBlack20Price", { ...zenPriceProps, unitAmount: 2000 })
 const ZEN_BLACK_PRICE = new sst.Linkable("ZEN_BLACK_PRICE", {
   properties: {
     product: zenProduct.id,

+ 30 - 30
packages/console/app/src/routes/workspace/[id]/billing/black-section.tsx

@@ -97,41 +97,41 @@ export function BlackSection() {
       <Show when={subscription()}>
         {(sub) => (
           <>
-      <div data-slot="section-title">
-        <h2>Subscription</h2>
-        <div data-slot="title-row">
-          <p>You are subscribed to OpenCode Black for ${sub().plan} per month.</p>
-          <button
-            data-color="primary"
-            disabled={sessionSubmission.pending || store.sessionRedirecting}
-            onClick={onClickSession}
-          >
-            {sessionSubmission.pending || store.sessionRedirecting ? "Loading..." : "Manage Subscription"}
-          </button>
-        </div>
-      </div>
-          <div data-slot="usage">
-            <div data-slot="usage-item">
-              <div data-slot="usage-header">
-                <span data-slot="usage-label">5-hour Usage</span>
-                <span data-slot="usage-value">{sub().rollingUsage.usagePercent}%</span>
+            <div data-slot="section-title">
+              <h2>Subscription</h2>
+              <div data-slot="title-row">
+                <p>You are subscribed to OpenCode Black for ${sub().plan} per month.</p>
+                <button
+                  data-color="primary"
+                  disabled={sessionSubmission.pending || store.sessionRedirecting}
+                  onClick={onClickSession}
+                >
+                  {sessionSubmission.pending || store.sessionRedirecting ? "Loading..." : "Manage Subscription"}
+                </button>
               </div>
-              <div data-slot="progress">
-                <div data-slot="progress-bar" style={{ width: `${sub().rollingUsage.usagePercent}%` }} />
-              </div>
-              <span data-slot="reset-time">Resets in {formatResetTime(sub().rollingUsage.resetInSec)}</span>
             </div>
-            <div data-slot="usage-item">
-              <div data-slot="usage-header">
-                <span data-slot="usage-label">Weekly Usage</span>
-                <span data-slot="usage-value">{sub().weeklyUsage.usagePercent}%</span>
+            <div data-slot="usage">
+              <div data-slot="usage-item">
+                <div data-slot="usage-header">
+                  <span data-slot="usage-label">5-hour Usage</span>
+                  <span data-slot="usage-value">{sub().rollingUsage.usagePercent}%</span>
+                </div>
+                <div data-slot="progress">
+                  <div data-slot="progress-bar" style={{ width: `${sub().rollingUsage.usagePercent}%` }} />
+                </div>
+                <span data-slot="reset-time">Resets in {formatResetTime(sub().rollingUsage.resetInSec)}</span>
               </div>
-              <div data-slot="progress">
-                <div data-slot="progress-bar" style={{ width: `${sub().weeklyUsage.usagePercent}%` }} />
+              <div data-slot="usage-item">
+                <div data-slot="usage-header">
+                  <span data-slot="usage-label">Weekly Usage</span>
+                  <span data-slot="usage-value">{sub().weeklyUsage.usagePercent}%</span>
+                </div>
+                <div data-slot="progress">
+                  <div data-slot="progress-bar" style={{ width: `${sub().weeklyUsage.usagePercent}%` }} />
+                </div>
+                <span data-slot="reset-time">Resets in {formatResetTime(sub().weeklyUsage.resetInSec)}</span>
               </div>
-              <span data-slot="reset-time">Resets in {formatResetTime(sub().weeklyUsage.resetInSec)}</span>
             </div>
-          </div>
           </>
         )}
       </Show>

+ 8 - 2
packages/console/core/script/lookup-user.ts

@@ -1,7 +1,13 @@
 import { Database, and, eq, sql } from "../src/drizzle/index.js"
 import { AuthTable } from "../src/schema/auth.sql.js"
 import { UserTable } from "../src/schema/user.sql.js"
-import { BillingTable, PaymentTable, SubscriptionTable, SubscriptionPlan, UsageTable } from "../src/schema/billing.sql.js"
+import {
+  BillingTable,
+  PaymentTable,
+  SubscriptionTable,
+  SubscriptionPlan,
+  UsageTable,
+} from "../src/schema/billing.sql.js"
 import { WorkspaceTable } from "../src/schema/workspace.sql.js"
 import { BlackData } from "../src/black.js"
 import { centsToMicroCents } from "../src/util/price.js"
@@ -226,7 +232,7 @@ function formatRetryTime(seconds: number) {
 
 function getSubscriptionStatus(row: {
   subscription: {
-    plan: typeof SubscriptionPlan[number]
+    plan: (typeof SubscriptionPlan)[number]
   } | null
   timeSubscriptionCreated: Date | null
   fixedUsage: number | null

+ 9 - 6
packages/console/core/src/black.ts

@@ -28,12 +28,15 @@ export namespace BlackData {
     return input
   })
 
-  export const get = fn(z.object({
+  export const get = fn(
+    z.object({
       plan: z.enum(SubscriptionPlan),
-    }), ({ plan }) => {
-    const json = JSON.parse(Resource.ZEN_BLACK_LIMITS.value)
-    return Schema.parse(json)[plan]
-  })
+    }),
+    ({ plan }) => {
+      const json = JSON.parse(Resource.ZEN_BLACK_LIMITS.value)
+      return Schema.parse(json)[plan]
+    },
+  )
 }
 
 export namespace Black {
@@ -75,7 +78,7 @@ export namespace Black {
 
   export const analyzeWeeklyUsage = fn(
     z.object({
-      plan:z.enum(SubscriptionPlan),
+      plan: z.enum(SubscriptionPlan),
       usage: z.number().int(),
       timeUpdated: z.date(),
     }),