fix: remove core from component

This commit is contained in:
Aleix Soler 2025-11-18 19:10:31 +01:00
parent 9b36b0179a
commit 4f6adc88a1
4 changed files with 35 additions and 6 deletions

View file

@ -11,6 +11,8 @@ export interface Props {
filesQuantity: number;
availableStatuses: NoteStatus[];
templates: StatusTemplate[];
iconFrameMode?: "always" | "never";
iconColorMode?: "status" | "theme";
onRemoveStatus: (
frontmatterTagName: string,
status: NoteStatus,
@ -26,6 +28,8 @@ export const ChangeStatusModal: React.FC<Props> = ({
filesQuantity,
availableStatuses,
templates,
iconFrameMode = "never",
iconColorMode = "status",
onRemoveStatus,
onSelectStatus,
}) => {
@ -57,6 +61,8 @@ export const ChangeStatusModal: React.FC<Props> = ({
availableStatuses={availableStatuses}
currentStatuses={statusList}
templates={templates}
iconFrameMode={iconFrameMode}
iconColorMode={iconColorMode}
onSelectedState={handleSelectedState}
/>
))}

View file

@ -12,6 +12,8 @@ export interface Props {
currentStatuses: NoteStatus[];
availableStatuses: NoteStatus[];
templates: StatusTemplate[];
iconFrameMode: "always" | "never";
iconColorMode: "status" | "theme";
onSelectedState: (
frontmatterTagName: string,
status: NoteStatus,
@ -24,6 +26,8 @@ export const StatusSelectorGroup: React.FC<Props> = ({
availableStatuses,
templates,
frontmatterTagName,
iconFrameMode,
iconColorMode,
onSelectedState,
}) => {
const TEMPLATE_ALL_VIEW = "__all__";
@ -201,6 +205,8 @@ export const StatusSelectorGroup: React.FC<Props> = ({
availableStatuses={filteredStatuses}
currentStatuses={currentStatuses}
focusedIndex={focusedIndex}
iconFrameMode={iconFrameMode}
iconColorMode={iconColorMode}
onToggleStatus={(status, selected) =>
selected
? handleSelectStatus(status)

View file

@ -3,24 +3,28 @@ import { NoteStatus } from "@/types/noteStatus";
import { SelectableListItem } from "./SelectableListItem";
import { getStatusTooltip, isStatusSelected } from "@/utils/statusUtils";
import { StatusIconPreview } from "./StatusIconPreview";
import settingsService from "@/core/settingsService";
interface StatusOptionProps {
status: NoteStatus;
isSelected: boolean;
isFocused: boolean;
onSelect: () => void;
iconFrameMode: "always" | "never";
iconColorMode: "status" | "theme";
}
export const StatusModalOption: React.FC<StatusOptionProps> = memo(
({ status, isSelected, isFocused, onSelect }) => {
({
status,
isSelected,
isFocused,
onSelect,
iconFrameMode,
iconColorMode,
}) => {
const displayName = status.templateId
? `${status.name} (${status.templateId})`
: status.name;
const { fileExplorerIconFrame, fileExplorerIconColorMode } =
settingsService.settings;
const iconFrameMode = fileExplorerIconFrame || "never";
const iconColorMode = fileExplorerIconColorMode || "status";
return (
<SelectableListItem
@ -64,6 +68,8 @@ export interface Props {
availableStatuses: NoteStatus[];
focusedIndex?: number;
onToggleStatus: (status: NoteStatus, selected: boolean) => void;
iconFrameMode?: "always" | "never";
iconColorMode?: "status" | "theme";
}
export const StatusSelector: React.FC<Props> = ({
@ -71,6 +77,8 @@ export const StatusSelector: React.FC<Props> = ({
availableStatuses,
focusedIndex = -1,
onToggleStatus,
iconFrameMode = "never",
iconColorMode = "status",
}) => {
const handleSelectStatus = useCallback(
async (status: NoteStatus) => {
@ -98,6 +106,8 @@ export const StatusSelector: React.FC<Props> = ({
isSelected={isStatusSelected(status, currentStatuses)}
isFocused={index === focusedIndex}
onSelect={() => handleSelectStatus(status)}
iconFrameMode={iconFrameMode}
iconColorMode={iconColorMode}
/>
))}
</div>

View file

@ -118,6 +118,13 @@ export class StatusModalIntegration extends Modal {
}
filesQuantity={filesQuantity}
templates={settingsService.settings.templates}
iconFrameMode={
settingsService.settings.fileExplorerIconFrame || "never"
}
iconColorMode={
settingsService.settings.fileExplorerIconColorMode ||
"status"
}
onRemoveStatus={this.onRemoveStatus}
onSelectStatus={this.onSelectStatus}
/>,