> For the complete documentation index, see [llms.txt](https://codedthemes.gitbook.io/berry-angular/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://codedthemes.gitbook.io/berry-angular/page-structure.md).

# Page Structure

#### .**./src/index.html**

{% code title="index.html" %}

```html
<!doctype html>
<html lang="en">
  <head>
    <title>Berry Angular Dashboard Template</title>
    <!-- HTML5 Shim and Respond.js IE11 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 11]>
      <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
      <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
    <base href="/" />
    <!-- Meta -->
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=1, minimal-ui" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta
      name="description"
      title="Berry Angular Admin Dashboard Template - CodedThemes"
      content="Berry Admin Dashboard Template is built with Angular 22, Bootstrap 5, and ng-bootstrap 20. It comes with ready-to-use dashboards, apps, UI components, forms, tables, charts, maps, icons, etc., to kickstart a new project efficiently."
    />
    <meta
      name="keywords"
      content="Admin templates, Bootstrap Admin templates, angular 22.x.x, bootstrap 5.x.x, Dashboard, Dashboard Templates, sass admin templates, html admin templates, Responsive, Bootstrap Admin templates free download, Angular 22 Admin templates free download,premium Bootstrap Admin templates,premium Angular 22 Admin templates download"
    />
    <meta name="author" content="CodedThemes" />
    <link rel="icon" type="image/x-icon" href="favicon.ico" />
    <!-- font style -->
    <link href="https://fonts.googleapis.com/css?family=Roboto:300,500,400,600,700" rel="stylesheet" />
    <!-- Buy Now Link  -->
    <script defer src="https://fomo.codedthemes.com/pixel/jAgJNY0WuNyOO0aM7ql1AqLRKRH5d737"></script>
  </head>
  <body>
    <app-root></app-root>
  </body>
</html>

```

{% endcode %}

#### **../src/app/app.component.html**

{% code title="app.component.html" %}

```html
<router-outlet>
    <!-- loadChildren from app-routing.module.ts with admin.component.html or auth.component.html -->
</router-outlet>
```

{% endcode %}

#### **../src/app/app-routing.module.ts**

{% code title="app-routing.module.ts" %}

```typescript
import { AdminComponent } from './theme/layout/admin/admin.component';
import { GuestComponent } from './theme/layout/auth/Guest.component';
import { AuthGuardChild } from './theme/shared/_helpers/auth.guard';
import { Role } from './theme/shared/_helpers/role';

const routes: Routes = [
  {
    path: '',
    component: AdminComponent,
    canActivateChild: [AuthGuardChild],
    children: [
      // load children modules with lazy-loaded routing for header, side nav, and common structure, like dashboard, blank page, widget, etc.
    ]
  },
  {
    path: '',
    component: GuestComponent,
    children: [
      // load children modules with lazy-loaded routing, without a common structure, like login, signup, reset password, lock screen, etc.
    ]
  },
  {
    path: '**',
    loadComponent: () => import('./demo/pages/maintenance/maintain-error/maintain-error.component').then((c) => c.MaintainErrorComponent)
  }
];
```

{% endcode %}

#### **../src/app/theme/layout/admin/admin.component.html**

{% code title="admin.component.html" %}

```html
<app-navigation></app-navigation> <!-- for side nav - navigation.component.html -->
<app-nav-bar></app-nav-bar> <!-- for header - nav-bar.component.html -->
<div class="pc-container">
  <div class="coded-wrapper">
    <div class="coded-content">
      <div class="coded-inner-content">
        <app-breadcrumb></app-breadcrumb> <!-- for common breadcrumb - breadcrumb.component.html -->
        <div class="main-body">
          <div class="page-wrapper">
            <router-outlet>
                <!-- page main body - loadChildren as main page body from src/app/demo/... -->
            </router-outlet>
          </div>
        </div>
      </div>
    </div>
  </div>
  <div class="pc-menu-overlay" (click)="closeMenu()" (keydown)="handleKeyDown($event)" tabindex="0"></div>
</div>
<footer class="pc-footer"><footer>  <!-- for common footer-->
<app-configuration></app-configuration>
```

{% endcode %}

#### **../src/app/theme/layout/guest/guest.component.html**

{% code title="guest.component.html" %}

```html
<router-outlet>
    <!-- loadChildren component for guest.component at app-routing.module.ts for authentication blank pages without nav, header, etc. -->
</router-outlet>
```

{% endcode %}
