Skip to content

Commit

Permalink
🐛 the localization feature of Vaadin has problems with injected insta…
Browse files Browse the repository at this point in the history
…nces
  • Loading branch information
McPringle committed Mar 31, 2024
1 parent 72cf0cc commit d8609b3
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 42 deletions.
8 changes: 0 additions & 8 deletions src/main/java/swiss/fihlon/apus/ui/view/ConferenceView.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
*/
package swiss.fihlon.apus.ui.view;

import com.vaadin.flow.component.AttachEvent;
import com.vaadin.flow.component.Component;
import com.vaadin.flow.component.UI;
import com.vaadin.flow.component.dependency.CssImport;
Expand All @@ -39,7 +38,6 @@
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.atomic.AtomicInteger;

@org.springframework.stereotype.Component
@CssImport(value = "./themes/apus/views/conference-view.css")
public final class ConferenceView extends Div {

Expand All @@ -48,17 +46,11 @@ public final class ConferenceView extends Div {
private static final Duration UPDATE_FREQUENCY = Duration.ofMinutes(1);

private final transient ConferenceService conferenceService;
private final transient TaskScheduler taskScheduler;
private final Div sessionContainer = new Div();

public ConferenceView(@NotNull final ConferenceService conferenceService,
@NotNull final TaskScheduler taskScheduler) {
this.conferenceService = conferenceService;
this.taskScheduler = taskScheduler;
}

@Override
protected void onAttach(@NotNull final AttachEvent attachEvent) {
setId("conference-view");
add(new H2(String.format(getTranslation("conference.heading"),
LocalDate.now().getDayOfWeek().getDisplayName(TextStyle.FULL, UI.getCurrent().getLocale()))));
Expand Down
7 changes: 0 additions & 7 deletions src/main/java/swiss/fihlon/apus/ui/view/MessageView.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
*/
package swiss.fihlon.apus.ui.view;

import com.vaadin.flow.component.AttachEvent;
import com.vaadin.flow.component.Html;
import com.vaadin.flow.component.dependency.CssImport;
import com.vaadin.flow.component.html.Div;
Expand All @@ -31,14 +30,8 @@ public final class MessageView extends Div {

private static final int MAX_LENGTH = 500;
private static final String TRUNC_INDICATOR = " […]";
private final transient Message message;

public MessageView(@NotNull final Message message) {
this.message = message;
}

@Override
protected void onAttach(@NotNull final AttachEvent attachEvent) {
addClassName("message-view");
final String messageText = Jsoup.parse(message.html()).text();
add(new Html(String.format("<div>%s</div>",
Expand Down
4 changes: 0 additions & 4 deletions src/main/java/swiss/fihlon/apus/ui/view/SessionView.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
*/
package swiss.fihlon.apus.ui.view;

import com.vaadin.flow.component.AttachEvent;
import com.vaadin.flow.component.Component;
import com.vaadin.flow.component.Html;
import com.vaadin.flow.component.Text;
Expand Down Expand Up @@ -74,10 +73,7 @@ public SessionView(@NotNull final Room room,
this.startTime = startTime;
this.endTime = endTime;
this.language = language;
}

@Override
protected void onAttach(@NotNull final AttachEvent attachEvent) {
addClassName("session-view");
add(createTitleComponent());
add(createSpeakersComponent());
Expand Down
10 changes: 0 additions & 10 deletions src/main/java/swiss/fihlon/apus/ui/view/SocialView.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,41 +17,31 @@
*/
package swiss.fihlon.apus.ui.view;

import com.vaadin.flow.component.AttachEvent;
import com.vaadin.flow.component.dependency.CssImport;
import com.vaadin.flow.component.html.Div;
import com.vaadin.flow.component.html.H2;
import org.jetbrains.annotations.NotNull;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.stereotype.Component;
import swiss.fihlon.apus.configuration.Configuration;
import swiss.fihlon.apus.service.SocialService;
import swiss.fihlon.apus.social.Message;

import java.time.Duration;
import java.util.concurrent.ScheduledFuture;

@Component
@CssImport(value = "./themes/apus/views/social-view.css")
public final class SocialView extends Div {

private static final Duration UPDATE_FREQUENCY = Duration.ofMinutes(1);

private final transient SocialService socialService;
private final transient TaskScheduler taskScheduler;
private final transient Configuration configuration;
private final Div messageContainer = new Div();

public SocialView(@NotNull final SocialService socialService,
@NotNull final TaskScheduler taskScheduler,
@NotNull final Configuration configuration) {
this.socialService = socialService;
this.taskScheduler = taskScheduler;
this.configuration = configuration;
}

@Override
protected void onAttach(@NotNull final AttachEvent attachEvent) {
setId("social-view");
add(new H2(String.format(getTranslation("social.heading"), configuration.getMastodon().hashtag())));
add(messageContainer);
Expand Down
23 changes: 10 additions & 13 deletions src/main/java/swiss/fihlon/apus/ui/view/SocialWallView.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,28 +17,25 @@
*/
package swiss.fihlon.apus.ui.view;

import com.vaadin.flow.component.AttachEvent;
import com.vaadin.flow.component.dependency.CssImport;
import com.vaadin.flow.component.html.Div;
import com.vaadin.flow.router.Route;
import org.jetbrains.annotations.NotNull;
import org.springframework.scheduling.TaskScheduler;
import swiss.fihlon.apus.configuration.Configuration;
import swiss.fihlon.apus.service.ConferenceService;
import swiss.fihlon.apus.service.SocialService;

@Route("")
@CssImport(value = "./themes/apus/views/social-wall-view.css")
public final class SocialWallView extends Div {

private final ConferenceView conferenceView;
private final SocialView socialView;

public SocialWallView(@NotNull final ConferenceView conferenceView,
@NotNull final SocialView socialView) {
this.conferenceView = conferenceView;
this.socialView = socialView;
}

@Override
protected void onAttach(@NotNull final AttachEvent attachEvent) {
public SocialWallView(@NotNull final ConferenceService conferenceService,
@NotNull final SocialService socialService,
@NotNull final TaskScheduler taskScheduler,
@NotNull final Configuration configuration) {
setId("social-wall-view");
add(conferenceView, socialView);
add(new ConferenceView(conferenceService, taskScheduler));
add(new SocialView(socialService, taskScheduler, configuration));
}
}

0 comments on commit d8609b3

Please sign in to comment.