* feat: hide dotfiles in file explorer * refactor: rename to "hidden files" and read flag from store Rename the explorer dotfile toggle to show-semantics "hidden files" so copy and code share one cross-platform vocabulary, and stop prop-drilling the flag now that it lives in the panel store. - explorerShowHiddenFiles (default true) replaces explorerHideDotFiles; i18n keys + translations switched from "dotfiles" to "hidden files" - imperative helpers read usePanelStore.getState() instead of taking the flag as a parameter; flag stays threaded only through the reactive tree-row render path - drop dead usePanelState exposure; collapse migration double-guard * fix: address Greptile review on hidden-file path matching - isHiddenExplorerPath no longer treats ".." segments as hidden (only "." was exempt before); add tests for ".." and "../sibling" - assert the showHiddenFiles i18n key alongside hideHiddenFiles --------- Co-authored-by: Mohamed Boudra <boudra.moha@gmail.com>
18 lines
484 B
TypeScript
18 lines
484 B
TypeScript
import type { ExplorerEntry } from "@/stores/session-store";
|
|
|
|
export function isHiddenExplorerPath(path: string): boolean {
|
|
return path
|
|
.split("/")
|
|
.some((segment) => segment !== "." && segment !== ".." && segment.startsWith("."));
|
|
}
|
|
|
|
export function filterVisibleExplorerEntries(
|
|
entries: ExplorerEntry[],
|
|
showHiddenFiles: boolean,
|
|
): ExplorerEntry[] {
|
|
if (showHiddenFiles) {
|
|
return entries;
|
|
}
|
|
return entries.filter((entry) => !entry.name.startsWith("."));
|
|
}
|