feat(menu): use a dropdown menu
Signed-off-by: SphericalKat <amolele@gmail.com>
This commit is contained in:
		
							parent
							
								
									ca905d46aa
								
							
						
					
					
						commit
						f0efa78b89
					
				
							
								
								
									
										60
									
								
								assets/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										60
									
								
								assets/package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -16,7 +16,7 @@ | |||||||
|         "fs-extra": "^10.0.0", |         "fs-extra": "^10.0.0", | ||||||
|         "postcss": "^8.3.6", |         "postcss": "^8.3.6", | ||||||
|         "postcss-import": "^15.0.0", |         "postcss-import": "^15.0.0", | ||||||
|         "tailwindcss": "^3.0.0" |         "tailwindcss": "^3.4.3" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "../deps/phoenix": { |     "../deps/phoenix": { | ||||||
| @ -514,9 +514,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/fast-glob": { |     "node_modules/fast-glob": { | ||||||
|       "version": "3.2.12", |       "version": "3.3.2", | ||||||
|       "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", |       "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", | ||||||
|       "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", |       "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@nodelib/fs.stat": "^2.0.2", |         "@nodelib/fs.stat": "^2.0.2", | ||||||
| @ -530,9 +530,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/fastq": { |     "node_modules/fastq": { | ||||||
|       "version": "1.13.0", |       "version": "1.17.1", | ||||||
|       "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", |       "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", | ||||||
|       "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", |       "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "reusify": "^1.0.4" |         "reusify": "^1.0.4" | ||||||
| @ -899,9 +899,9 @@ | |||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "node_modules/jiti": { |     "node_modules/jiti": { | ||||||
|       "version": "1.18.2", |       "version": "1.21.0", | ||||||
|       "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", |       "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", | ||||||
|       "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", |       "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "bin": { |       "bin": { | ||||||
|         "jiti": "bin/jiti.js" |         "jiti": "bin/jiti.js" | ||||||
| @ -1837,9 +1837,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/tailwindcss": { |     "node_modules/tailwindcss": { | ||||||
|       "version": "3.3.2", |       "version": "3.4.3", | ||||||
|       "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz", |       "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", | ||||||
|       "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", |       "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@alloc/quick-lru": "^5.2.0", |         "@alloc/quick-lru": "^5.2.0", | ||||||
| @ -1847,10 +1847,10 @@ | |||||||
|         "chokidar": "^3.5.3", |         "chokidar": "^3.5.3", | ||||||
|         "didyoumean": "^1.2.2", |         "didyoumean": "^1.2.2", | ||||||
|         "dlv": "^1.1.3", |         "dlv": "^1.1.3", | ||||||
|         "fast-glob": "^3.2.12", |         "fast-glob": "^3.3.0", | ||||||
|         "glob-parent": "^6.0.2", |         "glob-parent": "^6.0.2", | ||||||
|         "is-glob": "^4.0.3", |         "is-glob": "^4.0.3", | ||||||
|         "jiti": "^1.18.2", |         "jiti": "^1.21.0", | ||||||
|         "lilconfig": "^2.1.0", |         "lilconfig": "^2.1.0", | ||||||
|         "micromatch": "^4.0.5", |         "micromatch": "^4.0.5", | ||||||
|         "normalize-path": "^3.0.0", |         "normalize-path": "^3.0.0", | ||||||
| @ -1862,7 +1862,6 @@ | |||||||
|         "postcss-load-config": "^4.0.1", |         "postcss-load-config": "^4.0.1", | ||||||
|         "postcss-nested": "^6.0.1", |         "postcss-nested": "^6.0.1", | ||||||
|         "postcss-selector-parser": "^6.0.11", |         "postcss-selector-parser": "^6.0.11", | ||||||
|         "postcss-value-parser": "^4.2.0", |  | ||||||
|         "resolve": "^1.22.2", |         "resolve": "^1.22.2", | ||||||
|         "sucrase": "^3.32.0" |         "sucrase": "^3.32.0" | ||||||
|       }, |       }, | ||||||
| @ -2337,9 +2336,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "fast-glob": { |     "fast-glob": { | ||||||
|       "version": "3.2.12", |       "version": "3.3.2", | ||||||
|       "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", |       "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", | ||||||
|       "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", |       "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "@nodelib/fs.stat": "^2.0.2", |         "@nodelib/fs.stat": "^2.0.2", | ||||||
| @ -2350,9 +2349,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "fastq": { |     "fastq": { | ||||||
|       "version": "1.13.0", |       "version": "1.17.1", | ||||||
|       "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", |       "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", | ||||||
|       "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", |       "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "reusify": "^1.0.4" |         "reusify": "^1.0.4" | ||||||
| @ -2634,9 +2633,9 @@ | |||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "jiti": { |     "jiti": { | ||||||
|       "version": "1.18.2", |       "version": "1.21.0", | ||||||
|       "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", |       "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", | ||||||
|       "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", |       "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "jsonfile": { |     "jsonfile": { | ||||||
| @ -3272,9 +3271,9 @@ | |||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "tailwindcss": { |     "tailwindcss": { | ||||||
|       "version": "3.3.2", |       "version": "3.4.3", | ||||||
|       "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz", |       "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", | ||||||
|       "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", |       "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "@alloc/quick-lru": "^5.2.0", |         "@alloc/quick-lru": "^5.2.0", | ||||||
| @ -3282,10 +3281,10 @@ | |||||||
|         "chokidar": "^3.5.3", |         "chokidar": "^3.5.3", | ||||||
|         "didyoumean": "^1.2.2", |         "didyoumean": "^1.2.2", | ||||||
|         "dlv": "^1.1.3", |         "dlv": "^1.1.3", | ||||||
|         "fast-glob": "^3.2.12", |         "fast-glob": "^3.3.0", | ||||||
|         "glob-parent": "^6.0.2", |         "glob-parent": "^6.0.2", | ||||||
|         "is-glob": "^4.0.3", |         "is-glob": "^4.0.3", | ||||||
|         "jiti": "^1.18.2", |         "jiti": "^1.21.0", | ||||||
|         "lilconfig": "^2.1.0", |         "lilconfig": "^2.1.0", | ||||||
|         "micromatch": "^4.0.5", |         "micromatch": "^4.0.5", | ||||||
|         "normalize-path": "^3.0.0", |         "normalize-path": "^3.0.0", | ||||||
| @ -3297,7 +3296,6 @@ | |||||||
|         "postcss-load-config": "^4.0.1", |         "postcss-load-config": "^4.0.1", | ||||||
|         "postcss-nested": "^6.0.1", |         "postcss-nested": "^6.0.1", | ||||||
|         "postcss-selector-parser": "^6.0.11", |         "postcss-selector-parser": "^6.0.11", | ||||||
|         "postcss-value-parser": "^4.2.0", |  | ||||||
|         "resolve": "^1.22.2", |         "resolve": "^1.22.2", | ||||||
|         "sucrase": "^3.32.0" |         "sucrase": "^3.32.0" | ||||||
|       }, |       }, | ||||||
|  | |||||||
| @ -17,6 +17,6 @@ | |||||||
|     "fs-extra": "^10.0.0", |     "fs-extra": "^10.0.0", | ||||||
|     "postcss": "^8.3.6", |     "postcss": "^8.3.6", | ||||||
|     "postcss-import": "^15.0.0", |     "postcss-import": "^15.0.0", | ||||||
|     "tailwindcss": "^3.0.0" |     "tailwindcss": "^3.4.3" | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,8 +1,27 @@ | |||||||
|  | <script> | ||||||
|  | function toggleDropdown() { | ||||||
|  |     const dropdown = document.querySelector('#dropdown'); | ||||||
|  |     const dropdownLabel = document.querySelector('#dropdown-label'); | ||||||
|  |     if (dropdown.classList.contains('hidden')) { | ||||||
|  |         dropdown.classList.remove('hidden'); | ||||||
|  |         dropdown.classList.add('absolute'); | ||||||
|  |         dropdownLabel.innerHTML = dropdownLabel.innerHTML.replace('▼', '▲'); | ||||||
|  |     } else { | ||||||
|  |         dropdown.classList.add('hidden'); | ||||||
|  |         dropdown.classList.remove('absolute'); | ||||||
|  |         dropdownLabel.innerHTML = dropdownLabel.innerHTML.replace('▲', '▼'); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | </script> | ||||||
| <ul> | <ul> | ||||||
| 	<%= if @current_user do %> | 	<%= if @current_user do %> | ||||||
| 		<li><%= @current_user.email %></li> | 		<div class="relative"> | ||||||
| 		<li><%= link "Settings", to: Routes.user_settings_path(@conn, :edit) %></li> |             <li id="dropdown-label" onclick="toggleDropdown()" class="text-[#ff9800] cursor-pointer select-none"><%= @current_user.email %> ▼</li> | ||||||
| 		<li><%= link "Log out", to: Routes.user_session_path(@conn, :delete), method: :delete %></li> |             <div id="dropdown" class="hidden right-0 z-50 bg-[#313131] px-4 py-2"> | ||||||
|  |                 <li><%= link "Settings", to: Routes.user_settings_path(@conn, :edit) %></li> | ||||||
|  |                 <li><%= link "Log out", to: Routes.user_session_path(@conn, :delete), method: :delete %></li> | ||||||
|  |             </div> | ||||||
|  |         </div> | ||||||
| 	<% else %> | 	<% else %> | ||||||
| 		<li><%= link "Register", to: Routes.user_registration_path(@conn, :new) %></li> | 		<li><%= link "Register", to: Routes.user_registration_path(@conn, :new) %></li> | ||||||
| 		<li><%= link "Log in", to: Routes.user_session_path(@conn, :new) %></li> | 		<li><%= link "Log in", to: Routes.user_session_path(@conn, :new) %></li> | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user