[Update/bugfix] Plugins: Fix plugins position.

Switchable rendering MessageContainer and Plugins.
This commit is contained in:
Sakamoto Shiina
2025-03-26 21:46:43 +09:00
parent 1ebdefcd43
commit 0c6829616c
3 changed files with 15 additions and 12 deletions

View File

@@ -2,7 +2,7 @@ import { useTranslation } from "react-i18next";
import styles from "./MainSection.module.scss";
import { TopBar } from "./top_bar/TopBar";
// import { MessageContainer } from "./message_container/MessageContainer";
import { MessageContainer } from "./message_container/MessageContainer";
import { LanguageSelector } from "./language_selector/LanguageSelector";
import { useStore_IsOpenedLanguageSelector } from "@store";
@@ -12,14 +12,20 @@ import { SubtitleSystemContainer } from "./subtitle_system_container/SubtitleSys
import { PluginHost } from "./PluginHost";
import { usePlugins } from "@logics_configs";
export const MainSection = () => {
const { currentPluginsData } = usePlugins();
const render_plugins = currentPluginsData.data.filter((plugin) => plugin.is_enabled && plugin.location === "main_section");
return (
<div className={styles.container}>
<TopBar />
{/* <SubtitleSystemContainer /> */}
<PluginHost />
{/* <MessageContainer /> */}
{render_plugins.length
? <PluginHost render_components={render_plugins}/>
: <MessageContainer />
}
<HandleLanguageSelector />
</div>
);

View File

@@ -4,7 +4,7 @@
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
// justify-content: space-between;
}
.language_selector_container {

View File

@@ -1,17 +1,14 @@
import React from "react";
import { usePlugins } from "@logics_configs";
export const PluginHost = () => {
const { currentPluginsData } = usePlugins();
export const PluginHost = ({render_components}) => {
return (
<div>
{currentPluginsData.data
.filter((plugin) => plugin.is_enabled && plugin.location === "main_section")
<>
{render_components
.map((plugin, index) => {
const PluginComponent = plugin.component;
return PluginComponent ? <PluginComponent key={index} /> : null;
})}
</div>
</>
);
};