Rename folder "modules" to "features"

This commit is contained in:
schroda
2025-08-15 22:02:58 +02:00
parent 7e6ced1d09
commit 1b4bf22542
415 changed files with 1859 additions and 1852 deletions

View File

@@ -0,0 +1,20 @@
/*
* Copyright (C) Contributors to the Suwayomi project
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import { useEffect } from 'react';
import { useNavBarContext } from '@/features/navigation-bar/contexts/NavbarContext.tsx';
import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts';
export const useAppAction = (action: NavbarContextType['action'], dependencies: any[] = []) => {
const { setAction } = useNavBarContext();
useEffect(() => {
setAction(action);
return () => setAction(null);
}, dependencies);
};

View File

@@ -0,0 +1,37 @@
/*
* Copyright (C) Contributors to the Suwayomi project
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import { useLayoutEffect } from 'react';
import { useNavBarContext } from '@/features/navigation-bar/contexts/NavbarContext.tsx';
import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts';
export function useAppTitle(
title: NavbarContextType['title'],
browserTitleOrDependencies: string,
dependencies?: any[],
): void;
export function useAppTitle(title: NavbarContextType['title'], browserTitleOrDependencies?: any[]): void;
export function useAppTitle(
title: NavbarContextType['title'],
browserTitleOrDependencies?: string | any[],
dependencies: any[] = [title, browserTitleOrDependencies],
): void {
const { setTitle } = useNavBarContext();
useLayoutEffect(() => {
if (typeof browserTitleOrDependencies === 'string') {
setTitle(title, browserTitleOrDependencies);
} else {
setTitle(title);
}
return () => {
setTitle('');
};
}, dependencies);
}

View File

@@ -0,0 +1,20 @@
/*
* Copyright (C) Contributors to the Suwayomi project
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import { NavbarContextType } from '@/features/navigation-bar/NavigationBar.types.ts';
import { useAppTitle } from '@/features/navigation-bar/hooks/useAppTitle.ts';
import { useAppAction } from '@/features/navigation-bar/hooks/useAppAction.ts';
export const useAppTitleAndAction = (
title: NavbarContextType['title'],
action: NavbarContextType['action'],
actionDependencies?: any[],
) => {
useAppTitle(title);
useAppAction(action, actionDependencies);
};