renamed folder database to xoonips.

This commit is contained in:
Yoshihiro OKUMURA 2023-08-08 18:24:15 +09:00
parent ac514dcbdd
commit 54c6c70041
Signed by: orrisroot
GPG Key ID: 470AA444C92904B2
151 changed files with 490 additions and 383 deletions

45
.gitignore vendored
View File

@ -1,27 +1,30 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # Logs
logs
# dependencies *.log
/node_modules
/.pnp
.pnp.js
# testing
/coverage
# production
/build
# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
.eslintcache
npm-debug.log* npm-debug.log*
yarn-debug.log* yarn-debug.log*
yarn-error.log* yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
!.vscode/launch.json
!.vscode/settings.json
!.vscode/tasks.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
# customize # customize
/public/data /public/data

2
.vscode/launch.json vendored
View File

@ -5,7 +5,7 @@
"name": "Vite Debugger", "name": "Vite Debugger",
"type": "chrome", "type": "chrome",
"request": "launch", "request": "launch",
"url": "http://localhost:3000/", "url": "http://localhost:5173/",
"webRoot": "${workspaceFolder}" "webRoot": "${workspaceFolder}"
} }
] ]

601
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -30,28 +30,28 @@
"react-spinner-material": "^1.4.0", "react-spinner-material": "^1.4.0",
"sanitize.css": "^13.0.0", "sanitize.css": "^13.0.0",
"xregexp": "^5.1.1", "xregexp": "^5.1.1",
"yet-another-react-lightbox": "^3.11.4" "yet-another-react-lightbox": "^3.12.0"
}, },
"devDependencies": { "devDependencies": {
"@types/async-lock": "^1.4.0", "@types/async-lock": "^1.4.0",
"@types/jest": "^29.5.3", "@types/jest": "^29.5.3",
"@types/lokijs": "^1.5.8", "@types/lokijs": "^1.5.8",
"@types/node": "^18.17.1", "@types/node": "^18.17.3",
"@types/react": "^18.2.17", "@types/react": "^18.2.18",
"@types/react-dom": "^18.2.7", "@types/react-dom": "^18.2.7",
"@types/react-router-dom": "^5.3.3", "@types/react-router-dom": "^5.3.3",
"@types/react-router-hash-link": "^2.4.6", "@types/react-router-hash-link": "^2.4.6",
"@types/react-syntax-highlighter": "^15.5.7", "@types/react-syntax-highlighter": "^15.5.7",
"@typescript-eslint/eslint-plugin": "^6.2.0", "@typescript-eslint/eslint-plugin": "^6.3.0",
"@typescript-eslint/parser": "^6.2.0", "@typescript-eslint/parser": "^6.3.0",
"@vitejs/plugin-react-swc": "^3.3.2", "@vitejs/plugin-react-swc": "^3.3.2",
"eslint": "^8.45.0", "eslint": "^8.46.0",
"eslint-plugin-react": "^7.33.0", "eslint-plugin-react": "^7.33.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.3", "eslint-plugin-react-refresh": "^0.4.3",
"prettier": "^3.0.0", "prettier": "^3.0.1",
"typescript": "^5.1.6", "typescript": "^5.1.6",
"vite": "^4.4.7", "vite": "^4.4.9",
"vite-plugin-node-stdlib-browser": "^0.2.1", "vite-plugin-node-stdlib-browser": "^0.2.1",
"vite-plugin-rewrite-all": "^1.0.1" "vite-plugin-rewrite-all": "^1.0.1"
} }

View File

@ -4,8 +4,8 @@ import { Route, Routes } from 'react-router-dom';
import { BrainAtlasType, MultiLang } from '../config'; import { BrainAtlasType, MultiLang } from '../config';
import CoverPage from '../custom/CoverPage'; import CoverPage from '../custom/CoverPage';
import RelatedLink from '../custom/RelatedLink'; import RelatedLink from '../custom/RelatedLink';
import Database from '../database/Database'; import Xoonips from '../xoonips/Xoonips';
import DatabaseTop from '../database/DatabaseTop'; import XoonipsTop from '../xoonips/XoonipsTop';
import XoopsPathRedirect from './XoopsPathRedirect'; import XoopsPathRedirect from './XoopsPathRedirect';
interface Props { interface Props {
@ -27,8 +27,8 @@ const MainContent: React.FC<Props> = (props) => {
) )
) : ( ) : (
<Routes> <Routes>
<Route index element={<DatabaseTop lang={lang} type={type} />} /> <Route index element={<XoonipsTop lang={lang} type={type} />} />
<Route path="modules/xoonips/*" element={<Database lang={lang} type={type} />} /> <Route path="modules/xoonips/*" element={<Xoonips lang={lang} type={type} />} />
<Route path="*" element={<XoopsPathRedirect lang={lang} />} /> <Route path="*" element={<XoopsPathRedirect lang={lang} />} />
</Routes> </Routes>
)} )}

