App.tsx (1320B)
1 import * as React from 'react'; 2 import './App.css'; 3 import { ThemeProvider, createTheme } from '@mui/material/styles'; 4 import { Box, CssBaseline, useMediaQuery } from '@mui/material'; 5 import "@fontsource/noto-sans-jp"; 6 import CSV2iclTabs from './Tab'; 7 8 function App() { 9 const prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)"); 10 11 const OStheme = React.useMemo( 12 () => 13 createTheme({ 14 palette: { 15 mode: prefersDarkMode ? "dark" : "light", 16 }, 17 typography: { 18 fontFamily: ['Noto Sans JP', 'sans-serif'].join(','), 19 }, 20 }), 21 [prefersDarkMode] 22 ); 23 24 return ( 25 <ThemeProvider theme={OStheme}> 26 <CssBaseline /> 27 <div className="App"> 28 <title>CSV2ics</title> 29 <header className="App-header"> 30 <h1>CSV2ics</h1> 31 <h2>このアプリケーションはSCVで記述された時間割表をics形式に直すことを目的に作成されました。 32 画面のタブを左から順番に勧めていくことでicsファイルが完成します。</h2> 33 <a href="https://github.com/minerva-jupiter/CSV2ics" className='fromREADME'>詳しくはこちら</a> 34 </header> 35 </div> 36 <Box> 37 <CSV2iclTabs/> 38 </Box> 39 </ThemeProvider> 40 ); 41 } 42 43 44 export default App;