type InitCode = {
redux?: boolean | string;
queryClient?: boolean;
};
export const getInitCode = ({ redux, queryClient }: InitCode = { redux: false }) => {
let importString = '';
let renderDefault = '';
let renderString = '';
if (queryClient) {
importString = `import { QueryClientProvider, queryClient } from '@kkt/request';\n`;
renderDefault = ``;
}
if (redux) {
if (typeof redux === 'boolean') {
importString += `import { Provider } from 'react-redux';\nimport { store } from "./rematch"\n`;
renderString = ``;
} else {
importString += `import Provider from '${redux}'`;
renderString = ``;
}
}
renderDefault += renderString;
if (queryClient) {
renderDefault += ``;
}
return `import React from 'react';
import ReactClient from 'react-dom/client';
${importString}
import './index.css';
import Route from './routes';
ReactClient.createRoot(document.getElementById('root')).render(${renderDefault});
`;
};
export const getInitCSSCode = () => `
* {
margin: 0;
padding: 0;
}
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
body, html, #root {
height: 100%;
}
`;