This commit is contained in:
parent
e00783b1d6
commit
bb84ae88de
@ -32,6 +32,7 @@ public class PanelController {
|
||||
private final DisasterService disasterService;
|
||||
private final ActionScriptsServiceImpl scriptsService;
|
||||
private final ActionRequestServiceImpl actionRequestService;
|
||||
private final GameThemeServiceImpl gameThemeService;
|
||||
|
||||
private List<Card> dissToCards() {
|
||||
List<Disaster> bios = disasterService.getAllDisasters();
|
||||
@ -153,6 +154,19 @@ public class PanelController {
|
||||
return cards;
|
||||
}
|
||||
|
||||
private List<Card> themesToCards() {
|
||||
List<GameTheme> themeList = gameThemeService.getAllGameThemes();
|
||||
List<Card> cards = new ArrayList<>();
|
||||
for( GameTheme theme : themeList ) {
|
||||
Card card = new Card();
|
||||
card.setId(theme.getId());
|
||||
card.setTitle(textDataValService.getTextDataValById(theme.getTextNameId()).getText());
|
||||
card.setBody(new ArrayList<>());
|
||||
cards.add(card);
|
||||
}
|
||||
return cards;
|
||||
}
|
||||
|
||||
private List<List<Card>> toPairs(List<Card> cards) {
|
||||
List<List<Card>> l = IntStream.range(0, cards.size())
|
||||
.filter(i -> i % 2 == 0 && i + 1 < cards.size())
|
||||
@ -196,6 +210,9 @@ public class PanelController {
|
||||
case "script_request":
|
||||
model.addAttribute("cards", is_mobile ? requestsToCards() : toPairs(requestsToCards()) );
|
||||
break;
|
||||
case "themes":
|
||||
model.addAttribute("cards", is_mobile ? themesToCards() : toPairs(themesToCards()));
|
||||
break;
|
||||
}
|
||||
return "panel";
|
||||
}
|
||||
|
24
src/main/java/com/alterdekim/javabot/entities/GameTheme.java
Normal file
24
src/main/java/com/alterdekim/javabot/entities/GameTheme.java
Normal file
@ -0,0 +1,24 @@
|
||||
package com.alterdekim.javabot.entities;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.*;
|
||||
|
||||
@ToString
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Entity
|
||||
@Table(name = "game_themes")
|
||||
public class GameTheme {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
@Column(nullable = false)
|
||||
private Long textNameId;
|
||||
|
||||
public GameTheme(Long textNameId) {
|
||||
this.textNameId = textNameId;
|
||||
}
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package com.alterdekim.javabot.repository;
|
||||
|
||||
import com.alterdekim.javabot.entities.GameTheme;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface GameThemeRepository extends JpaRepository<GameTheme, Long> {
|
||||
Optional<GameTheme> findById(Long id);
|
||||
|
||||
List<GameTheme> findAll();
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package com.alterdekim.javabot.service;
|
||||
|
||||
import com.alterdekim.javabot.entities.GameTheme;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface GameThemeService {
|
||||
List<GameTheme> getAllGameThemes();
|
||||
GameTheme getThemeById(long themeId);
|
||||
|
||||
void removeById(long themeId);
|
||||
|
||||
void saveGameTheme(GameTheme gameTheme);
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package com.alterdekim.javabot.service;
|
||||
|
||||
import com.alterdekim.javabot.entities.GameTheme;
|
||||
import com.alterdekim.javabot.repository.GameThemeRepository;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class GameThemeServiceImpl implements GameThemeService {
|
||||
private final GameThemeRepository repository;
|
||||
|
||||
|
||||
@Override
|
||||
public List<GameTheme> getAllGameThemes() {
|
||||
return repository.findAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameTheme getThemeById(long themeId) {
|
||||
return repository.findById(themeId).orElse(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeById(long themeId) {
|
||||
repository.deleteById(themeId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveGameTheme(GameTheme gameTheme) {
|
||||
repository.save(gameTheme);
|
||||
}
|
||||
}
|
@ -69,4 +69,5 @@ scrieditde=Below you can write a script for Bunker's action card. On the left si
|
||||
edditaddbtn=Edit/Add
|
||||
edditreq=Send request
|
||||
scrireqq=Script requests
|
||||
acceptbtnreq=Accept
|
||||
acceptbtnreq=Accept
|
||||
themes=Themes
|
@ -69,4 +69,5 @@ scrieditde=Ниже в вашем распоряжении редактор ск
|
||||
edditaddbtn=Изменить/Добавить
|
||||
edditreq=Отправить запрос
|
||||
scrireqq=Запросы на скрипты
|
||||
acceptbtnreq=Принять
|
||||
acceptbtnreq=Принять
|
||||
themes=Темы
|
@ -47,6 +47,9 @@
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/panel?section=script_request" th:text="#{scrireqq}"></a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/panel?section=themes" th:text="#{themes}"></a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="navbar-nav justify-content-end flex-grow-1 pe-3">
|
||||
<li class="nav-item dropdown">
|
||||
|
Loading…
x
Reference in New Issue
Block a user