2024-03-06 09:32:50 -08:00
|
|
|
<main
|
2025-02-19 14:29:12 -05:00
|
|
|
class="tw-flex tw-w-full tw-mx-auto tw-flex-col tw-bg-background-alt tw-px-6 tw-py-4 tw-text-main"
|
2024-08-31 13:19:48 -07:00
|
|
|
[ngClass]="{
|
2024-09-13 09:16:25 -07:00
|
|
|
'tw-min-h-screen': clientType === 'web',
|
2024-10-08 14:51:08 -04:00
|
|
|
'tw-min-h-full': clientType === 'browser' || clientType === 'desktop',
|
2024-08-31 13:19:48 -07:00
|
|
|
}"
|
2024-03-06 09:32:50 -08:00
|
|
|
>
|
2024-11-13 10:17:23 -08:00
|
|
|
<a
|
|
|
|
|
*ngIf="!hideLogo"
|
|
|
|
|
[routerLink]="['/']"
|
|
|
|
|
class="tw-w-[128px] tw-block tw-mb-12 [&>*]:tw-align-top"
|
|
|
|
|
>
|
2024-10-02 08:00:37 -05:00
|
|
|
<bit-icon [icon]="logo"></bit-icon>
|
|
|
|
|
</a>
|
2024-07-30 13:48:51 -05:00
|
|
|
|
2024-12-12 10:28:30 -06:00
|
|
|
<div
|
2025-02-19 14:29:12 -05:00
|
|
|
class="tw-text-center tw-mb-4 sm:tw-mb-6"
|
2024-12-12 10:28:30 -06:00
|
|
|
[ngClass]="{ 'tw-max-w-md tw-mx-auto': titleAreaMaxWidth === 'md' }"
|
|
|
|
|
>
|
2025-03-28 15:50:30 -04:00
|
|
|
<div *ngIf="!hideIcon" class="tw-mx-auto tw-max-w-24 sm:tw-max-w-28 md:tw-max-w-32">
|
2024-07-30 13:48:51 -05:00
|
|
|
<bit-icon [icon]="icon"></bit-icon>
|
2024-03-06 09:32:50 -08:00
|
|
|
</div>
|
2024-07-30 13:48:51 -05:00
|
|
|
|
2024-09-09 15:12:31 -07:00
|
|
|
<ng-container *ngIf="title">
|
|
|
|
|
<!-- Small screens -->
|
|
|
|
|
<h1 bitTypography="h3" class="tw-mt-2 sm:tw-hidden">
|
|
|
|
|
{{ title }}
|
|
|
|
|
</h1>
|
|
|
|
|
<!-- Medium to Larger screens -->
|
|
|
|
|
<h1 bitTypography="h2" class="tw-mt-2 tw-hidden sm:tw-block">
|
|
|
|
|
{{ title }}
|
|
|
|
|
</h1>
|
|
|
|
|
</ng-container>
|
2024-09-13 09:16:25 -07:00
|
|
|
|
2024-07-30 13:48:51 -05:00
|
|
|
<div *ngIf="subtitle" class="tw-text-sm sm:tw-text-base">{{ subtitle }}</div>
|
2024-03-06 09:32:50 -08:00
|
|
|
</div>
|
2024-07-30 13:48:51 -05:00
|
|
|
|
2024-06-04 14:45:10 -07:00
|
|
|
<div
|
2024-10-08 14:51:08 -04:00
|
|
|
class="tw-grow tw-w-full tw-max-w-md tw-mx-auto tw-flex tw-flex-col tw-items-center sm:tw-min-w-[28rem]"
|
2024-07-30 07:11:40 -05:00
|
|
|
[ngClass]="{ 'tw-max-w-md': maxWidth === 'md', 'tw-max-w-3xl': maxWidth === '3xl' }"
|
2024-06-04 14:45:10 -07:00
|
|
|
>
|
2024-05-06 18:34:40 -07:00
|
|
|
<div
|
2025-02-19 14:29:12 -05:00
|
|
|
class="tw-rounded-2xl tw-mb-6 sm:tw-mb-10 tw-mx-auto tw-w-full sm:tw-bg-background sm:tw-border sm:tw-border-solid sm:tw-border-secondary-300 sm:tw-p-8"
|
2024-05-06 18:34:40 -07:00
|
|
|
>
|
2024-03-06 09:32:50 -08:00
|
|
|
<ng-content></ng-content>
|
|
|
|
|
</div>
|
|
|
|
|
<ng-content select="[slot=secondary]"></ng-content>
|
|
|
|
|
</div>
|
2024-07-30 13:48:51 -05:00
|
|
|
|
2025-02-19 14:29:12 -05:00
|
|
|
<footer *ngIf="!hideFooter" class="tw-text-center tw-mt-4 sm:tw-mt-6">
|
2024-10-08 14:51:08 -04:00
|
|
|
<div *ngIf="showReadonlyHostname" bitTypography="body2">
|
|
|
|
|
{{ "accessing" | i18n }} {{ hostname }}
|
|
|
|
|
</div>
|
2024-05-29 13:31:04 -07:00
|
|
|
<ng-container *ngIf="!showReadonlyHostname">
|
|
|
|
|
<ng-content select="[slot=environment-selector]"></ng-content>
|
|
|
|
|
</ng-container>
|
2024-07-30 13:48:51 -05:00
|
|
|
<ng-container *ngIf="!hideYearAndVersion">
|
2024-10-08 14:51:08 -04:00
|
|
|
<div bitTypography="body2">© {{ year }} Bitwarden Inc.</div>
|
|
|
|
|
<div bitTypography="body2">{{ version }}</div>
|
2024-05-29 13:31:04 -07:00
|
|
|
</ng-container>
|
2024-03-06 09:32:50 -08:00
|
|
|
</footer>
|
|
|
|
|
</main>
|