feat: generate manifest.json dynamically (#889)
This commit is contained in:
		
							parent
							
								
									9d08f9bed1
								
							
						
					
					
						commit
						0e223a056e
					
				| 
						 | 
					@ -14,7 +14,7 @@
 | 
				
			||||||
  <link rel="icon" type="image/png" sizes="32x32" href="/[{[ .StaticURL ]}]/img/icons/favicon-32x32.png">
 | 
					  <link rel="icon" type="image/png" sizes="32x32" href="/[{[ .StaticURL ]}]/img/icons/favicon-32x32.png">
 | 
				
			||||||
  <link rel="icon" type="image/png" sizes="16x16" href="/[{[ .StaticURL ]}]/img/icons/favicon-16x16.png">
 | 
					  <link rel="icon" type="image/png" sizes="16x16" href="/[{[ .StaticURL ]}]/img/icons/favicon-16x16.png">
 | 
				
			||||||
  <!-- Add to home screen for Android and modern mobile browsers -->
 | 
					  <!-- Add to home screen for Android and modern mobile browsers -->
 | 
				
			||||||
  <link rel="manifest" href="/[{[ .StaticURL ]}]/manifest.json">
 | 
					  <link rel="manifest" id="manifestPlaceholder">
 | 
				
			||||||
  <meta name="theme-color" content="#2979ff">
 | 
					  <meta name="theme-color" content="#2979ff">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <!-- Add to home screen for Safari on iOS -->
 | 
					  <!-- Add to home screen for Safari on iOS -->
 | 
				
			||||||
| 
						 | 
					@ -27,8 +27,37 @@
 | 
				
			||||||
  <meta name="msapplication-TileImage" content="/[{[ .StaticURL ]}]/img/icons/msapplication-icon-144x144.png">
 | 
					  <meta name="msapplication-TileImage" content="/[{[ .StaticURL ]}]/img/icons/msapplication-icon-144x144.png">
 | 
				
			||||||
  <meta name="msapplication-TileColor" content="#2979ff">
 | 
					  <meta name="msapplication-TileColor" content="#2979ff">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <!-- Inject Some Variables -->
 | 
					  <!-- Inject Some Variables and generate the manifest json -->
 | 
				
			||||||
  <script>window.FileBrowser = JSON.parse(`[{[ .Json ]}]`)</script>
 | 
					  <script>
 | 
				
			||||||
 | 
					    window.FileBrowser = JSON.parse(`[{[ .Json ]}]`);
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    var fullStaticURL = window.location.origin + "/" + window.FileBrowser.StaticURL; 
 | 
				
			||||||
 | 
					    var dynamicManifest = {
 | 
				
			||||||
 | 
					      "name": window.FileBrowser.Name || 'File Browser',
 | 
				
			||||||
 | 
					      "short_name": window.FileBrowser.Name || 'File Browser',
 | 
				
			||||||
 | 
					      "icons": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "src": fullStaticURL + "/img/icons/android-chrome-192x192.png",
 | 
				
			||||||
 | 
					          "sizes": "192x192",
 | 
				
			||||||
 | 
					          "type": "image/png"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "src": fullStaticURL + "/img/icons/android-chrome-512x512.png",
 | 
				
			||||||
 | 
					          "sizes": "512x512",
 | 
				
			||||||
 | 
					          "type": "image/png"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "start_url": window.location.origin + window.FileBrowser.BaseURL,
 | 
				
			||||||
 | 
					      "display": "standalone",
 | 
				
			||||||
 | 
					      "background_color": "#ffffff",
 | 
				
			||||||
 | 
					      "theme_color": "#455a64"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const stringManifest = JSON.stringify(dynamicManifest);
 | 
				
			||||||
 | 
					    const blob = new Blob([stringManifest], {type: 'application/json'});
 | 
				
			||||||
 | 
					    const manifestURL = URL.createObjectURL(blob);
 | 
				
			||||||
 | 
					    document.querySelector('#manifestPlaceholder').setAttribute('href', manifestURL);
 | 
				
			||||||
 | 
					  </script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <style>
 | 
					  <style>
 | 
				
			||||||
  #loading {
 | 
					  #loading {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue