app-router.ts 2.3 KB

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