bitwarden-desktop/src/app/app.module.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

225 lines
9.4 KiB
TypeScript
Raw Normal View History

2018-01-16 20:48:34 +01:00
import "zone.js/dist/zone";
import { A11yModule } from "@angular/cdk/a11y";
import { DragDropModule } from "@angular/cdk/drag-drop";
[Account Switching] [Feature] Add the ability to maintain state for up to 5 accounts at once (#1079) * [refactor] Remove references to deprecated services * [feature] Implement account switching * [bug] Fix state handling for authentication dependent system menu items * [bug] Enable the account switcher to fucntion properly when switching to a locked accounts * [feature] Enable locking any account from the menu * [bug] Ensure the avatar instance used in the account switcher updates on account change * [style] Fix lint complaints * [bug] Ensure the logout command callback can handle any user in state * [style] Fix lint complaints * rollup * [style] Fix lint complaints * [bug] Don't clean up state until everything else is done on logout * [bug] Navigate to vault on a succesful account switch * [bug] Init the state service on start * [feature] Limit account switching to 5 account maximum * [bug] Resolve app lock state with 5 logged out accounts * [chore] Update account refrences to match recent jslib restructuring * [bug] Add missing awaits * [bug] Update app menu on logout * [bug] Hide the switcher if there are no authed accounts * [bug] Move authenticationStatus display information out of jslib * [bug] Remove unused active style from scss * [refactor] Rewrite the menu bar * [style] Fix lint complaints * [bug] Clean state of loggout out user after redirect * [bug] Redirect on logout if not explicity provided a userId that isn't active * [bug] Relocated several settings items to persistant storage * [bug] Correct account switcher styles on all themes * [chore] Include state migration service in services * [bug] Swap to next account on logout * [bug] Correct DI service * [bug] fix loginGuard deps in services.module * [chore] update jslib * [bug] Remove badly merged scss * [chore] update jslib * [review] Code review cleanup * [review] Code review cleanup Co-authored-by: Hinton <oscar@oscarhinton.com>
2021-12-15 23:32:00 +01:00
import { OverlayModule } from "@angular/cdk/overlay";
import { ScrollingModule } from "@angular/cdk/scrolling";
2022-02-24 20:50:19 +01:00
import { DatePipe, registerLocaleData } from "@angular/common";
2021-05-14 22:42:12 +02:00
import localeAf from "@angular/common/locales/af";
2021-07-11 23:44:40 +02:00
import localeAz from "@angular/common/locales/az";
2020-09-15 19:38:36 +02:00
import localeBe from "@angular/common/locales/be";
2018-08-02 15:26:50 +02:00
import localeBg from "@angular/common/locales/bg";
2021-05-14 22:42:12 +02:00
import localeBn from "@angular/common/locales/bn";
import localeBs from "@angular/common/locales/bs";
2019-01-18 21:57:33 +01:00
import localeCa from "@angular/common/locales/ca";
2018-08-02 15:26:50 +02:00
import localeCs from "@angular/common/locales/cs";
import localeDa from "@angular/common/locales/da";
import localeDe from "@angular/common/locales/de";
2020-05-23 05:14:22 +02:00
import localeEl from "@angular/common/locales/el";
2021-05-17 22:24:11 +02:00
import localeEnGb from "@angular/common/locales/en-GB";
import localeEnIn from "@angular/common/locales/en-IN";
import localeEo from "@angular/common/locales/eo";
2018-08-02 15:26:50 +02:00
import localeEs from "@angular/common/locales/es";
import localeEt from "@angular/common/locales/et";
import localeFa from "@angular/common/locales/fa";
import localeFi from "@angular/common/locales/fi";
import localeFil from "@angular/common/locales/fil";
2018-08-02 15:26:50 +02:00
import localeFr from "@angular/common/locales/fr";
2021-05-14 22:42:12 +02:00
import localeHe from "@angular/common/locales/he";
import localeHi from "@angular/common/locales/hi";
2018-08-02 15:26:50 +02:00
import localeHr from "@angular/common/locales/hr";
import localeHu from "@angular/common/locales/hu";
import localeId from "@angular/common/locales/id";
import localeIt from "@angular/common/locales/it";
import localeJa from "@angular/common/locales/ja";
import localeKa from "@angular/common/locales/ka";
import localeKm from "@angular/common/locales/km";
2021-07-06 23:40:17 +02:00
import localeKn from "@angular/common/locales/kn";
2018-08-02 15:26:50 +02:00
import localeKo from "@angular/common/locales/ko";
2021-05-14 22:42:12 +02:00
import localeLv from "@angular/common/locales/lv";
2020-09-15 19:38:36 +02:00
import localeMl from "@angular/common/locales/ml";
2018-08-02 15:26:50 +02:00
import localeNb from "@angular/common/locales/nb";
import localeNl from "@angular/common/locales/nl";
import localeNn from "@angular/common/locales/nn";
2018-08-02 15:26:50 +02:00
import localePl from "@angular/common/locales/pl";
import localePtBr from "@angular/common/locales/pt";
import localePtPt from "@angular/common/locales/pt-PT";
import localeRo from "@angular/common/locales/ro";
import localeRu from "@angular/common/locales/ru";
import localeSi from "@angular/common/locales/si";
2018-08-02 15:26:50 +02:00
import localeSk from "@angular/common/locales/sk";
import localeSl from "@angular/common/locales/sl";
2021-02-03 19:21:22 +01:00
import localeSr from "@angular/common/locales/sr";
2021-05-17 22:25:57 +02:00
import localeMe from "@angular/common/locales/sr-Latn-ME";
2018-08-02 15:26:50 +02:00
import localeSv from "@angular/common/locales/sv";
import localeTh from "@angular/common/locales/th";
import localeTr from "@angular/common/locales/tr";
import localeUk from "@angular/common/locales/uk";
import localeVi from "@angular/common/locales/vi";
import localeZhCn from "@angular/common/locales/zh-Hans";
import localeZhTw from "@angular/common/locales/zh-Hant";
2022-02-24 20:50:19 +01:00
import { NgModule } from "@angular/core";
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
import { BrowserModule } from "@angular/platform-browser";
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import { JslibModule } from "jslib-angular/jslib.module";
2022-02-24 20:50:19 +01:00
import { EnvironmentComponent } from "./accounts/environment.component";
import { HintComponent } from "./accounts/hint.component";
import { LockComponent } from "./accounts/lock.component";
import { LoginComponent } from "./accounts/login.component";
import { PremiumComponent } from "./accounts/premium.component";
import { RegisterComponent } from "./accounts/register.component";
import { RemovePasswordComponent } from "./accounts/remove-password.component";
import { SetPasswordComponent } from "./accounts/set-password.component";
import { SettingsComponent } from "./accounts/settings.component";
import { SsoComponent } from "./accounts/sso.component";
import { TwoFactorOptionsComponent } from "./accounts/two-factor-options.component";
import { TwoFactorComponent } from "./accounts/two-factor.component";
import { UpdateTempPasswordComponent } from "./accounts/update-temp-password.component";
import { VaultTimeoutInputComponent } from "./accounts/vault-timeout-input.component";
import { AppRoutingModule } from "./app-routing.module";
import { AppComponent } from "./app.component";
import { PasswordRepromptComponent } from "./components/password-reprompt.component";
import { SetPinComponent } from "./components/set-pin.component";
import { UserVerificationComponent } from "./components/user-verification.component";
2022-02-24 20:50:19 +01:00
import { AccountSwitcherComponent } from "./layout/account-switcher.component";
import { HeaderComponent } from "./layout/header.component";
import { NavComponent } from "./layout/nav.component";
import { SearchComponent } from "./layout/search/search.component";
import { AddEditComponent as SendAddEditComponent } from "./send/add-edit.component";
import { EffluxDatesComponent as SendEffluxDatesComponent } from "./send/efflux-dates.component";
import { SendComponent } from "./send/send.component";
import { ServicesModule } from "./services/services.module";
2022-02-24 20:50:19 +01:00
import { AddEditCustomFieldsComponent } from "./vault/add-edit-custom-fields.component";
import { AddEditComponent } from "./vault/add-edit.component";
import { AttachmentsComponent } from "./vault/attachments.component";
import { CiphersComponent } from "./vault/ciphers.component";
import { CollectionsComponent } from "./vault/collections.component";
import { ExportComponent } from "./vault/export.component";
import { FolderAddEditComponent } from "./vault/folder-add-edit.component";
import { GeneratorComponent } from "./vault/generator.component";
2022-02-24 20:50:19 +01:00
import { GroupingsComponent } from "./vault/groupings.component";
import { PasswordGeneratorHistoryComponent } from "./vault/password-generator-history.component";
import { PasswordHistoryComponent } from "./vault/password-history.component";
import { ShareComponent } from "./vault/share.component";
import { VaultComponent } from "./vault/vault.component";
import { ViewCustomFieldsComponent } from "./vault/view-custom-fields.component";
import { ViewComponent } from "./vault/view.component";
2018-08-02 15:26:50 +02:00
2021-05-14 22:42:12 +02:00
registerLocaleData(localeAf, "af");
2021-07-11 23:44:40 +02:00
registerLocaleData(localeAz, "az");
2020-09-15 19:38:36 +02:00
registerLocaleData(localeBe, "be");
2018-08-02 15:26:50 +02:00
registerLocaleData(localeBg, "bg");
2021-05-14 22:42:12 +02:00
registerLocaleData(localeBn, "bn");
registerLocaleData(localeBs, "bs");
2019-01-18 21:57:33 +01:00
registerLocaleData(localeCa, "ca");
2018-08-02 15:26:50 +02:00
registerLocaleData(localeCs, "cs");
registerLocaleData(localeDa, "da");
registerLocaleData(localeDe, "de");
2020-05-23 05:14:22 +02:00
registerLocaleData(localeEl, "el");
2021-05-17 22:24:11 +02:00
registerLocaleData(localeEnGb, "en-GB");
registerLocaleData(localeEnIn, "en-IN");
registerLocaleData(localeEo, "eo");
2018-08-02 15:26:50 +02:00
registerLocaleData(localeEs, "es");
registerLocaleData(localeEt, "et");
registerLocaleData(localeFa, "fa");
registerLocaleData(localeFi, "fi");
registerLocaleData(localeFil, "fil");
2018-08-02 15:26:50 +02:00
registerLocaleData(localeFr, "fr");
2021-05-14 22:42:12 +02:00
registerLocaleData(localeHe, "he");
registerLocaleData(localeHi, "hi");
2018-08-02 15:26:50 +02:00
registerLocaleData(localeHr, "hr");
registerLocaleData(localeHu, "hu");
registerLocaleData(localeId, "id");
registerLocaleData(localeIt, "it");
registerLocaleData(localeJa, "ja");
registerLocaleData(localeKa, "ka");
registerLocaleData(localeKm, "km");
2021-07-06 23:40:17 +02:00
registerLocaleData(localeKn, "kn");
2018-08-02 15:26:50 +02:00
registerLocaleData(localeKo, "ko");
2021-05-14 22:42:12 +02:00
registerLocaleData(localeLv, "lv");
registerLocaleData(localeMe, "me");
2020-09-15 19:38:36 +02:00
registerLocaleData(localeMl, "ml");
2018-08-02 15:26:50 +02:00
registerLocaleData(localeNb, "nb");
registerLocaleData(localeNl, "nl");
registerLocaleData(localeNn, "nn");
2018-08-02 15:26:50 +02:00
registerLocaleData(localePl, "pl");
registerLocaleData(localePtBr, "pt-BR");
registerLocaleData(localePtPt, "pt-PT");
registerLocaleData(localeRo, "ro");
registerLocaleData(localeRu, "ru");
registerLocaleData(localeSi, "si");
2018-08-02 15:26:50 +02:00
registerLocaleData(localeSk, "sk");
registerLocaleData(localeSl, "sl");
registerLocaleData(localeSr, "sr");
2018-08-02 15:26:50 +02:00
registerLocaleData(localeSv, "sv");
registerLocaleData(localeTh, "th");
registerLocaleData(localeTr, "tr");
registerLocaleData(localeUk, "uk");
registerLocaleData(localeVi, "vi");
registerLocaleData(localeZhCn, "zh-CN");
registerLocaleData(localeZhTw, "zh-TW");
2018-01-16 20:48:34 +01:00
@NgModule({
2018-01-16 21:58:17 +01:00
imports: [
A11yModule,
AppRoutingModule,
2018-01-26 20:12:41 +01:00
BrowserAnimationsModule,
BrowserModule,
DragDropModule,
FormsModule,
JslibModule,
OverlayModule,
ReactiveFormsModule,
ScrollingModule,
ServicesModule,
2018-01-16 21:58:17 +01:00
],
declarations: [
AccountSwitcherComponent,
2018-01-26 20:56:54 +01:00
AddEditComponent,
AddEditCustomFieldsComponent,
2018-01-16 21:58:17 +01:00
AppComponent,
2018-01-30 05:19:55 +01:00
AttachmentsComponent,
2018-01-24 04:21:14 +01:00
CiphersComponent,
2018-10-23 21:50:21 +02:00
CollectionsComponent,
2018-02-02 18:31:21 +01:00
EnvironmentComponent,
2018-08-02 05:21:32 +02:00
ExportComponent,
2018-01-30 21:40:06 +01:00
FolderAddEditComponent,
2018-01-24 04:21:14 +01:00
GroupingsComponent,
HeaderComponent,
2018-01-31 23:06:14 +01:00
HintComponent,
2018-02-10 04:47:53 +01:00
LockComponent,
2018-01-16 21:58:17 +01:00
LoginComponent,
2021-02-05 18:34:01 +01:00
NavComponent,
GeneratorComponent,
2018-02-18 04:37:43 +01:00
PasswordGeneratorHistoryComponent,
PasswordHistoryComponent,
PasswordRepromptComponent,
2018-02-16 21:03:29 +01:00
PremiumComponent,
2018-01-31 20:19:21 +01:00
RegisterComponent,
RemovePasswordComponent,
SearchComponent,
2021-02-03 22:24:49 +01:00
SendAddEditComponent,
SendComponent,
SendEffluxDatesComponent,
merge sso feature branch (#523) * Update jslib (101c568 -> 14b01f2) (#506) * Update jslib (14b01f2 -> 1513b25) (#510) * [jslib] Update (1513b25 -> 7c3a9d6) (#516) * update jslib (1513b25 -> 7c3a9d6) * Updated call to constructor super * [SSO] Added SSO flows & functionality (#513) * update jslib * bump version * Added sso button (wip) * Added sso & change password // Added modules/routes // Added strings for localization * Added password strength comp // reverted login route * Updated sso component to send client id // added routing for sso // added crypto function to services module provider list * Added deep linking * First round of UI updates // Added sso browser launching // Added missing strings * Updated UI and added missing strings * Removed extra change password style * Let constructor for WindowMain handle default width/height * Prepared for jslib update * Update jslib (1513b25 -> 7c3a9d6) * Update login super * Added params for launchSsoBrowser function * Update jslib (7c3a9d6 -> 4203937) * Added missing strings, removed unnecessary class param * Upgrade TypeScript (#517) * Updated password score // Update styles * Removed password-strength component files * Cleaned up module class // Fixed UL/LI formatting issues * Use exisiting loading string // removed new string * Update jslib (4203937 -> 9957125) * Updated class to perform new submit actions * Upgrade Angular (#520) * di resolution for CryptoFunctionServiceAbstraction * Update jslib (9957125 -> 5d874d0) (#521) * Updated change password flow to match web * Updated callout style Co-authored-by: Kyle Spearrin <kyle.spearrin@gmail.com> Co-authored-by: Oscar Hinton <hinton.oscar@gmail.com> Co-authored-by: Vincent Salucci <26154748+vincentsalucci@users.noreply.github.com> Co-authored-by: Oscar Hinton <hinton.oscar@gmail.com>
2020-08-21 15:50:36 +02:00
SetPasswordComponent,
SetPinComponent,
2018-02-10 05:41:29 +01:00
SettingsComponent,
2018-10-23 21:50:21 +02:00
ShareComponent,
merge sso feature branch (#523) * Update jslib (101c568 -> 14b01f2) (#506) * Update jslib (14b01f2 -> 1513b25) (#510) * [jslib] Update (1513b25 -> 7c3a9d6) (#516) * update jslib (1513b25 -> 7c3a9d6) * Updated call to constructor super * [SSO] Added SSO flows & functionality (#513) * update jslib * bump version * Added sso button (wip) * Added sso & change password // Added modules/routes // Added strings for localization * Added password strength comp // reverted login route * Updated sso component to send client id // added routing for sso // added crypto function to services module provider list * Added deep linking * First round of UI updates // Added sso browser launching // Added missing strings * Updated UI and added missing strings * Removed extra change password style * Let constructor for WindowMain handle default width/height * Prepared for jslib update * Update jslib (1513b25 -> 7c3a9d6) * Update login super * Added params for launchSsoBrowser function * Update jslib (7c3a9d6 -> 4203937) * Added missing strings, removed unnecessary class param * Upgrade TypeScript (#517) * Updated password score // Update styles * Removed password-strength component files * Cleaned up module class // Fixed UL/LI formatting issues * Use exisiting loading string // removed new string * Update jslib (4203937 -> 9957125) * Updated class to perform new submit actions * Upgrade Angular (#520) * di resolution for CryptoFunctionServiceAbstraction * Update jslib (9957125 -> 5d874d0) (#521) * Updated change password flow to match web * Updated callout style Co-authored-by: Kyle Spearrin <kyle.spearrin@gmail.com> Co-authored-by: Oscar Hinton <hinton.oscar@gmail.com> Co-authored-by: Vincent Salucci <26154748+vincentsalucci@users.noreply.github.com> Co-authored-by: Oscar Hinton <hinton.oscar@gmail.com>
2020-08-21 15:50:36 +02:00
SsoComponent,
2018-02-01 04:54:13 +01:00
TwoFactorComponent,
TwoFactorOptionsComponent,
UpdateTempPasswordComponent,
UserVerificationComponent,
2018-01-16 22:12:26 +01:00
VaultComponent,
2021-09-15 20:02:46 +02:00
VaultTimeoutInputComponent,
ViewComponent,
ViewCustomFieldsComponent,
2018-01-16 21:58:17 +01:00
],
2021-02-03 22:24:49 +01:00
providers: [DatePipe],
2018-01-16 20:48:34 +01:00
bootstrap: [AppComponent],
})
export class AppModule {}