mirror of
https://github.com/Kareadita/Kavita.git
synced 2025-11-17 03:53:04 -05:00
* Configure Animation Module
Configure the Animation Module of Angular to disable animation on older iOS devices (<14) where it causes animate not defined errors.
* Simplified disableAnimations
Removed the regex iOS version check as it seemed to return false on iOS 12.5.5 meaning that the `!('animate' in document.documentElement)` did the job already. This also allows users to enable the experimental feature Web Animations on iOS 12.5.5 to have them enabled again.
as note; navigator.userAgent returned the following on an iPad iOS 12.5.5
`Mozilla/5.0 (iPad; CPU OS 12_5_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Mobile/15E148 Safari/604.1`
* added console output on disabled
Added console.error if Web Animations have been disabled due to the browser not supporting this.
49 lines
1.8 KiB
TypeScript
49 lines
1.8 KiB
TypeScript
import { BrowserModule, Title } from '@angular/platform-browser';
|
|
import { NgModule } from '@angular/core';
|
|
|
|
import { AppRoutingModule } from './app-routing.module';
|
|
import { AppComponent } from './app.component';
|
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
import { JwtInterceptor } from './_interceptors/jwt.interceptor';
|
|
import { ToastrModule } from 'ngx-toastr';
|
|
import { ErrorInterceptor } from './_interceptors/error.interceptor';
|
|
|
|
import { SAVER, getSaver } from './shared/_providers/saver.provider';
|
|
import { SidenavModule } from './sidenav/sidenav.module';
|
|
import { NavModule } from './nav/nav.module';
|
|
|
|
|
|
// Disable Web Animations if the user's browser (such as iOS 12.5.5) does not support this.
|
|
const disableAnimations = !('animate' in document.documentElement);
|
|
if (disableAnimations) console.error("Web Animations have been disabled as your current browser does not support this.");
|
|
|
|
@NgModule({
|
|
declarations: [
|
|
AppComponent,
|
|
],
|
|
imports: [
|
|
HttpClientModule,
|
|
BrowserModule,
|
|
AppRoutingModule,
|
|
BrowserAnimationsModule.withConfig({ disableAnimations }),
|
|
SidenavModule,
|
|
NavModule,
|
|
ToastrModule.forRoot({
|
|
positionClass: 'toast-bottom-right',
|
|
preventDuplicates: true,
|
|
timeOut: 6000,
|
|
countDuplicates: true,
|
|
autoDismiss: true
|
|
}),
|
|
],
|
|
providers: [
|
|
{ provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },
|
|
{ provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },
|
|
Title,
|
|
{ provide: SAVER, useFactory: getSaver },
|
|
],
|
|
bootstrap: [AppComponent]
|
|
})
|
|
export class AppModule { }
|