View File

@ -3,6 +3,7 @@ import React from 'react';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import PageNotFound from '../common/lib/PageNotFound'; import PageNotFound from '../common/lib/PageNotFound';
import { BrainAtlasType, MultiLang } from '../config'; import { BrainAtlasType, MultiLang } from '../config';
import styles from './CoverPage.module.css'; import styles from './CoverPage.module.css';
interface Props { interface Props {

View File

@ -1,6 +1,7 @@
import React from 'react'; import React from 'react';
import { BrainAtlasType, MultiLang } from '../config'; import { BrainAtlasType, MultiLang } from '../config';
import styles from './RelatedLink.module.css'; import styles from './RelatedLink.module.css';
interface Props { interface Props {

View File

@ -3,6 +3,7 @@ import React from 'react';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import NoticeSiteHasBeenArchived from '../common/lib/NoticeSiteHasBeenArchived'; import NoticeSiteHasBeenArchived from '../common/lib/NoticeSiteHasBeenArchived';
import { MultiLang } from '../config'; import { MultiLang } from '../config';
import styles from './SiteIndex.module.css'; import styles from './SiteIndex.module.css';
interface Props { interface Props {

View File

@ -5,16 +5,17 @@ import { Route, Routes, useLocation } from 'react-router-dom';
import PageNotFound from '../common/lib/PageNotFound'; import PageNotFound from '../common/lib/PageNotFound';
import { BrainAtlasType, MultiLang } from '../config'; import { BrainAtlasType, MultiLang } from '../config';
import Functions from '../functions'; import Functions from '../functions';
import styles from './Database.module.css'; import XoonipsAdvancedSearch from './XoonipsAdvancedSearch';
import DatabaseAdvancedSearch from './DatabaseAdvancedSearch'; import XoonipsDetailItem from './XoonipsDetailItem';
import DatabaseDetailItem from './DatabaseDetailItem'; import XoonipsSearchByAdvancedKeyword from './XoonipsSearchByAdvancedKeyword';
import DatabaseSearchByAdvancedKeyword from './DatabaseSearchByAdvancedKeyword'; import XoonipsSearchByIndexId from './XoonipsSearchByIndexId';
import DatabaseSearchByIndexId from './DatabaseSearchByIndexId'; import XoonipsSearchByItemType from './XoonipsSearchByItemType';
import DatabaseSearchByItemType from './DatabaseSearchByItemType'; import XoonipsSearchByKeyword from './XoonipsSearchByKeyword';
import DatabaseSearchByKeyword from './DatabaseSearchByKeyword'; import XoonipsTop from './XoonipsTop';
import DatabaseTop from './DatabaseTop';
import { INDEX_ID_PUBLIC } from './lib/IndexUtil'; import { INDEX_ID_PUBLIC } from './lib/IndexUtil';
import styles from './Xoonips.module.css';
interface Props { interface Props {
lang: MultiLang; lang: MultiLang;
type: BrainAtlasType; type: BrainAtlasType;
@ -27,7 +28,7 @@ const ItemDetail: React.FC<Props> = (props) => {
const itemId_ = params.get('item_id') ?? ''; const itemId_ = params.get('item_id') ?? '';
const itemId = /^\d+$/.test(itemId_) ? parseInt(itemId_, 10) : 0; const itemId = /^\d+$/.test(itemId_) ? parseInt(itemId_, 10) : 0;
const doi = params.get('id') ?? ''; const doi = params.get('id') ?? '';
return <DatabaseDetailItem lang={lang} id={itemId} doi={doi} type={type} />; return <XoonipsDetailItem lang={lang} id={itemId} doi={doi} type={type} />;
}; };
const ItemList: React.FC<Props> = (props) => { const ItemList: React.FC<Props> = (props) => {
@ -36,7 +37,7 @@ const ItemList: React.FC<Props> = (props) => {
const params = new URLSearchParams(location.search); const params = new URLSearchParams(location.search);
const id = params.get('index_id') ?? ''; const id = params.get('index_id') ?? '';
const indexId = /^\d+$/.test(id) ? parseInt(id, 10) : INDEX_ID_PUBLIC; const indexId = /^\d+$/.test(id) ? parseInt(id, 10) : INDEX_ID_PUBLIC;
return <DatabaseSearchByIndexId lang={lang} type={type} indexId={indexId} />; return <XoonipsSearchByIndexId lang={lang} type={type} indexId={indexId} />;
}; };
const ItemSelect: React.FC<Props> = (props) => { const ItemSelect: React.FC<Props> = (props) => {
@ -49,9 +50,7 @@ const ItemSelect: React.FC<Props> = (props) => {
const searchItemtype = params.get('search_itemtype') ?? ''; const searchItemtype = params.get('search_itemtype') ?? '';
const match = searchItemtype.match(/^xnp([a-z]+)$/); const match = searchItemtype.match(/^xnp([a-z]+)$/);
const itemType = match !== null ? match[1] : ''; const itemType = match !== null ? match[1] : '';
return ( return <XoonipsSearchByItemType lang={lang} itemType={itemType} subItemType="" type={type} />;
<DatabaseSearchByItemType lang={lang} itemType={itemType} subItemType="" type={type} />
);
} }
case 'itemsubtypesearch': { case 'itemsubtypesearch': {
const searchItemtype = params.get('search_itemtype') ?? ''; const searchItemtype = params.get('search_itemtype') ?? '';
@ -59,7 +58,7 @@ const ItemSelect: React.FC<Props> = (props) => {
const itemType = match !== null ? match[1] : ''; const itemType = match !== null ? match[1] : '';
const subItemtype = params.get('search_subitemtype') ?? ''; const subItemtype = params.get('search_subitemtype') ?? '';
return ( return (
<DatabaseSearchByItemType <XoonipsSearchByItemType
lang={lang} lang={lang}
itemType={itemType} itemType={itemType}
subItemType={subItemtype} subItemType={subItemtype}
@ -68,16 +67,16 @@ const ItemSelect: React.FC<Props> = (props) => {
); );
} }
case 'quicksearch': { case 'quicksearch': {
return <DatabaseSearchByKeyword lang={lang} type={type} />; return <XoonipsSearchByKeyword lang={lang} type={type} />;
} }
case 'advanced': { case 'advanced': {
return <DatabaseSearchByAdvancedKeyword lang={lang} type={type} />; return <XoonipsSearchByAdvancedKeyword lang={lang} type={type} />;
} }
} }
return <PageNotFound lang={lang} />; return <PageNotFound lang={lang} />;
}; };
const Database: React.FC<Props> = (props) => { const Xoonips: React.FC<Props> = (props) => {
const { lang, type } = props; const { lang, type } = props;
return ( return (
<div className={styles.database}> <div className={styles.database}>
@ -88,14 +87,14 @@ const Database: React.FC<Props> = (props) => {
</title> </title>
</Helmet> </Helmet>
<Routes> <Routes>
<Route index element={<DatabaseTop lang={lang} type={type} />} /> <Route index element={<XoonipsTop lang={lang} type={type} />} />
<Route path="index" element={<DatabaseTop lang={lang} type={type} />} /> <Route path="index.php" element={<XoonipsTop lang={lang} type={type} />} />
<Route path="detail.php" element={<ItemDetail lang={lang} type={type} />} /> <Route path="detail.php" element={<ItemDetail lang={lang} type={type} />} />
<Route path="listitem.php" element={<ItemList lang={lang} type={type} />} /> <Route path="listitem.php" element={<ItemList lang={lang} type={type} />} />
<Route path="itemselect.php" element={<ItemSelect lang={lang} type={type} />} /> <Route path="itemselect.php" element={<ItemSelect lang={lang} type={type} />} />
<Route <Route
path="advanced_search.php" path="advanced_search.php"
element={<DatabaseAdvancedSearch lang={lang} type={type} />} element={<XoonipsAdvancedSearch lang={lang} type={type} />}
/> />
<Route path="*" element={<PageNotFound lang={lang} />} /> <Route path="*" element={<PageNotFound lang={lang} />} />
</Routes> </Routes>
@ -103,4 +102,4 @@ const Database: React.FC<Props> = (props) => {
); );
}; };
export default Database; export default Xoonips;

View File

@ -12,7 +12,7 @@ interface Props {
type: BrainAtlasType; type: BrainAtlasType;
} }
const DatabaseAdvancedSearch: React.FC<Props> = (props) => { const XoonipsAdvancedSearch: React.FC<Props> = (props) => {
const { lang, type } = props; const { lang, type } = props;
const query = new AdvancedSearchQuery(); const query = new AdvancedSearchQuery();
const navigate = useNavigate(); const navigate = useNavigate();
@ -44,4 +44,4 @@ const DatabaseAdvancedSearch: React.FC<Props> = (props) => {
); );
}; };
export default DatabaseAdvancedSearch; export default XoonipsAdvancedSearch;

View File

@ -15,7 +15,7 @@ interface Props {
doi: string; doi: string;
} }
const DatabaseDetailItem: React.FC<Props> = (props) => { const XoonipsDetailItem: React.FC<Props> = (props) => {
const { lang, type, id, doi } = props; const { lang, type, id, doi } = props;
const [loading, setLoading] = React.useState<boolean>(true); const [loading, setLoading] = React.useState<boolean>(true);
@ -60,4 +60,4 @@ const DatabaseDetailItem: React.FC<Props> = (props) => {
); );
}; };
export default DatabaseDetailItem; export default XoonipsDetailItem;

View File

@ -2,15 +2,15 @@ import React from 'react';
import { useLocation } from 'react-router-dom'; import { useLocation } from 'react-router-dom';
import { BrainAtlasType, MultiLang } from '../config'; import { BrainAtlasType, MultiLang } from '../config';
import DatabaseListItem from './lib/DatabaseListItem';
import ItemUtil, { SearchCallbackFunc, SortCondition } from './lib/ItemUtil'; import ItemUtil, { SearchCallbackFunc, SortCondition } from './lib/ItemUtil';
import XoonipsListItem from './lib/XoonipsListItem';
interface Props { interface Props {
lang: MultiLang; lang: MultiLang;
type: BrainAtlasType; type: BrainAtlasType;
} }
const DatabaseSearchByAdvancedKeyword: React.FC<Props> = (props) => { const XoonipsSearchByAdvancedKeyword: React.FC<Props> = (props) => {
const { lang, type } = props; const { lang, type } = props;
const location = useLocation(); const location = useLocation();
const query = ItemUtil.getAdvancedSearchQueryByQuery(location.search); const query = ItemUtil.getAdvancedSearchQueryByQuery(location.search);
@ -24,9 +24,9 @@ const DatabaseSearchByAdvancedKeyword: React.FC<Props> = (props) => {
return ( return (
<div className="list"> <div className="list">
<h3>Listing item</h3> <h3>Listing item</h3>
<DatabaseListItem lang={lang} url={baseUrl} search={searchFunc} type={type} /> <XoonipsListItem lang={lang} url={baseUrl} search={searchFunc} type={type} />
</div> </div>
); );
}; };
export default DatabaseSearchByAdvancedKeyword; export default XoonipsSearchByAdvancedKeyword;

View File

@ -6,10 +6,10 @@ import Loading from '../common/lib/Loading';
import PageNotFound from '../common/lib/PageNotFound'; import PageNotFound from '../common/lib/PageNotFound';
import { BrainAtlasType, MultiLang } from '../config'; import { BrainAtlasType, MultiLang } from '../config';
import Functions from '../functions'; import Functions from '../functions';
import DatabaseListIndex from './lib/DatabaseListIndex';
import DatabaseListItem from './lib/DatabaseListItem';
import IndexUtil, { Index } from './lib/IndexUtil'; import IndexUtil, { Index } from './lib/IndexUtil';
import ItemUtil, { SearchCallbackFunc, SortCondition } from './lib/ItemUtil'; import ItemUtil, { SearchCallbackFunc, SortCondition } from './lib/ItemUtil';
import XoonipsListIndex from './lib/XoonipsListIndex';
import XoonipsListItem from './lib/XoonipsListItem';
interface Props { interface Props {
lang: MultiLang; lang: MultiLang;
@ -17,7 +17,7 @@ interface Props {
indexId: number; indexId: number;
} }
const DatabaseSearchByIndexId: React.FC<Props> = (props) => { const XoonipsSearchByIndexId: React.FC<Props> = (props) => {
const { lang, type, indexId } = props; const { lang, type, indexId } = props;
const [notFound, setNotFound] = React.useState<boolean>(false); const [notFound, setNotFound] = React.useState<boolean>(false);
@ -83,10 +83,10 @@ const DatabaseSearchByIndexId: React.FC<Props> = (props) => {
</Helmet> </Helmet>
<h3>{Functions.mlang('[en]Listing item[/en][ja]アイテム一覧[/ja]', lang)}</h3> <h3>{Functions.mlang('[en]Listing item[/en][ja]アイテム一覧[/ja]', lang)}</h3>
<div>{parents.node}</div> <div>{parents.node}</div>
<DatabaseListIndex lang={lang} index={index} type={type} /> <XoonipsListIndex lang={lang} index={index} type={type} />
<DatabaseListItem lang={lang} url={baseUrl} search={searchFunc} type={type} /> <XoonipsListItem lang={lang} url={baseUrl} search={searchFunc} type={type} />
</div> </div>
); );
}; };
export default DatabaseSearchByIndexId; export default XoonipsSearchByIndexId;

View File

@ -2,8 +2,8 @@ import React from 'react';
import { BrainAtlasType, MultiLang } from '../config'; import { BrainAtlasType, MultiLang } from '../config';
import Functions from '../functions'; import Functions from '../functions';
import DatabaseListItem from './lib/DatabaseListItem';
import ItemUtil, { SearchCallbackFunc, SortCondition } from './lib/ItemUtil'; import ItemUtil, { SearchCallbackFunc, SortCondition } from './lib/ItemUtil';
import XoonipsListItem from './lib/XoonipsListItem';
interface Props { interface Props {
lang: MultiLang; lang: MultiLang;
@ -12,7 +12,7 @@ interface Props {
type: BrainAtlasType; type: BrainAtlasType;
} }
const DatabaseSearchByItemType: React.FC<Props> = (props) => { const XoonipsSearchByItemType: React.FC<Props> = (props) => {
const { lang, itemType, subItemType, type } = props; const { lang, itemType, subItemType, type } = props;
const searchFunc = (condition: SortCondition, func: SearchCallbackFunc) => { const searchFunc = (condition: SortCondition, func: SearchCallbackFunc) => {
@ -29,9 +29,9 @@ const DatabaseSearchByItemType: React.FC<Props> = (props) => {
return ( return (
<div className="list"> <div className="list">
<h3>{Functions.mlang('[en]Listing item[/en][ja]アイテム一覧[/ja]', lang)}</h3> <h3>{Functions.mlang('[en]Listing item[/en][ja]アイテム一覧[/ja]', lang)}</h3>
<DatabaseListItem lang={lang} url={baseUrl} search={searchFunc} type={type} /> <XoonipsListItem lang={lang} url={baseUrl} search={searchFunc} type={type} />
</div> </div>
); );
}; };
export default DatabaseSearchByItemType; export default XoonipsSearchByItemType;

View File

@ -3,15 +3,15 @@ import React from 'react';
import { useLocation } from 'react-router-dom'; import { useLocation } from 'react-router-dom';
import { BrainAtlasType, MultiLang } from '../config'; import { BrainAtlasType, MultiLang } from '../config';
import Functions from '../functions'; import Functions from '../functions';
import DatabaseListItem from './lib/DatabaseListItem';
import ItemUtil, { SearchCallbackFunc, SortCondition } from './lib/ItemUtil'; import ItemUtil, { SearchCallbackFunc, SortCondition } from './lib/ItemUtil';
import XoonipsListItem from './lib/XoonipsListItem';
interface Props { interface Props {
lang: MultiLang; lang: MultiLang;
type: BrainAtlasType; type: BrainAtlasType;
} }
const DatabaseSearchByKeyword: React.FC<Props> = (props) => { const XoonipsSearchByKeyword: React.FC<Props> = (props) => {
const { lang, type } = props; const { lang, type } = props;
const location = useLocation(); const location = useLocation();
@ -33,9 +33,9 @@ const DatabaseSearchByKeyword: React.FC<Props> = (props) => {
<p> <p>
{Functions.mlang('[en]Search Keyword[/en][ja]検索キーワード[/ja]', lang)} : {query.keyword} {Functions.mlang('[en]Search Keyword[/en][ja]検索キーワード[/ja]', lang)} : {query.keyword}
</p> </p>
<DatabaseListItem lang={lang} url={baseUrl} search={searchFunc} type={type} /> <XoonipsListItem lang={lang} url={baseUrl} search={searchFunc} type={type} />
</div> </div>
); );
}; };
export default DatabaseSearchByKeyword; export default XoonipsSearchByKeyword;

View File

@ -1,15 +1,16 @@
import React from 'react'; import React from 'react';
import Config, { BrainAtlasType, MultiLang } from '../config'; import Config, { BrainAtlasType, MultiLang } from '../config';
import styles from './DatabaseTop.module.css';
import ItemType from './item-type'; import ItemType from './item-type';
import styles from './XoonipsTop.module.css';
interface Props { interface Props {
lang: MultiLang; lang: MultiLang;
type: BrainAtlasType; type: BrainAtlasType;
} }
const DatabaseTop: React.FC<Props> = (props) => { const XoonipsTop: React.FC<Props> = (props) => {
const { lang, type } = props; const { lang, type } = props;
const types: string[][] = []; const types: string[][] = [];
const len = Config.XOONIPS_ITEMTYPES.length; const len = Config.XOONIPS_ITEMTYPES.length;
@ -41,4 +42,4 @@ const DatabaseTop: React.FC<Props> = (props) => {
); );
}; };
export default DatabaseTop; export default XoonipsTop;

View File

@ -9,7 +9,7 @@ interface Props {
lang: MultiLang; lang: MultiLang;
} }
const DatabaseXoopsPathRedirect: React.FC<Props> = (props) => { const XoonipsXoopsPathRedirect: React.FC<Props> = (props) => {
const { lang } = props; const { lang } = props;
const location = useLocation(); const location = useLocation();
@ -152,4 +152,4 @@ const DatabaseXoopsPathRedirect: React.FC<Props> = (props) => {
return <Navigate to={url} />; return <Navigate to={url} />;
}; };
export default DatabaseXoopsPathRedirect; export default XoonipsXoopsPathRedirect;

View File

Before

Width:  |  Height:  |  Size: 369 B

After

Width:  |  Height:  |  Size: 369 B

View File

Before

Width:  |  Height:  |  Size: 375 B

After

Width:  |  Height:  |  Size: 375 B

View File

Before

Width:  |  Height:  |  Size: 427 B

After

Width:  |  Height:  |  Size: 427 B

View File

Before

Width:  |  Height:  |  Size: 402 B

After

Width:  |  Height:  |  Size: 402 B

View File

Before

Width:  |  Height:  |  Size: 433 B

After

Width:  |  Height:  |  Size: 433 B

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 166 B

After

Width:  |  Height:  |  Size: 166 B

View File

Before

Width:  |  Height:  |  Size: 409 B

After

Width:  |  Height:  |  Size: 409 B

View File

Before

Width:  |  Height:  |  Size: 479 B

After

Width:  |  Height:  |  Size: 479 B

View File

Before

Width:  |  Height:  |  Size: 423 B

After

Width:  |  Height:  |  Size: 423 B

View File

Before

Width:  |  Height:  |  Size: 562 B

After

Width:  |  Height:  |  Size: 562 B

View File

Before

Width:  |  Height:  |  Size: 302 B

After

Width:  |  Height:  |  Size: 302 B

View File

Before

Width:  |  Height:  |  Size: 399 B

After

Width:  |  Height:  |  Size: 399 B

View File

Before

Width:  |  Height:  |  Size: 574 B

After

Width:  |  Height:  |  Size: 574 B

View File

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

Before

Width:  |  Height:  |  Size: 538 B

After

Width:  |  Height:  |  Size: 538 B

View File

Before

Width:  |  Height:  |  Size: 112 B

After

Width:  |  Height:  |  Size: 112 B

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -7,6 +7,7 @@ import Loading from '../../common/lib/Loading';
import { BrainAtlasType, MultiLang } from '../../config'; import { BrainAtlasType, MultiLang } from '../../config';
import Functions from '../../functions'; import Functions from '../../functions';
import IndexUtil, { INDEX_ID_PUBLIC, Index } from '../lib/IndexUtil'; import IndexUtil, { INDEX_ID_PUBLIC, Index } from '../lib/IndexUtil';
import styles from './IndexTree.module.css'; import styles from './IndexTree.module.css';
interface Props { interface Props {

View File

@ -1,9 +1,10 @@
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import Functions from '../../../functions'; import Functions from '../../../functions';
import iconFile from '../../assets/images/icon_binder.gif';
import { ItemBinder } from '../../lib/ItemUtil'; import { ItemBinder } from '../../lib/ItemUtil';
import ListBase, { ListBaseProps } from '../lib/ListBase'; import ListBase, { ListBaseProps } from '../lib/ListBase';
import iconFile from '../../assets/images/icon_binder.gif';
class BinderList extends ListBase { class BinderList extends ListBase {
constructor(props: ListBaseProps) { constructor(props: ListBaseProps) {
super(props); super(props);

View File

@ -1,6 +1,7 @@
import iconFile from '../../assets/images/icon_binder.gif';
import TopBase, { TopBaseProps } from '../lib/TopBase'; import TopBase, { TopBaseProps } from '../lib/TopBase';
import iconFile from '../../assets/images/icon_binder.gif';
class BinderTop extends TopBase { class BinderTop extends TopBase {
constructor(props: TopBaseProps) { constructor(props: TopBaseProps) {
super(props); super(props);

View File

@ -1,10 +1,11 @@
import { Fragment } from 'react'; import { Fragment } from 'react';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import Functions from '../../../functions'; import Functions from '../../../functions';
import iconFile from '../../assets/images/icon_book.gif';
import { ItemBook } from '../../lib/ItemUtil'; import { ItemBook } from '../../lib/ItemUtil';
import ListBase, { ListBaseProps } from '../lib/ListBase'; import ListBase, { ListBaseProps } from '../lib/ListBase';
import iconFile from '../../assets/images/icon_book.gif';
class BookList extends ListBase { class BookList extends ListBase {
constructor(props: ListBaseProps) { constructor(props: ListBaseProps) {
super(props); super(props);

View File

@ -1,6 +1,7 @@
import iconFile from '../../assets/images/icon_book.gif';
import TopBase, { TopBaseProps } from '../lib/TopBase'; import TopBase, { TopBaseProps } from '../lib/TopBase';
import iconFile from '../../assets/images/icon_book.gif';
class BookTop extends TopBase { class BookTop extends TopBase {
constructor(props: TopBaseProps) { constructor(props: TopBaseProps) {
super(props); super(props);

View File

@ -2,11 +2,12 @@ import React from 'react';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import Functions from '../../../functions'; import Functions from '../../../functions';
import iconFile from '../../assets/images/icon_conference.gif';
import { ItemConference } from '../../lib/ItemUtil'; import { ItemConference } from '../../lib/ItemUtil';
import ListBase, { ListBaseProps } from '../lib/ListBase'; import ListBase, { ListBaseProps } from '../lib/ListBase';
import ConferenceUtil from './ConferenceUtil'; import ConferenceUtil from './ConferenceUtil';
import iconFile from '../../assets/images/icon_conference.gif';
class ConferenceList extends ListBase { class ConferenceList extends ListBase {
constructor(props: ListBaseProps) { constructor(props: ListBaseProps) {
super(props); super(props);

View File

@ -1,7 +1,8 @@
import iconFile from '../../assets/images/icon_conference.gif';
import { ItemConferenceSubTypes } from '../../lib/ItemUtil'; import { ItemConferenceSubTypes } from '../../lib/ItemUtil';
import TopBase, { TopBaseProps } from '../lib/TopBase'; import TopBase, { TopBaseProps } from '../lib/TopBase';
import iconFile from '../../assets/images/icon_conference.gif';
class ConferenceTop extends TopBase { class ConferenceTop extends TopBase {
constructor(props: TopBaseProps) { constructor(props: TopBaseProps) {
super(props); super(props);

View File

@ -2,10 +2,11 @@ import React from 'react';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import Functions from '../../../functions'; import Functions from '../../../functions';
import iconFile from '../../assets/images/icon_data.gif';
import { ItemData } from '../../lib/ItemUtil'; import { ItemData } from '../../lib/ItemUtil';
import ListBase, { ListBaseProps } from '../lib/ListBase'; import ListBase, { ListBaseProps } from '../lib/ListBase';
import iconFile from '../../assets/images/icon_data.gif';
class DataList extends ListBase { class DataList extends ListBase {
constructor(props: ListBaseProps) { constructor(props: ListBaseProps) {
super(props); super(props);

View File

@ -1,7 +1,8 @@
import iconFile from '../../assets/images/icon_data.gif';
import { ItemDataSubTypes } from '../../lib/ItemUtil'; import { ItemDataSubTypes } from '../../lib/ItemUtil';
import TopBase, { TopBaseProps } from '../lib/TopBase'; import TopBase, { TopBaseProps } from '../lib/TopBase';
import iconFile from '../../assets/images/icon_data.gif';
class DataTop extends TopBase { class DataTop extends TopBase {
constructor(props: TopBaseProps) { constructor(props: TopBaseProps) {
super(props); super(props);

View File

@ -1,10 +1,11 @@
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import Functions from '../../../functions'; import Functions from '../../../functions';
import iconFile from '../../assets/images/icon_files.gif';
import { ItemFiles } from '../../lib/ItemUtil'; import { ItemFiles } from '../../lib/ItemUtil';
import ListBase, { ListBaseProps } from '../lib/ListBase'; import ListBase, { ListBaseProps } from '../lib/ListBase';
import Contributor from '../lib/field/Contributor'; import Contributor from '../lib/field/Contributor';
import iconFile from '../../assets/images/icon_files.gif';
class FilesList extends ListBase { class FilesList extends ListBase {
constructor(props: ListBaseProps) { constructor(props: ListBaseProps) {
super(props); super(props);

View File

@ -1,7 +1,8 @@
import iconFile from '../../assets/images/icon_files.gif';
import { ItemFilesSubTypes } from '../../lib/ItemUtil'; import { ItemFilesSubTypes } from '../../lib/ItemUtil';
import TopBase, { TopBaseProps } from '../lib/TopBase'; import TopBase, { TopBaseProps } from '../lib/TopBase';
import iconFile from '../../assets/images/icon_files.gif';
class FilesTop extends TopBase { class FilesTop extends TopBase {
constructor(props: TopBaseProps) { constructor(props: TopBaseProps) {
super(props); super(props);

View File

@ -2,9 +2,10 @@ import React from 'react';
import { BrainAtlasType, MultiLang } from '../../../../config'; import { BrainAtlasType, MultiLang } from '../../../../config';
import ItemUtil, { ItemBasicFile } from '../../../lib/ItemUtil'; import ItemUtil, { ItemBasicFile } from '../../../lib/ItemUtil';
import styles from './FileDownloadButton.module.css';
import LicenseAgreementDialog from './LicenseAgreementDialog'; import LicenseAgreementDialog from './LicenseAgreementDialog';
import styles from './FileDownloadButton.module.css';
interface Props { interface Props {
lang: MultiLang; lang: MultiLang;
file: ItemBasicFile; file: ItemBasicFile;

View File

@ -7,9 +7,10 @@ import Functions from '../../../../functions';
import ItemUtil, { ItemBasicFile } from '../../../lib/ItemUtil'; import ItemUtil, { ItemBasicFile } from '../../../lib/ItemUtil';
import DateTime from './DateTime'; import DateTime from './DateTime';
import FileSize from './FileSize'; import FileSize from './FileSize';
import styles from './LicenseAgreementDialog.module.css';
import Rights from './Rights'; import Rights from './Rights';
import styles from './LicenseAgreementDialog.module.css';
interface Props { interface Props {
lang: MultiLang; lang: MultiLang;
file: ItemBasicFile; file: ItemBasicFile;

View File

@ -1,7 +1,7 @@
import React from 'react'; import React from 'react';
import ItemType from '../..';
import { BrainAtlasType, MultiLang } from '../../../../config'; import { BrainAtlasType, MultiLang } from '../../../../config';
import ItemType from '../../../item-type';
import ItemUtil from '../../../lib/ItemUtil'; import ItemUtil from '../../../lib/ItemUtil';
interface Props { interface Props {

View File

@ -1,10 +1,11 @@
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import XoopsCode from '../../../common/lib/XoopsCode'; import XoopsCode from '../../../common/lib/XoopsCode';
import Functions from '../../../functions'; import Functions from '../../../functions';
import iconFile from '../../assets/images/icon_memo.gif';
import { ItemMemo } from '../../lib/ItemUtil'; import { ItemMemo } from '../../lib/ItemUtil';
import ListBase, { ListBaseProps } from '../lib/ListBase'; import ListBase, { ListBaseProps } from '../lib/ListBase';
import iconFile from '../../assets/images/icon_memo.gif';
class MemoList extends ListBase { class MemoList extends ListBase {
constructor(props: ListBaseProps) { constructor(props: ListBaseProps) {
super(props); super(props);

View File

@ -1,6 +1,7 @@
import iconFile from '../../assets/images/icon_memo.gif';
import TopBase, { TopBaseProps } from '../lib/TopBase'; import TopBase, { TopBaseProps } from '../lib/TopBase';
import iconFile from '../../assets/images/icon_memo.gif';
class MemoTop extends TopBase { class MemoTop extends TopBase {
constructor(props: TopBaseProps) { constructor(props: TopBaseProps) {
super(props); super(props);

Some files were not shown because too many files have changed in this diff Show More