File tree 4 files changed +25
-9
lines changed
4 files changed +25
-9
lines changed Original file line number Diff line number Diff line change 1
1
import { appIcon , scripts , styles } from "@indiekit/frontend" ;
2
2
3
- export const getAppIcon = async ( request , response ) => {
4
- const { size } = request . params ;
3
+ export const getAppIcon = async ( request , response , next ) => {
4
+ const { purpose , size } = request . params ;
5
5
const { themeColor } = request . app . locals . application ;
6
- const png = await appIcon ( themeColor , Number ( size ) ) ;
7
- return response . type ( "image/png" ) . send ( png ) . end ( ) ;
6
+
7
+ try {
8
+ const png = await appIcon ( size , themeColor , purpose ) ;
9
+ return response . type ( "image/png" ) . send ( png ) . end ( ) ;
10
+ } catch {
11
+ next ( ) ;
12
+ }
8
13
} ;
9
14
10
15
export const getScripts = async ( request , response ) => {
Original file line number Diff line number Diff line change @@ -10,14 +10,22 @@ export const get = async (request, response) => {
10
10
name : application . name ,
11
11
icons : [
12
12
{
13
- src : "assets/app-icon-192.png" ,
13
+ src : "assets/app-icon-192-any .png" ,
14
14
sizes : "192x192" ,
15
15
type : "image/png" ,
16
+ purpose : "any" ,
16
17
} ,
17
18
{
18
- src : "assets/app-icon-512.png" ,
19
+ src : "assets/app-icon-512-any .png" ,
19
20
sizes : "512x512" ,
20
21
type : "image/png" ,
22
+ purpose : "any" ,
23
+ } ,
24
+ {
25
+ src : "assets/app-icon-512-maskable.png" ,
26
+ sizes : "512x512" ,
27
+ type : "image/png" ,
28
+ purpose : "maskable" ,
21
29
} ,
22
30
] ,
23
31
shortcuts : getShortcuts ( application , response ) ,
Original file line number Diff line number Diff line change @@ -38,7 +38,10 @@ export const routes = (indiekitConfig) => {
38
38
router . use ( "/assets" , express . static ( assetsPath , { maxAge : "7d" } ) ) ;
39
39
router . get ( "/assets/app-:hash.js" , assetsController . getScripts ) ;
40
40
router . get ( "/assets/app-:hash.css" , assetsController . getStyles ) ;
41
- router . get ( "/assets/app-icon-:size.png" , assetsController . getAppIcon ) ;
41
+ router . get (
42
+ "/assets/app-icon-:size-:purpose.png" ,
43
+ assetsController . getAppIcon ,
44
+ ) ;
42
45
43
46
// Plug-in assets
44
47
for ( const plugin of application . installedPlugins ) {
Original file line number Diff line number Diff line change @@ -6,9 +6,9 @@ import { testServer } from "@indiekit-test/server";
6
6
const server = await testServer ( ) ;
7
7
const request = supertest . agent ( server ) ;
8
8
9
- describe ( "indiekit GET /assets/app-icon-512.png" , ( ) => {
9
+ describe ( "indiekit GET /assets/app-icon-512-any .png" , ( ) => {
10
10
it ( "Returns JavaScript" , async ( ) => {
11
- const result = await request . get ( "/assets/app-icon-512.png" ) ;
11
+ const result = await request . get ( "/assets/app-icon-512-any .png" ) ;
12
12
13
13
assert . equal ( result . status , 200 ) ;
14
14
assert . equal ( result . type , "image/png" ) ;
You can’t perform that action at this time.
0 commit comments