Добавлен атрибут картинки для ингредиентов и удален атрибут английского названия
This commit is contained in:
@@ -111,10 +111,6 @@ export function EditIngredientPage() {
|
|||||||
variant="outlined" label={"Название"}
|
variant="outlined" label={"Название"}
|
||||||
value={ingredient.name}
|
value={ingredient.name}
|
||||||
onChange={(e) => changeIngredientValue("name", e.target.value)}/>
|
onChange={(e) => changeIngredientValue("name", e.target.value)}/>
|
||||||
<TextField sx={{mr: 1, mb: 2, minWidth: 330}}
|
|
||||||
label="Английское название" variant="outlined"
|
|
||||||
value={ingredient.enName}
|
|
||||||
onChange={(e) => changeIngredientValue("enName", e.target.value)}/>
|
|
||||||
</Box>
|
</Box>
|
||||||
|
|
||||||
<Box height={70} mt={1} ml={1}>
|
<Box height={70} mt={1} ml={1}>
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ export function UserPopover({anchorEl, onClose, open}) {
|
|||||||
} catch (err) {
|
} catch (err) {
|
||||||
logger.error('Sign out error', err);
|
logger.error('Sign out error', err);
|
||||||
}
|
}
|
||||||
|
// eslint-disable-next-line
|
||||||
}, [checkSession, location]);
|
}, [checkSession, location]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -85,7 +86,7 @@ export function UserPopover({anchorEl, onClose, open}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function userDescriptor(user) {
|
function userDescriptor(user) {
|
||||||
if(!user) {
|
if (!user) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (!user.name) {
|
if (!user.name) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import Stack from "@mui/material/Stack";
|
import Stack from "@mui/material/Stack";
|
||||||
import {isNavItemActive} from "../../lib/isNavItemActive";
|
import {isNavItemActive} from "./isNavItemActive";
|
||||||
import {navIcons} from "../core/navIcons";
|
import {navIcons} from "../core/navIcons";
|
||||||
import Box from "@mui/material/Box";
|
import Box from "@mui/material/Box";
|
||||||
import Typography from "@mui/material/Typography";
|
import Typography from "@mui/material/Typography";
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import {useCallback, useEffect} from 'react';
|
import {useCallback, useEffect} from 'react';
|
||||||
import {logger} from "../lib/DefaultLogger";
|
import {logger} from "../lib/DefaultLogger";
|
||||||
import {tokenUtil} from "../lib/TokenUtil";
|
import {tokenUtil} from "../lib/clients/TokenUtil";
|
||||||
|
|
||||||
export const AuthContext = React.createContext(undefined);
|
export const AuthContext = React.createContext(undefined);
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import * as React from "react";
|
|||||||
import {createContext, useCallback, useEffect, useState} from "react";
|
import {createContext, useCallback, useEffect, useState} from "react";
|
||||||
import {logger} from "../lib/DefaultLogger";
|
import {logger} from "../lib/DefaultLogger";
|
||||||
import {userClient} from "../lib/clients/UserClient";
|
import {userClient} from "../lib/clients/UserClient";
|
||||||
import {tokenUtil} from "../lib/TokenUtil";
|
import {tokenUtil} from "../lib/clients/TokenUtil";
|
||||||
|
|
||||||
export const UserContext = createContext(undefined);
|
export const UserContext = createContext(undefined);
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import {decodeToken, isExpired} from "react-jwt";
|
import {decodeToken, isExpired} from "react-jwt";
|
||||||
import {requests} from "../requests";
|
import {requests} from "../../requests";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
|
|
||||||
class TokenUtil {
|
class TokenUtil {
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import {tokenUtil} from "../TokenUtil";
|
import {tokenUtil} from "./TokenUtil";
|
||||||
|
|
||||||
const host = "localhost:8081"; //дебаг вместе с беком
|
const host = "localhost:8080"; //дебаг вместе с беком
|
||||||
// const host = "192.168.1.100:8091"; //дебаг фронта
|
// const host = "192.168.1.100:8091"; //дебаг фронта
|
||||||
// const host = "bar.kayashov.keenetic.pro"; //прод
|
// const host = "bar.kayashov.keenetic.pro"; //прод
|
||||||
export const api = () => {
|
export const api = () => {
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
export const sliceData = (rows, page, elementOnPage) => {
|
|
||||||
if (!rows || rows.length === 0) {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
|
|
||||||
const maxPage = Math.ceil(rows.length / elementOnPage);
|
|
||||||
// const start = (page - 1) * elementOnPage;
|
|
||||||
const start = 0;
|
|
||||||
console.log(maxPage, start)
|
|
||||||
let end;
|
|
||||||
if (page === maxPage) {
|
|
||||||
end = rows.length;
|
|
||||||
} else {
|
|
||||||
end = start + elementOnPage;
|
|
||||||
}
|
|
||||||
|
|
||||||
return rows.slice(start, end);
|
|
||||||
}
|
|
||||||
@@ -48,10 +48,5 @@ export const requests = {
|
|||||||
type: routes.ingredient + "/type",
|
type: routes.ingredient + "/type",
|
||||||
crud: routes.ingredient,
|
crud: routes.ingredient,
|
||||||
},
|
},
|
||||||
// receipt: {
|
|
||||||
// receipts: routes.bar + "receipt?id=",
|
|
||||||
//
|
|
||||||
// },
|
|
||||||
|
|
||||||
unit: routes.unit + "/units"
|
unit: routes.unit + "/units"
|
||||||
}
|
}
|
||||||
@@ -32,7 +32,7 @@ public class IngredientResponseDto {
|
|||||||
.type(i.getType() != null ? i.getType().getName() : null)
|
.type(i.getType() != null ? i.getType().getName() : null)
|
||||||
.abv(i.getAbv())
|
.abv(i.getAbv())
|
||||||
.isHave(i.getIsHave())
|
.isHave(i.getIsHave())
|
||||||
.image("https://thecocktaildb.com/images/ingredients/" + i.getEnName() + "-Medium.png")
|
.image(i.getImage())
|
||||||
.description(i.getDescription())
|
.description(i.getDescription())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ public class IngredientSimpleResponseDto {
|
|||||||
|
|
||||||
public static IngredientSimpleResponseDto mapToDto(IngredientEntity ingredient) {
|
public static IngredientSimpleResponseDto mapToDto(IngredientEntity ingredient) {
|
||||||
return new IngredientSimpleResponseDto(ingredient.getId(), ingredient.getName(),
|
return new IngredientSimpleResponseDto(ingredient.getId(), ingredient.getName(),
|
||||||
"https://thecocktaildb.com/images/ingredients/" + ingredient.getEnName() + "-Medium.png",
|
ingredient.getImage(),
|
||||||
ingredient.getIsHave());
|
ingredient.getIsHave());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ public class CocktailMapper {
|
|||||||
private IngredientSimpleResponseDto createIngredientResponseDto(IngredientEntity i) {
|
private IngredientSimpleResponseDto createIngredientResponseDto(IngredientEntity i) {
|
||||||
return new IngredientSimpleResponseDto(i.getId(),
|
return new IngredientSimpleResponseDto(i.getId(),
|
||||||
i.getName(),
|
i.getName(),
|
||||||
"https://thecocktaildb.com/images/ingredients/" + i.getEnName() + "-Medium.png",
|
i.getImage(),
|
||||||
i.getIsHave());
|
i.getIsHave());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ public class IngredientMapper {
|
|||||||
.type(i.getType() != null ? i.getType().getName() : null)
|
.type(i.getType() != null ? i.getType().getName() : null)
|
||||||
.abv(i.getAbv())
|
.abv(i.getAbv())
|
||||||
.isHave(i.getIsHave())
|
.isHave(i.getIsHave())
|
||||||
.image("https://thecocktaildb.com/images/ingredients/" + i.getEnName() + "-Medium.png")
|
.image(i.getImage())
|
||||||
.description(i.getDescription())
|
.description(i.getDescription())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
@@ -40,7 +40,7 @@ public class IngredientMapper {
|
|||||||
|
|
||||||
private IngredientSimpleResponseDto mapIngredientToSimpleDto(IngredientEntity i) {
|
private IngredientSimpleResponseDto mapIngredientToSimpleDto(IngredientEntity i) {
|
||||||
return new IngredientSimpleResponseDto(i.getId(), i.getName(),
|
return new IngredientSimpleResponseDto(i.getId(), i.getName(),
|
||||||
"https://thecocktaildb.com/images/ingredients/" + i.getEnName() + "-Medium.png",
|
i.getImage(),
|
||||||
i.getIsHave());
|
i.getIsHave());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,10 +33,10 @@ public class IngredientEntity {
|
|||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
private String name;
|
private String name;
|
||||||
private String enName;
|
|
||||||
private Boolean alcohol;
|
private Boolean alcohol;
|
||||||
private Integer abv;
|
private Integer abv;
|
||||||
private Boolean isHave;
|
private Boolean isHave;
|
||||||
|
private String image;
|
||||||
|
|
||||||
@Column(columnDefinition = "text")
|
@Column(columnDefinition = "text")
|
||||||
private String description;
|
private String description;
|
||||||
|
|||||||
@@ -6,6 +6,4 @@ import ru.kayashov.bar.model.entity.IngredientEntity;
|
|||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface IngredientRepository extends JpaRepository<IngredientEntity, Long> {
|
public interface IngredientRepository extends JpaRepository<IngredientEntity, Long> {
|
||||||
|
|
||||||
Optional<IngredientEntity> findByEnNameIgnoreCase(String name);
|
|
||||||
}
|
}
|
||||||
@@ -93,6 +93,7 @@ public class IngredientService {
|
|||||||
IngredientEntity entity;
|
IngredientEntity entity;
|
||||||
if (dto.getId() == null) {
|
if (dto.getId() == null) {
|
||||||
entity = new IngredientEntity();
|
entity = new IngredientEntity();
|
||||||
|
entity.setIsHave(false);
|
||||||
} else {
|
} else {
|
||||||
entity = repository.findById(dto.getId())
|
entity = repository.findById(dto.getId())
|
||||||
.orElse(null);
|
.orElse(null);
|
||||||
|
|||||||
Reference in New Issue
Block a user