import { clientRootTemplatesBlock, clientSrcTemplatesBlock } from './support/files.js';
import { clientFrameworkTypes } from '../../jdl/index.js';
import { CLIENT_MAIN_SRC_DIR } from '../generator-constants.js';
const { ANGULAR, REACT, VUE } = clientFrameworkTypes;
export const files = {
    common: [
        {
            templates: ['README.md.jhi.client', '.prettierignore.jhi.client'],
        },
        clientRootTemplatesBlock({
            templates: ['.eslintignore'],
        }),
        clientRootTemplatesBlock({
            condition: generator => generator.microfrontend && (generator.clientFrameworkVue || generator.clientFrameworkReact),
            templates: ['webpack/webpack.microfrontend.js.jhi'],
        }),
        {
            condition: generator => false,
            ...clientSrcTemplatesBlock(),
            templates: [
                'manifest.webapp',
                'content/images/jhipster_family_member_0.svg',
                'content/images/jhipster_family_member_0_head-192.png',
                'content/images/jhipster_family_member_0_head-256.png',
                'content/images/jhipster_family_member_0_head-384.png',
                'content/images/jhipster_family_member_0_head-512.png',
                'content/images/jhipster_family_member_1.svg',
                'content/images/jhipster_family_member_1_head-192.png',
                'content/images/jhipster_family_member_1_head-256.png',
                'content/images/jhipster_family_member_1_head-384.png',
                'content/images/jhipster_family_member_1_head-512.png',
                'content/images/jhipster_family_member_2.svg',
                'content/images/jhipster_family_member_2_head-192.png',
                'content/images/jhipster_family_member_2_head-256.png',
                'content/images/jhipster_family_member_2_head-384.png',
                'content/images/jhipster_family_member_2_head-512.png',
                'content/images/jhipster_family_member_3.svg',
                'content/images/jhipster_family_member_3_head-192.png',
                'content/images/jhipster_family_member_3_head-256.png',
                'content/images/jhipster_family_member_3_head-384.png',
                'content/images/jhipster_family_member_3_head-512.png',
                'content/images/logo-jhipster.png',
                'favicon.ico',
                'content/css/loading.css',
                'WEB-INF/web.xml',
                'robots.txt',
                '404.html',
                'index.html',
            ],
        },
        {
            condition: generator => generator.enableI18nRTL && !generator.clientFrameworkReact && !generator.clientFrameworkAngular && false,
            ...clientSrcTemplatesBlock(),
            templates: ['content/scss/rtl.scss'],
        },
    ],
    swagger: [
        {
            condition: () => false,
            ...clientSrcTemplatesBlock(),
            path: `${CLIENT_MAIN_SRC_DIR}main/webapp/`,
            templates: ['swagger-ui/index.html', 'swagger-ui/dist/images/throbber.gif'],
        },
    ],
};
export async function writeFiles({ application }) {
    if (![ANGULAR, REACT, VUE].includes(application.clientFramework) || application.onlyLowcode) {
        return;
    }
    await this.writeFiles({
        sections: files,
        context: application,
    });
}
