From ea992a64e8c4c749f6e6180b7121a11381c0b323 Mon Sep 17 00:00:00 2001 From: Dafnik Date: Tue, 28 Nov 2023 21:21:15 +0100 Subject: [PATCH] feat(icons): add cdn functionality --- .../src/app/app.config.ts | 11 +- .../src/app/home.component.ts | 5 +- .../src/app/load-icon.component.ts | 21 ++ libs/dfx-bootstrap-icons/README.md | 6 +- libs/dfx-bootstrap-icons/src/index.ts | 1 + .../src/lib/icon.component.spec.ts | 16 +- .../src/lib/icon.component.ts | 32 +-- .../src/lib/icons-cache.interceptor.ts | 42 ++++ .../src/lib/icons.config.ts | 6 +- .../src/lib/icons.feature.ts | 2 +- .../src/lib/icons.provider.spec.ts | 197 +++++++++--------- .../src/lib/icons.provider.ts | 59 ++++-- .../src/lib/types/color.type.ts | 2 +- 13 files changed, 237 insertions(+), 163 deletions(-) create mode 100644 apps/dfx-bootstrap-icons-demo/src/app/load-icon.component.ts create mode 100644 libs/dfx-bootstrap-icons/src/lib/icons-cache.interceptor.ts diff --git a/apps/dfx-bootstrap-icons-demo/src/app/app.config.ts b/apps/dfx-bootstrap-icons-demo/src/app/app.config.ts index 77641724..df84b704 100644 --- a/apps/dfx-bootstrap-icons-demo/src/app/app.config.ts +++ b/apps/dfx-bootstrap-icons-demo/src/app/app.config.ts @@ -1,13 +1,22 @@ import { ApplicationConfig } from '@angular/core'; import { provideRouter, withEnabledBlockingInitialNavigation } from '@angular/router'; import { appRoutes } from './app.routes'; -import { allIcons, provideBi, withHeight, withIcons, withWidth } from 'dfx-bootstrap-icons'; +import { + allIcons, + biCacheInterceptor, + provideBi, + withHeight, + withIcons, + withWidth +} from "dfx-bootstrap-icons"; import { provideDfxHelper, withWindow } from 'dfx-helper'; +import { provideHttpClient, withInterceptors } from "@angular/common/http"; export const appConfig: ApplicationConfig = { providers: [ provideRouter(appRoutes, withEnabledBlockingInitialNavigation()), provideDfxHelper(withWindow()), + provideHttpClient(withInterceptors([biCacheInterceptor])), provideBi(withIcons(allIcons), withWidth('32'), withHeight('48')), ], }; diff --git a/apps/dfx-bootstrap-icons-demo/src/app/home.component.ts b/apps/dfx-bootstrap-icons-demo/src/app/home.component.ts index dc002a7a..928ea6f9 100644 --- a/apps/dfx-bootstrap-icons-demo/src/app/home.component.ts +++ b/apps/dfx-bootstrap-icons-demo/src/app/home.component.ts @@ -6,6 +6,7 @@ import { toSignal } from '@angular/core/rxjs-interop'; import { debounceTime } from 'rxjs'; import { BiComponent, BiNameList, toEscapedName } from 'dfx-bootstrap-icons'; import { WINDOW } from 'dfx-helper'; +import { LoadIconComponent } from './load-icon.component'; @Component({ template: ` @@ -16,6 +17,8 @@ import { WINDOW } from 'dfx-helper';
Showing {{ searchResults().length }} of {{ IconNameList.length }}
+ +