From 516a7c1476c35010301e553ff05511459f0ee827 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Tue, 12 Sep 2023 12:55:54 +0300 Subject: [PATCH] Fix for logo CORS issue --- lib/ui/app/menu_drawer.dart | 2 ++ lib/ui/app/resources/cached_image.dart | 13 +++++++++++-- lib/ui/settings/company_details.dart | 2 ++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/ui/app/menu_drawer.dart b/lib/ui/app/menu_drawer.dart index c9a15464e..22a92caa2 100644 --- a/lib/ui/app/menu_drawer.dart +++ b/lib/ui/app/menu_drawer.dart @@ -87,7 +87,9 @@ class _MenuDrawerState extends State { company.settings.companyLogo.isNotEmpty ? CachedImage( width: MenuDrawer.LOGO_WIDTH, + //url: state.credentials.url + '/companies/' + company.id + '/logo', url: company.settings.companyLogo, + sendApiToken: true, ) : Image.asset('assets/images/icon.png', width: MenuDrawer.LOGO_WIDTH); diff --git a/lib/ui/app/resources/cached_image.dart b/lib/ui/app/resources/cached_image.dart index 5ba1a6f39..2869de065 100644 --- a/lib/ui/app/resources/cached_image.dart +++ b/lib/ui/app/resources/cached_image.dart @@ -10,13 +10,19 @@ import 'package:flutter_redux/flutter_redux.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; class CachedImage extends StatelessWidget { - const CachedImage( - {this.url, this.width, this.height, this.showNinjaOnError = true}); + const CachedImage({ + this.url, + this.width, + this.height, + this.showNinjaOnError = true, + this.sendApiToken = false, + }); final String url; final bool showNinjaOnError; final double width; final double height; + final bool sendApiToken; @override Widget build(BuildContext context) { @@ -39,6 +45,7 @@ class CachedImage extends StatelessWidget { height: height, key: ValueKey(url), fit: BoxFit.contain, + headers: sendApiToken ? {'X-API-TOKEN': state.credentials.token} : null, ); } @@ -50,6 +57,8 @@ class CachedImage extends StatelessWidget { placeholder: (context, url) => Center(child: CircularProgressIndicator()), errorWidget: (context, url, Object error) => Image.asset('assets/images/icon.png', width: 32, height: 30), + httpHeaders: + sendApiToken ? {'X-API-TOKEN': state.credentials.token} : null, ); } } diff --git a/lib/ui/settings/company_details.dart b/lib/ui/settings/company_details.dart index 44e41ad6a..e5ec3b3d4 100644 --- a/lib/ui/settings/company_details.dart +++ b/lib/ui/settings/company_details.dart @@ -574,7 +574,9 @@ class _CompanyDetailsState extends State padding: const EdgeInsets.symmetric(vertical: 20), child: CachedImage( width: double.infinity, + //url: state.credentials.url + '/companies/' + company.id + '/logo', url: settings.companyLogo, + sendApiToken: true, )), ], ),