Home / Function/ subscriptionAction() — ui Function Reference

subscriptionAction() — ui Function Reference

Architecture documentation for the subscriptionAction() function in actions.ts from the ui codebase.

Entity Profile

Dependency Diagram

graph TD
  7d1bbf15_cfa8_1ccc_4c6a_d39814dedb15["subscriptionAction()"]
  62a8cba2_1dbd_c872_f153_9791a4429475["actions.ts"]
  7d1bbf15_cfa8_1ccc_4c6a_d39814dedb15 -->|defined in| 62a8cba2_1dbd_c872_f153_9791a4429475
  style 7d1bbf15_cfa8_1ccc_4c6a_d39814dedb15 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

apps/v4/app/(internal)/sink/(pages)/next-form/actions.ts lines 6–55

export async function subscriptionAction(
  _prevState: FormState,
  formData: FormData
): Promise<FormState> {
  // Simulate server processing
  await new Promise((resolve) => setTimeout(resolve, 1000))

  const values = {
    name: formData.get("name") as string,
    email: formData.get("email") as string,
    plan: formData.get("plan") as "basic" | "pro",
    billingPeriod: formData.get("billingPeriod") as string,
    addons: formData.getAll("addons") as string[],
    teamSize: parseInt(formData.get("teamSize") as string) || 1,
    emailNotifications: formData.get("emailNotifications") === "on",
    startDate: formData.get("startDate")
      ? new Date(formData.get("startDate") as string)
      : new Date(),
    theme: formData.get("theme") as string,
    password: formData.get("password") as string,
    comments: formData.get("comments") as string,
  }

  const result = exampleFormSchema.safeParse(values)

  if (!result.success) {
    return {
      values,
      success: false,
      errors: result.error.flatten().fieldErrors,
    }
  }

  // Simulate some business logic validation
  if (result.data.email.includes("invalid")) {
    return {
      values,
      success: false,
      errors: {
        email: ["This email domain is not supported"],
      },
    }
  }

  return {
    values,
    errors: null,
    success: true,
  }
}

Subdomains

Frequently Asked Questions

What does subscriptionAction() do?
subscriptionAction() is a function in the ui codebase, defined in apps/v4/app/(internal)/sink/(pages)/next-form/actions.ts.
Where is subscriptionAction() defined?
subscriptionAction() is defined in apps/v4/app/(internal)/sink/(pages)/next-form/actions.ts at line 6.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free