diff --git a/.gitignore b/.gitignore
index 7145a8c..223d9f9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,8 +23,7 @@ dist-ssr
*.local
# Editor directories and files
-.vscode/*
-!.vscode/extensions.json
+#.vscode
.idea
.DS_Store
*.suo
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 0000000..8445274
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,16 @@
+{
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "type": "chrome",
+ "request": "launch",
+ "name": "Launch Chrome against localhost",
+ "url": "http://localhost:5173",
+ "webRoot": "${workspaceFolder}",
+ "preLaunchTask": "npm: dev"
+ }
+ ]
+}
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..a1b89d5
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,38 @@
+{
+ "editor.formatOnSave": true,
+ "editor.codeActionsOnSave": {
+ "source.fixAll.biome": "explicit"
+ },
+ "[css]": {
+ "editor.defaultFormatter": "biomejs.biome"
+ },
+ "[javascript]": {
+ "editor.defaultFormatter": "biomejs.biome"
+ },
+ "[javascriptreact]": {
+ "editor.defaultFormatter": "biomejs.biome"
+ },
+ "[json]": {
+ "editor.defaultFormatter": "biomejs.biome"
+ },
+ "[jsonc]": {
+ "editor.defaultFormatter": "biomejs.biome"
+ },
+ "[typescript]": {
+ "editor.defaultFormatter": "biomejs.biome"
+ },
+ "[typescriptreact]": {
+ "editor.defaultFormatter": "biomejs.biome"
+ },
+ // Extensions - Biome
+ // - see: biome.json
+ // Exteions - cSpell
+ // - see: .cspell.json
+ // Extensions - ESLint
+ "eslint.enable": false,
+ // Extensions - HTML
+ "html.format.wrapLineLength": 0,
+ // Extentions - Typescript
+ "javascript.updateImportsOnFileMove.enabled": "always",
+ "typescript.updateImportsOnFileMove.enabled": "always"
+}
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 0000000..ee76fa1
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,20 @@
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "type": "npm",
+ "script": "dev",
+ "isBackground": true,
+ "problemMatcher": {
+ "owner": "custom",
+ "pattern": { "regexp": "^$" },
+ "background": {
+ "activeOnStart": true,
+ "beginsPattern": ".*",
+ "endsPattern": "Local:"
+ }
+ },
+ "label": "npm: dev"
+ }
+ ]
+}
diff --git a/cspell.json b/cspell.json
new file mode 100644
index 0000000..976813b
--- /dev/null
+++ b/cspell.json
@@ -0,0 +1,33 @@
+{
+ "version": "0.2",
+ "language": "en,en-GB",
+ "words": [
+ "Aergic",
+ "astrocytes",
+ "celloc",
+ "Ebina",
+ "Flpe",
+ "geometory",
+ "glutamatergic",
+ "Hioki",
+ "Hirosawa",
+ "Imayoshi",
+ "Kameda",
+ "Kaneko",
+ "Kimura",
+ "NOWEBGL",
+ "pogodin",
+ "RIKEN",
+ "Saitama",
+ "SDCN",
+ "Sohya",
+ "Tadaharu",
+ "Teppei",
+ "Tsumoto",
+ "VGAT",
+ "Wako",
+ "webgl",
+ "Yanagawa"
+ ],
+ "ignorePaths": ["dist", "node_modules", "package-lock.json"]
+}
diff --git a/index.html b/index.html
index d3f06a8..ac96d82 100644
--- a/index.html
+++ b/index.html
@@ -7,7 +7,7 @@
CelLoc3D Server
diff --git a/package-lock.json b/package-lock.json
index d5f6871..944f52f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,19 +1,19 @@
{
"name": "celloc3d",
- "version": "3.0.0",
+ "version": "3.0.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "celloc3d",
- "version": "3.0.0",
+ "version": "3.0.1",
"dependencies": {
+ "@dr.pogodin/react-helmet": "^3.2.2",
"@reduxjs/toolkit": "^2.12.0",
"ky": "^2.0.2",
"react": "^19.2.7",
"react-dom": "^19.2.7",
"react-ga4": "^3.0.1",
- "react-helmet-async": "^3.0.0",
"react-redux": "^9.3.0",
"react-router-dom": "^7.17.0",
"redux": "^5.0.1",
@@ -233,7 +233,6 @@
"version": "7.29.7",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz",
"integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -457,6 +456,19 @@
"dev": true,
"license": "Apache-2.0"
},
+ "node_modules/@dr.pogodin/react-helmet": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/@dr.pogodin/react-helmet/-/react-helmet-3.2.2.tgz",
+ "integrity": "sha512-ejHvL56wsjNRfzOWvBzBXZXKCls2beMIf63Cz1yEMi5OFfsdBQHEiy0ux6665qzPXXAqHws4tnnWRiA/fpaQBg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/runtime": "^7.29.2",
+ "react-compiler-runtime": "^1.0.0"
+ },
+ "peerDependencies": {
+ "react": "19"
+ }
+ },
"node_modules/@emnapi/core": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz",
@@ -2100,15 +2112,6 @@
"node": ">=0.8.19"
}
},
- "node_modules/invariant": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
- "license": "MIT",
- "dependencies": {
- "loose-envify": "^1.0.0"
- }
- },
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -2143,6 +2146,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true,
"license": "MIT"
},
"node_modules/jsesc": {
@@ -2505,18 +2509,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "license": "MIT",
- "dependencies": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- },
- "bin": {
- "loose-envify": "cli.js"
- }
- },
"node_modules/lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -2741,6 +2733,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/react-compiler-runtime": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/react-compiler-runtime/-/react-compiler-runtime-1.0.0.tgz",
+ "integrity": "sha512-rRfjYv66HlG8896yPUDONgKzG5BxZD1nV9U6rkm+7VCuvQc903C4MjcoZR4zPw53IKSOX9wMQVpA1IAbRtzQ7w==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0 || ^0.0.0-experimental"
+ }
+ },
"node_modules/react-dom": {
"version": "19.2.7",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz",
@@ -2753,32 +2754,12 @@
"react": "^19.2.7"
}
},
- "node_modules/react-fast-compare": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz",
- "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==",
- "license": "MIT"
- },
"node_modules/react-ga4": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/react-ga4/-/react-ga4-3.0.1.tgz",
"integrity": "sha512-GyCc01bSheWXjzGDyHsXMOqk/SP5Cf/JrcJTg4hcpKx4eeSwaJKpJUc+ipF4ffLTZkmabmf3ZGBv4OKHTXNXyA==",
"license": "MIT"
},
- "node_modules/react-helmet-async": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-3.0.0.tgz",
- "integrity": "sha512-nA3IEZfXiclgrz4KLxAhqJqIfFDuvzQwlKwpdmzZIuC1KNSghDEIXmyU0TKtbM+NafnkICcwx8CECFrZ/sL/1w==",
- "license": "Apache-2.0",
- "dependencies": {
- "invariant": "^2.2.4",
- "react-fast-compare": "^3.2.2",
- "shallowequal": "^1.1.0"
- },
- "peerDependencies": {
- "react": "^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
- }
- },
"node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
@@ -2924,12 +2905,6 @@
"integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==",
"license": "MIT"
},
- "node_modules/shallowequal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
- "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==",
- "license": "MIT"
- },
"node_modules/shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
diff --git a/package.json b/package.json
index 342e2e0..cbf6bcc 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "celloc3d",
- "version": "3.0.0",
+ "version": "3.0.1",
"private": true,
"type": "module",
"scripts": {
@@ -12,12 +12,12 @@
"preview": "vite preview"
},
"dependencies": {
+ "@dr.pogodin/react-helmet": "^3.2.2",
"@reduxjs/toolkit": "^2.12.0",
"ky": "^2.0.2",
"react": "^19.2.7",
"react-dom": "^19.2.7",
"react-ga4": "^3.0.1",
- "react-helmet-async": "^3.0.0",
"react-redux": "^9.3.0",
"react-router-dom": "^7.17.0",
"redux": "^5.0.1",
diff --git a/public/data/TE0001.json b/public/data/TE0001.json
index bdb63b7..5a261ab 100644
--- a/public/data/TE0001.json
+++ b/public/data/TE0001.json
@@ -3,7 +3,7 @@
"author": "Ebina, T., Sohya, K., Imayoshi, I., Yin, S.T., Kimura, R., Yanagawa, Y., Kameda, H., Hioki, H., Kaneko, T., and Tsumoto, T.",
"figure": {
"file": "\/data\/TE0001.png",
- "caption": "3D Arrangemtns of cells in TE0001"
+ "caption": "3D Arrangements of cells in TE0001"
},
"download": "\/data\/TE0001.dat",
"view": "\/data\/TE0001\/viewer",
diff --git a/public/data/TE0002.json b/public/data/TE0002.json
index bf15530..4b2d496 100644
--- a/public/data/TE0002.json
+++ b/public/data/TE0002.json
@@ -3,7 +3,7 @@
"author": "Ebina, T., Sohya, K., Imayoshi, I., Yin, S.T., Kimura, R., Yanagawa, Y., Kameda, H., Hioki, H., Kaneko, T., and Tsumoto, T.",
"figure": {
"file": "\/data\/TE0002.png",
- "caption": "3D Arrangemtns of cells in TE0002"
+ "caption": "3D Arrangements of cells in TE0002"
},
"download": "\/data\/TE0002.dat",
"view": "\/data\/TE0002\/viewer",
diff --git a/public/data/TE0003.json b/public/data/TE0003.json
index dbe3837..b00bded 100644
--- a/public/data/TE0003.json
+++ b/public/data/TE0003.json
@@ -3,7 +3,7 @@
"author": "Ebina, T., Sohya, K., Imayoshi, I., Yin, S.T., Kimura, R., Yanagawa, Y., Kameda, H., Hioki, H., Kaneko, T., and Tsumoto, T.",
"figure": {
"file": "\/data\/TE0003.png",
- "caption": "3D Arrangemtns of cells in TE0003"
+ "caption": "3D Arrangements of cells in TE0003"
},
"download": "\/data\/TE0003.dat",
"view": "\/data\/TE0003\/viewer",
diff --git a/public/data/TE0004.json b/public/data/TE0004.json
index 9c2b0bd..aace187 100644
--- a/public/data/TE0004.json
+++ b/public/data/TE0004.json
@@ -3,7 +3,7 @@
"author": "Ebina, T., Sohya, K., Imayoshi, I., Yin, S.T., Kimura, R., Yanagawa, Y., Kameda, H., Hioki, H., Kaneko, T., and Tsumoto, T.",
"figure": {
"file": "\/data\/TE0004.png",
- "caption": "3D Arrangemtns of cells in TE0004"
+ "caption": "3D Arrangements of cells in TE0004"
},
"download": "\/data\/TE0004.dat",
"view": "\/data\/TE0004\/viewer",
diff --git a/public/data/TE0005.json b/public/data/TE0005.json
index 4fd0775..a712390 100644
--- a/public/data/TE0005.json
+++ b/public/data/TE0005.json
@@ -3,7 +3,7 @@
"author": "Ebina, T., Sohya, K., Imayoshi, I., Yin, S.T., Kimura, R., Yanagawa, Y., Kameda, H., Hioki, H., Kaneko, T., and Tsumoto, T.",
"figure": {
"file": "\/data\/TE0005.png",
- "caption": "3D Arrangemtns of cells in TE0005"
+ "caption": "3D Arrangements of cells in TE0005"
},
"download": "\/data\/TE0005.dat",
"view": "\/data\/TE0005\/viewer",
diff --git a/public/data/TE0006.json b/public/data/TE0006.json
index 2f49390..f2aac90 100644
--- a/public/data/TE0006.json
+++ b/public/data/TE0006.json
@@ -3,7 +3,7 @@
"author": "Ebina, T., Sohya, K., Imayoshi, I., Yin, S.T., Kimura, R., Yanagawa, Y., Kameda, H., Hioki, H., Kaneko, T., and Tsumoto, T.",
"figure": {
"file": "\/data\/TE0006.png",
- "caption": "3D Arrangemtns of cells in TE0006"
+ "caption": "3D Arrangements of cells in TE0006"
},
"download": "\/data\/TE0006.dat",
"view": "\/data\/TE0006\/viewer",
diff --git a/public/data/TE0007.json b/public/data/TE0007.json
index 9cc7e61..15e3906 100644
--- a/public/data/TE0007.json
+++ b/public/data/TE0007.json
@@ -3,7 +3,7 @@
"author": "Ebina, T., Sohya, K., Imayoshi, I., Yin, S.T., Kimura, R., Yanagawa, Y., Kameda, H., Hioki, H., Kaneko, T., and Tsumoto, T.",
"figure": {
"file": "\/data\/TE0007.png",
- "caption": "3D Arrangemtns of cells in TE0007"
+ "caption": "3D Arrangements of cells in TE0007"
},
"download": "\/data\/TE0007.dat",
"view": "\/data\/TE0007\/viewer",
diff --git a/public/data/TE0008.json b/public/data/TE0008.json
index 107f25e..dbcfdcd 100644
--- a/public/data/TE0008.json
+++ b/public/data/TE0008.json
@@ -3,7 +3,7 @@
"author": "Ebina, T., Sohya, K., Imayoshi, I., Yin, S.T., Kimura, R., Yanagawa, Y., Kameda, H., Hioki, H., Kaneko, T., and Tsumoto, T.",
"figure": {
"file": "\/data\/TE0008.png",
- "caption": "3D Arrangemtns of cells in TE0008"
+ "caption": "3D Arrangements of cells in TE0008"
},
"download": "\/data\/TE0008.dat",
"view": "\/data\/TE0008\/viewer",
diff --git a/public/data/TE0009.json b/public/data/TE0009.json
index ea414ed..3682efe 100644
--- a/public/data/TE0009.json
+++ b/public/data/TE0009.json
@@ -3,7 +3,7 @@
"author": "Ebina, T., Sohya, K., Imayoshi, I., Yin, S.T., Kimura, R., Yanagawa, Y., Kameda, H., Hioki, H., Kaneko, T., and Tsumoto, T.",
"figure": {
"file": "\/data\/TE0009.png",
- "caption": "3D Arrangemtns of cells in TE0009"
+ "caption": "3D Arrangements of cells in TE0009"
},
"download": "\/data\/TE0009.dat",
"view": "\/data\/TE0009\/viewer",
diff --git a/public/data/TE0010.json b/public/data/TE0010.json
index 0df3ba8..786d129 100644
--- a/public/data/TE0010.json
+++ b/public/data/TE0010.json
@@ -3,7 +3,7 @@
"author": "Ebina, T., Sohya, K., Imayoshi, I., Yin, S.T., Kimura, R., Yanagawa, Y., Kameda, H., Hioki, H., Kaneko, T., and Tsumoto, T.",
"figure": {
"file": "\/data\/TE0010.png",
- "caption": "3D Arrangemtns of cells in TE0010"
+ "caption": "3D Arrangements of cells in TE0010"
},
"download": "\/data\/TE0010.dat",
"view": "\/data\/TE0010\/viewer",
diff --git a/public/data/TE0011.json b/public/data/TE0011.json
index 87084a5..bb1090c 100644
--- a/public/data/TE0011.json
+++ b/public/data/TE0011.json
@@ -3,7 +3,7 @@
"author": "Ebina, T., Sohya, K., Imayoshi, I., Yin, S.T., Kimura, R., Yanagawa, Y., Kameda, H., Hioki, H., Kaneko, T., and Tsumoto, T.",
"figure": {
"file": "\/data\/TE0011.png",
- "caption": "3D Arrangemtns of cells in TE0011"
+ "caption": "3D Arrangements of cells in TE0011"
},
"download": "\/data\/TE0011.dat",
"view": "\/data\/TE0011\/viewer",
diff --git a/public/data/TE0012.json b/public/data/TE0012.json
index ad29a8a..8ccfcc2 100644
--- a/public/data/TE0012.json
+++ b/public/data/TE0012.json
@@ -3,7 +3,7 @@
"author": "Ebina, T., Sohya, K., Imayoshi, I., Yin, S.T., Kimura, R., Yanagawa, Y., Kameda, H., Hioki, H., Kaneko, T., and Tsumoto, T.",
"figure": {
"file": "\/data\/TE0012.png",
- "caption": "3D Arrangemtns of cells in TE0012"
+ "caption": "3D Arrangements of cells in TE0012"
},
"download": "\/data\/TE0012.dat",
"view": "\/data\/TE0012\/viewer",
diff --git a/public/data/TE0013.json b/public/data/TE0013.json
index 1327454..45e6935 100644
--- a/public/data/TE0013.json
+++ b/public/data/TE0013.json
@@ -3,7 +3,7 @@
"author": "Ebina, T., Sohya, K., Imayoshi, I., Yin, S.T., Kimura, R., Yanagawa, Y., Kameda, H., Hioki, H., Kaneko, T., and Tsumoto, T.",
"figure": {
"file": "\/data\/TE0013.png",
- "caption": "3D Arrangemtns of cells in TE0013"
+ "caption": "3D Arrangements of cells in TE0013"
},
"download": "\/data\/TE0013.dat",
"view": "\/data\/TE0013\/viewer",
diff --git a/public/data/TE0014.json b/public/data/TE0014.json
index ca2357f..10ee7f4 100644
--- a/public/data/TE0014.json
+++ b/public/data/TE0014.json
@@ -3,7 +3,7 @@
"author": "Ebina, T., Sohya, K., Imayoshi, I., Yin, S.T., Kimura, R., Yanagawa, Y., Kameda, H., Hioki, H., Kaneko, T., and Tsumoto, T.",
"figure": {
"file": "\/data\/TE0014.png",
- "caption": "3D Arrangemtns of cells in TE0014"
+ "caption": "3D Arrangements of cells in TE0014"
},
"download": "\/data\/TE0014.dat",
"view": "\/data\/TE0014\/viewer",
diff --git a/public/data/TE0015.json b/public/data/TE0015.json
index 612a426..b816a3a 100644
--- a/public/data/TE0015.json
+++ b/public/data/TE0015.json
@@ -3,7 +3,7 @@
"author": "Ebina, T., Sohya, K., Imayoshi, I., Yin, S.T., Kimura, R., Yanagawa, Y., Kameda, H., Hioki, H., Kaneko, T., and Tsumoto, T.",
"figure": {
"file": "\/data\/TE0015.png",
- "caption": "3D Arrangemtns of cells in TE0015"
+ "caption": "3D Arrangements of cells in TE0015"
},
"download": "\/data\/TE0015.dat",
"view": "\/data\/TE0015\/viewer",
diff --git a/public/data/TE0016.json b/public/data/TE0016.json
index ac383d8..49d7fd3 100644
--- a/public/data/TE0016.json
+++ b/public/data/TE0016.json
@@ -3,7 +3,7 @@
"author": "Ebina, T., Sohya, K., Imayoshi, I., Yin, S.T., Kimura, R., Yanagawa, Y., Kameda, H., Hioki, H., Kaneko, T., and Tsumoto, T.",
"figure": {
"file": "\/data\/TE0016.png",
- "caption": "3D Arrangemtns of cells in TE0016"
+ "caption": "3D Arrangements of cells in TE0016"
},
"download": "\/data\/TE0016.dat",
"view": "\/data\/TE0016\/viewer",
diff --git a/src/features/contact/Contact.module.css b/src/features/contact/Contact.module.css
index 71bd1e8..d0ba2f5 100644
--- a/src/features/contact/Contact.module.css
+++ b/src/features/contact/Contact.module.css
@@ -7,10 +7,6 @@
.contact p {
margin: 5px 0 15px 15px;
}
-.notice {
- margin: 10px 0 20px;
- color: #ff0000;
-}
.note {
margin-left: 15px;
font-style: italic;
diff --git a/src/features/contact/Contact.tsx b/src/features/contact/Contact.tsx
index 4eff7e5..8461c79 100644
--- a/src/features/contact/Contact.tsx
+++ b/src/features/contact/Contact.tsx
@@ -1,6 +1,7 @@
import type React from 'react';
import { useEffect } from 'react';
import { useAppDispatch } from '../../app/hooks';
+import Notice from '../notice/Notice';
import { setTitle } from '../page-title/pageTitleSlice';
import styles from './Contact.module.css';
@@ -11,9 +12,7 @@ const Contact: React.FC = () => {
}, [dispatch]);
return (
-
- Notice: This site has been archived since May 2019 and is no longer updated.
-
+
CelLoc-3D is managed by Teppei Ebina and Tadaharu Tsumoto
Laboratory for cortical circuit plasticity
diff --git a/src/features/news/News.module.css b/src/features/news/News.module.css
index 79e6e76..24a7696 100644
--- a/src/features/news/News.module.css
+++ b/src/features/news/News.module.css
@@ -1,8 +1,8 @@
.news {
- margin: 10px;
+ margin: 20px;
}
.item {
- margin: 0 10px 10px 10px;
+ margin: 0 0 10px 0;
}
.item:after {
content: ".";
diff --git a/src/features/news/News.tsx b/src/features/news/News.tsx
index 6fd6da0..4823493 100644
--- a/src/features/news/News.tsx
+++ b/src/features/news/News.tsx
@@ -3,6 +3,7 @@ import { useEffect } from 'react';
import { useAppDispatch } from '../../app/hooks';
import JsonNews_ from '../../assets/news.json';
import nl2br from '../../utils/nl2br';
+import Notice from '../notice/Notice';
import { setTitle } from '../page-title/pageTitleSlice';
import styles from './News.module.css';
@@ -23,6 +24,7 @@ const News: React.FC = () => {
return (
+
{JsonNews.map((item, key) => {
return (
// biome-ignore lint/suspicious/noArrayIndexKey: static JSON data
diff --git a/src/features/notice/Notice.module.css b/src/features/notice/Notice.module.css
new file mode 100644
index 0000000..6162a28
--- /dev/null
+++ b/src/features/notice/Notice.module.css
@@ -0,0 +1,4 @@
+.notice {
+ margin: 10px 0 20px;
+ color: #ff0000;
+}
diff --git a/src/features/notice/Notice.tsx b/src/features/notice/Notice.tsx
new file mode 100644
index 0000000..07f5878
--- /dev/null
+++ b/src/features/notice/Notice.tsx
@@ -0,0 +1,10 @@
+import type React from 'react';
+import styles from './Notice.module.css';
+
+const Notice: React.FC = () => {
+ return (
+ This site has been archived since May 2019 and is no longer updated.
+ );
+};
+
+export default Notice;
diff --git a/src/features/page-title/PageTitle.tsx b/src/features/page-title/PageTitle.tsx
index 81f85c1..5ab5762 100644
--- a/src/features/page-title/PageTitle.tsx
+++ b/src/features/page-title/PageTitle.tsx
@@ -1,5 +1,5 @@
+import { Helmet } from '@dr.pogodin/react-helmet';
import type React from 'react';
-import { Helmet } from 'react-helmet-async';
import { useAppSelector } from '../../app/hooks';
import styles from './PageTitle.module.css';
import { selectPageTitle } from './pageTitleSlice';
diff --git a/src/index.tsx b/src/index.tsx
index 535f634..3ddb2db 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -1,6 +1,6 @@
+import { HelmetProvider } from '@dr.pogodin/react-helmet';
import React from 'react';
import ReactDOM from 'react-dom/client';
-import { HelmetProvider } from 'react-helmet-async';
import { Provider } from 'react-redux';
import App from './App';
import { store } from './app/store';