VVibeFlui

Action Feedback and Messages

Actions usually produce feedback.

VibeFlui interprets backend-style responses and emits success or failure events.

Success response

JSON
{
  "status": true,
  "code": 200,
  "message": "User updated successfully"
}

Error response

JSON
{
  "status": false,
  "code": 422,
  "message": "Email is already used"
}

Warning response

JSON
{
  "status": false,
  "code": 409,
  "message": "Manager approval is required"
}

VibeFlui resolves status: false with a 400..499 code to warning before rendering FluiKitFeedback.

Schema feedback mode

TS
export const usersSchema = {
  resource: "users",
  feedback: {
    enabled: true,
    mode: "modal",
    icons: {
      success: "lucide:circle-check",
      error: "lucide:circle-x",
      warning: "lucide:triangle-alert"
    }
  },
  actions: {
    create: {
      label: "Create user",
      handler: "users.create"
    }
  }
} as const;

Inline feedback

TS
feedback: {
  enabled: true,
  mode: "inline"
}

Message priority

TS
messages: {
  sourcePriority: ["backend", "schema", "resolver", "default"],
  defaults: {
    createSuccess: "User created successfully."
  },
  resolver: "users.messages"
}

Backend messages should usually have highest priority.

Action events

Actions emit events:

  • actionClicked
  • actionSucceeded
  • actionFailed
TS
export const usersSchema = {
  resource: "users",
  events: {
    actionSucceeded: "users.actionSucceeded",
    actionFailed: "users.actionFailed"
  },
  registry: {
    events: ["users.actionSucceeded", "users.actionFailed"]
  }
} as const;