Bugfix: radio buttons, new badges, sort
This commit is contained in:
@@ -68,11 +68,11 @@ function DrinkCard(arg:Arguments) {
|
|||||||
<div style={{ position: 'relative', width: '100%', aspectRatio: '1 / 1', overflow: 'hidden' }}>
|
<div style={{ position: 'relative', width: '100%', aspectRatio: '1 / 1', overflow: 'hidden' }}>
|
||||||
{ (isNewlyAdded || isRecentlyRestocked) ? (
|
{ (isNewlyAdded || isRecentlyRestocked) ? (
|
||||||
<Badge
|
<Badge
|
||||||
bg={isRecentlyRestocked ? "success" : "primary"}
|
bg={isNewlyAdded ? "primary" : "success"}
|
||||||
className='position-absolute top-0 start-0 m-2 text-wrap'
|
className='position-absolute top-0 start-0 m-2 text-wrap'
|
||||||
style={{ zIndex: 2 }}
|
style={{ zIndex: 2 }}
|
||||||
>
|
>
|
||||||
{isNewlyAdded && isRecentlyRestocked ? "New · Restocked" : isNewlyAdded ? "New" : "Restocked"}
|
{isNewlyAdded ? "New" : (isRecentlyRestocked ? "Restocked" : "")}
|
||||||
</Badge>
|
</Badge>
|
||||||
) : null }
|
) : null }
|
||||||
<Card.Img
|
<Card.Img
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ function DrinkFilter(arg : Arguments) {
|
|||||||
/>
|
/>
|
||||||
));
|
));
|
||||||
|
|
||||||
const sortKey = arg.searchParams.get("sort") || "name";
|
const sortKey = arg.searchParams.get("sort") || "new";
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Form noValidate method="GET" ref={form} className='pe-2' onChange={handleFormChange}>
|
<Form noValidate method="GET" ref={form} className='pe-2' onChange={handleFormChange}>
|
||||||
@@ -85,8 +85,8 @@ function DrinkFilter(arg : Arguments) {
|
|||||||
<Form.Group controlId="sort" className='bg-body-secondary rounded p-3'>
|
<Form.Group controlId="sort" className='bg-body-secondary rounded p-3'>
|
||||||
<Form.Label className='fw-bold'>Sort</Form.Label>
|
<Form.Label className='fw-bold'>Sort</Form.Label>
|
||||||
{ [
|
{ [
|
||||||
["name", "Name"],
|
|
||||||
["new", "New"],
|
["new", "New"],
|
||||||
|
["name", "Name"],
|
||||||
["popular", "Popularity"],
|
["popular", "Popularity"],
|
||||||
["abv-asc", "Alcohol (Low -> High)"],
|
["abv-asc", "Alcohol (Low -> High)"],
|
||||||
["abv-desc", "Alcohol (High -> Low)"],
|
["abv-desc", "Alcohol (High -> Low)"],
|
||||||
@@ -213,6 +213,7 @@ function DrinkFilter(arg : Arguments) {
|
|||||||
<Form.Check
|
<Form.Check
|
||||||
type="radio"
|
type="radio"
|
||||||
label="Both"
|
label="Both"
|
||||||
|
id="carbonated-both"
|
||||||
name="carbonated"
|
name="carbonated"
|
||||||
value={0}
|
value={0}
|
||||||
defaultChecked={(arg.searchParams.get("carbonated") == "0" || !arg.searchParams.has("carbonated")) ? true : false}
|
defaultChecked={(arg.searchParams.get("carbonated") == "0" || !arg.searchParams.has("carbonated")) ? true : false}
|
||||||
@@ -220,6 +221,7 @@ function DrinkFilter(arg : Arguments) {
|
|||||||
<Form.Check
|
<Form.Check
|
||||||
type="radio"
|
type="radio"
|
||||||
label="Sparkling"
|
label="Sparkling"
|
||||||
|
id="carbonated-sparkling"
|
||||||
name="carbonated"
|
name="carbonated"
|
||||||
value={1}
|
value={1}
|
||||||
defaultChecked={arg.searchParams.get("carbonated") == "1" ? true : false}
|
defaultChecked={arg.searchParams.get("carbonated") == "1" ? true : false}
|
||||||
@@ -227,6 +229,7 @@ function DrinkFilter(arg : Arguments) {
|
|||||||
<Form.Check
|
<Form.Check
|
||||||
type="radio"
|
type="radio"
|
||||||
label="Non-sparkling"
|
label="Non-sparkling"
|
||||||
|
id="carbonated-flat"
|
||||||
name="carbonated"
|
name="carbonated"
|
||||||
value={2}
|
value={2}
|
||||||
defaultChecked={arg.searchParams.get("carbonated") == "2" ? true : false}
|
defaultChecked={arg.searchParams.get("carbonated") == "2" ? true : false}
|
||||||
|
|||||||
@@ -97,7 +97,11 @@ function sortNewest(n1:DrinkComposite, n2:DrinkComposite) : number{
|
|||||||
|
|
||||||
export function sortDrinksFromSearch(searchParams: URLSearchParams, searchResult: DrinkComposite[]) : DrinkComposite[] {
|
export function sortDrinksFromSearch(searchParams: URLSearchParams, searchResult: DrinkComposite[]) : DrinkComposite[] {
|
||||||
|
|
||||||
var callback = sortName;
|
var callback = sortNewest;
|
||||||
|
|
||||||
|
if(searchParams.has("sort", "new")){
|
||||||
|
callback = sortNewest;
|
||||||
|
}
|
||||||
|
|
||||||
if(searchParams.has("sort", "name")){
|
if(searchParams.has("sort", "name")){
|
||||||
callback = sortName;
|
callback = sortName;
|
||||||
@@ -123,10 +127,6 @@ export function sortDrinksFromSearch(searchParams: URLSearchParams, searchResult
|
|||||||
callback = sortPopularity;
|
callback = sortPopularity;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(searchParams.has("sort", "new")){
|
|
||||||
callback = sortNewest;
|
|
||||||
}
|
|
||||||
|
|
||||||
var sortedArray: DrinkComposite[] = searchResult.sort(callback);
|
var sortedArray: DrinkComposite[] = searchResult.sort(callback);
|
||||||
|
|
||||||
return sortedArray;
|
return sortedArray;
|
||||||
|
|||||||
@@ -78,11 +78,7 @@ export default function BeersRoute() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (key === "sort" && value === "name") {
|
if (key === "sort" && value === "new") {
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((key === "min-abv" && value === "0") || (key === "max-abv" && value === "50") || (key === "min-ibu" && value === "0") || (key === "max-ibu" && value === "150")) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user