fix: dropdown close on mouse leave + imagePullPolicy Always
Build & Push Portfolio Image / build-push (push) Successful in 2m41s

- Add onMouseLeave to close dropdowns when hover away
- Change imagePullPolicy to Always for latest tag updates
This commit is contained in:
Story Crater Bot
2026-08-31 22:29:04 -07:00
parent a09d29d9e9
commit 479979cad4
2 changed files with 7 additions and 5 deletions
+6 -4
View File
@@ -78,7 +78,7 @@ export default function Header() {
> >
{t.header.nav.askPoimen} {t.header.nav.askPoimen}
</button> </button>
<div className="relative"> <div className="relative" onMouseLeave={() => setSkillsOpen(false)}>
<button <button
onClick={() => setSkillsOpen(!skillsOpen)} onClick={() => setSkillsOpen(!skillsOpen)}
className="text-sm hover:text-blue-600 dark:hover:text-blue-400" className="text-sm hover:text-blue-600 dark:hover:text-blue-400"
@@ -86,7 +86,8 @@ export default function Header() {
{t.header.nav.skills} {t.header.nav.skills}
</button> </button>
{skillsOpen && ( {skillsOpen && (
<div className="absolute right-0 mt-2 w-80 bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-800 rounded-lg shadow-lg p-4"> <div className="absolute right-0 pt-2 w-80">
<div className="bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-800 rounded-lg shadow-lg p-4">
<div className="grid grid-cols-2 gap-3"> <div className="grid grid-cols-2 gap-3">
{Object.entries(t.header.skills).map(([key, category]) => ( {Object.entries(t.header.skills).map(([key, category]) => (
<div key={key}> <div key={key}>
@@ -102,9 +103,10 @@ export default function Header() {
))} ))}
</div> </div>
</div> </div>
</div>
)} )}
</div> </div>
<div className="relative"> <div className="relative" onMouseLeave={() => setContactOpen(false)}>
<button <button
onClick={() => setContactOpen(!contactOpen)} onClick={() => setContactOpen(!contactOpen)}
className="text-sm hover:text-blue-600 dark:hover:text-blue-400" className="text-sm hover:text-blue-600 dark:hover:text-blue-400"
@@ -194,7 +196,7 @@ export default function Header() {
<div className="text-gray-600 dark:text-gray-400">{t.header.experience}</div> <div className="text-gray-600 dark:text-gray-400">{t.header.experience}</div>
<div className="font-semibold text-gray-900 dark:text-white">{t.header.experienceValue}</div> <div className="font-semibold text-gray-900 dark:text-white">{t.header.experienceValue}</div>
</div> </div>
<div className="relative"> <div className="relative" onMouseLeave={() => setEducationOpen(false)}>
<button <button
onClick={() => setEducationOpen(!educationOpen)} onClick={() => setEducationOpen(!educationOpen)}
className="text-xs cursor-pointer hover:text-blue-600 dark:hover:text-blue-400" className="text-xs cursor-pointer hover:text-blue-600 dark:hover:text-blue-400"
+1 -1
View File
@@ -19,7 +19,7 @@ spec:
containers: containers:
- name: portfolio - name: portfolio
image: forgejo.riotpiao.com/rock/portfolio:latest image: forgejo.riotpiao.com/rock/portfolio:latest
imagePullPolicy: IfNotPresent imagePullPolicy: Always
ports: ports:
- name: http - name: http
containerPort: 3000 containerPort: 3000