app-router.ts96 lines · main
1import { type Metadata } from 'next'
2
3const genFaviconData = (basePath: string): Metadata['icons'] => ({
4 icon: {
5 url: `${basePath}/favicon/favicon.ico`,
6 type: 'image/x-icon',
7 },
8 shortcut: `${basePath}/favicon/favicon.ico`,
9 apple: `${basePath}/favicon/favicon.ico`,
10 other: [
11 {
12 rel: 'apple-touch-icon-precomposed',
13 url: `${basePath}/favicon/apple-icon-57x57.png`,
14 sizes: '57x57',
15 },
16 {
17 rel: 'apple-touch-icon-precomposed',
18 url: `${basePath}/favicon/apple-icon-60x60.png`,
19 sizes: '60x60',
20 },
21 {
22 rel: 'apple-touch-icon-precomposed',
23 url: `${basePath}/favicon/apple-icon-72x72.png`,
24 sizes: '72x72',
25 },
26 {
27 rel: 'apple-touch-icon-precomposed',
28 url: `${basePath}/favicon/apple-icon-76x76.png`,
29 sizes: '76x76',
30 },
31 {
32 rel: 'apple-touch-icon-precomposed',
33 url: `${basePath}/favicon/apple-icon-114x114.png`,
34 sizes: '114x114',
35 },
36 {
37 rel: 'apple-touch-icon-precomposed',
38 url: `${basePath}/favicon/apple-icon-120x120.png`,
39 sizes: '120x120',
40 },
41 {
42 rel: 'apple-touch-icon-precomposed',
43 url: `${basePath}/favicon/apple-icon-144x144.png`,
44 sizes: '144x144',
45 },
46 {
47 rel: 'apple-touch-icon-precomposed',
48 url: `${basePath}/favicon/apple-icon-152x152.png`,
49 sizes: '152x152',
50 },
51 {
52 rel: 'icon',
53 url: `${basePath}/favicon/favicon-16x16.png`,
54 type: 'image/png',
55 sizes: '16x16',
56 },
57 {
58 rel: 'icon',
59 url: `${basePath}/favicon/favicon-32x32.png`,
60 type: 'image/png',
61 sizes: '32x32',
62 },
63 {
64 rel: 'icon',
65 url: `${basePath}/favicon/favicon-48x48.png`,
66 type: 'image/png',
67 sizes: '48x48',
68 },
69 {
70 rel: 'icon',
71 url: `${basePath}/favicon/favicon-96x96.png`,
72 type: 'image/png',
73 sizes: '96x96',
74 },
75 {
76 rel: 'icon',
77 url: `${basePath}/favicon/favicon-128x128.png`,
78 type: 'image/png',
79 sizes: '128x128',
80 },
81 {
82 rel: 'icon',
83 url: `${basePath}/favicon/favicon-180x180.png`,
84 type: 'image/png',
85 sizes: '180x180',
86 },
87 {
88 rel: 'icon',
89 url: `${basePath}/favicon/favicon-196x196.png`,
90 type: 'image/png',
91 sizes: '196x196',
92 },
93 ],
94})
95
96export { genFaviconData }