Update search input in Header component and add script
This commit is contained in:
parent
b2f1e23328
commit
e5c49baa11
1 changed files with 46 additions and 6 deletions
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
// Properties
|
// Properties
|
||||||
const {Query} = Astro.props
|
const {Query, QueryText} = Astro.props
|
||||||
|
|
||||||
// Icons
|
// Icons
|
||||||
import { HalfMoon, Menu } from "@iconoir/vue";
|
import { HalfMoon, Menu } from "@iconoir/vue";
|
||||||
|
@ -8,10 +8,10 @@ import { HalfMoon, Menu } from "@iconoir/vue";
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
<div class="header-start">
|
<div class="header-start">
|
||||||
<img width="18px" src="https://md.sudovanilla.org/images/Union.png" />
|
<a href="/"><img width="18px" src="https://md.sudovanilla.org/images/Union.png"/></a>
|
||||||
<div class="search-box">
|
<form class="search-box" onsubmit="return Search()">
|
||||||
<input value={Query} placeholder="Search" />
|
<input type="search" value={QueryText} placeholder="Search" />
|
||||||
</div>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-end">
|
<div class="header-end">
|
||||||
<button>English</button>
|
<button>English</button>
|
||||||
|
@ -76,4 +76,44 @@ header {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<!-- Search Scripts -->
|
||||||
|
<!-- From https://ark.sudovanilla.org/MinPluto/MinPluto/src/branch/master/source/src/components/Search.astro#L18-L94 as of writing -->
|
||||||
|
<script is:inline>
|
||||||
|
/*
|
||||||
|
@licstart The following is the entire license notice for the
|
||||||
|
JavaScript code in this page.
|
||||||
|
|
||||||
|
Copyright (C) 2024 SudoVanilla
|
||||||
|
|
||||||
|
The JavaScript code in this page is free software: you can
|
||||||
|
redistribute it and/or modify it under the terms of the GNU
|
||||||
|
General Public License (GNU GPL) as published by the Free Software
|
||||||
|
Foundation, either version 3 of the License, or (at your option)
|
||||||
|
any later version. The code is distributed WITHOUT ANY WARRANTY;
|
||||||
|
without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
|
||||||
|
|
||||||
|
As additional permission under GNU GPL version 3 section 7, you
|
||||||
|
may distribute non-source (e.g., minimized or compacted) forms of
|
||||||
|
that code without the copy of the GNU GPL normally required by
|
||||||
|
section 4, provided you include this license notice and a URL
|
||||||
|
through which recipients can access the Corresponding Source.
|
||||||
|
|
||||||
|
|
||||||
|
@licend The above is the entire license notice
|
||||||
|
for the JavaScript code in this page.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Focus input
|
||||||
|
function FocusSearch() {
|
||||||
|
document.querySelector('input[type="search"]').focus();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Trigger Search
|
||||||
|
function Search() {
|
||||||
|
var SearchQuery = document.querySelector('form > input[type="search"]').value;
|
||||||
|
location.href = `/web?=${SearchQuery}`;
|
||||||
|
}
|
||||||
|
</script>
|
Loading…
Reference in a new issue