image
Akan.js
English
Docs (V1)
image
Akan.js
You are viewing the Akan.js v1 docs.Go to the latest v2 docs
Docs (V1)
Released under the MIT License
Official Akan.js Consulting onAkansoft
Copyright © 2026 Akan.js All rights reserved.
System managed bybassman
Introduction
• Quick Start
• How it works
• Practice a Workflow
Tutorials
• Show Details
• Modifying Status
• Interact in Service
• Displaying with Slice
• UX with Pages
• Using Scalar
• Using Insight
• Relate Data
System Architecture
• Overview
• Backend System
• Frontend System
• Environment Variables
• Primitive Scalar Types
• Domain Based Modules
• CSS
Module Convention
• Overview
• model.constant.ts
• model.dictionary.ts
• model.document.ts
• model.service.ts
• model.signal.ts
• model.store.ts
• Model.Template.tsx
• Model.Unit.tsx
• Model.Util.tsx
• Model.View.tsx
• Model.Zone.tsx
Scalar Convention
• Overview
• scalar.constant.ts
• scalar.dictionary.ts
• scalar.document.ts
Introduction
• Quick Start
• How it works
• Practice a Workflow
Tutorials
• Show Details
• Modifying Status
• Interact in Service
• Displaying with Slice
• UX with Pages
• Using Scalar
• Using Insight
• Relate Data
System Architecture
• Overview
• Backend System
• Frontend System
• Environment Variables
• Primitive Scalar Types
• Domain Based Modules
• CSS
Module Convention
• Overview
• model.constant.ts
• model.dictionary.ts
• model.document.ts
• model.service.ts
• model.signal.ts
• model.store.ts
• Model.Template.tsx
• Model.Unit.tsx
• Model.Util.tsx
• Model.View.tsx
• Model.Zone.tsx
Scalar Convention
• Overview
• scalar.constant.ts
• scalar.dictionary.ts
• scalar.document.ts
Next
Quick Start

model.Zone.tsx

Zone components are 'Business Components' that bridge the gap between Pages and UI Units. They handle data fetching, state management, and business logic for a specific section of the UI.
🏗️Page Composition
A Page should ideally be composed of just Layout and Zone components. Detailed UI rendering is delegated to Units or Views.

File Convention

Zone files are located in the library directory of their respective Model. The filename must follow the PascalCase convention.
lib/[model]/[Model].Zone.tsx

Standard Structure

Zone components typically use `Load.View` or `Load.Units` to handle asynchronous data loading. They interact with the Store for global state and Service for actions.
Props
fieldDescription
className?: stringAllows parent components to style the zone.
init?: ClientInit<Model, M>Initial data for List/Units loading.
view?: ClientView<Model, M>Initial data for View/Single loading.
className?: string

Allows parent components to style the zone.

init?: ClientInit<Model, M>

Initial data for List/Units loading.

view?: ClientView<Model, M>

Initial data for View/Single loading.

Example Code: List Zone
Product.Zone.tsx (List)
Example Code: View Zone
Product.Zone.tsx (View)

Zone Best Practices

1️⃣Keep Pages Thin
Move data loading and logic from Page files to Zone files. Pages should primarily focus on Layout composition and routing parameters.
2️⃣Handle Loading & Empty States
Use `Load.Units` or `Load.View` to gracefully handle loading and empty states within the Zone, providing a better user experience.
3️⃣Encapsulate Business Logic
Place interaction handlers (e.g., button clicks triggering Service actions) inside the Zone, keeping Unit/View components purely presentational.
model.Zone.tsx
File Convention
Standard Structure
Zone Best Practices