From d3c265cc49543f2ec08e7fd8ca66380ae063c09a Mon Sep 17 00:00:00 2001 From: Kevin Matsubara Date: Sun, 26 Oct 2025 18:36:42 +0100 Subject: [PATCH] Add paints collection page. --- src/App.js | 3 +- src/Language/LanguageStrings.js | 10 +++++ src/Pages/Plamo/en/main.md | 6 +++ src/Pages/Plamo/nl/main.md | 6 +++ src/Pages/Plamo/paints/PaintsPage.js | 56 ++++++++++++++++++++++++ src/Pages/Plamo/paints/en/paints.md | 3 ++ src/Pages/Plamo/paints/nl/paints.md | 3 ++ src/Pages/Plamo/{ => paints}/paints.json | 28 ++++++------ src/Routers.js | 6 +++ 9 files changed, 106 insertions(+), 15 deletions(-) create mode 100644 src/Pages/Plamo/paints/PaintsPage.js create mode 100644 src/Pages/Plamo/paints/en/paints.md create mode 100644 src/Pages/Plamo/paints/nl/paints.md rename src/Pages/Plamo/{ => paints}/paints.json (97%) diff --git a/src/App.js b/src/App.js index 4b6b5d7..3338a7b 100644 --- a/src/App.js +++ b/src/App.js @@ -46,7 +46,7 @@ import EquipmentPage from './Pages/Radio/equipmentPage'; import PlamoMain from './Pages/Plamo/PlamoMain' import { languages, getLanguage } from './Language/Language'; -import { japaneseRoutes, plamoBlogRoutes, plamoEquipmentRoutes, plamoShowcaseGundamRoutes, plamoShowcaseMilitairyAirplanesRoutes, programmingLanguageRoutes } from './Routers'; +import { japaneseRoutes, plamoBlogRoutes, plamoEquipmentRoutes, plamoPaintRoutes, plamoShowcaseGundamRoutes, plamoShowcaseMilitairyAirplanesRoutes, programmingLanguageRoutes } from './Routers'; function App() { const language = getLanguage(); @@ -131,6 +131,7 @@ function App() { {/* Plamo */} {plamoBlogRoutes} {plamoEquipmentRoutes} + {plamoPaintRoutes} {plamoShowcaseGundamRoutes} {plamoShowcaseMilitairyAirplanesRoutes} diff --git a/src/Language/LanguageStrings.js b/src/Language/LanguageStrings.js index 07ade11..c5a09e4 100644 --- a/src/Language/LanguageStrings.js +++ b/src/Language/LanguageStrings.js @@ -4,11 +4,16 @@ const languageStrings = { en: { // Common and: 'and', + colour: 'colour', copy: 'copy', date: 'date', hour: 'hour(s)', + identifier: 'identifier', on: 'on', name: 'name', + stock: 'stock', + total: 'total', + type: 'type', // Titles japan: 'Japan', japanese: 'Japanese', @@ -77,11 +82,16 @@ const languageStrings = { nl: { // Common and: 'en', + colour: 'kleur', copy: 'kopieer', date: 'datum', hour: 'uur', + identifier: 'identificatiecode', on: 'op', name: 'naam', + stock: 'voorraad', + total: 'totaal', + type: 'type', // Titles japan: 'Japan', japanese: 'Japans', diff --git a/src/Pages/Plamo/en/main.md b/src/Pages/Plamo/en/main.md index 472a0d9..29fdc98 100644 --- a/src/Pages/Plamo/en/main.md +++ b/src/Pages/Plamo/en/main.md @@ -16,6 +16,12 @@ Building and painting plastic scale models and mecha figures is one of my hobbie --- +### Paints + +* [Paint collection](./paints) + +--- + ### Equipment * [Airbrush booth](./equipment/airbrush-cabine) diff --git a/src/Pages/Plamo/nl/main.md b/src/Pages/Plamo/nl/main.md index 8cb2897..cd17d8d 100644 --- a/src/Pages/Plamo/nl/main.md +++ b/src/Pages/Plamo/nl/main.md @@ -16,6 +16,12 @@ Het bouwen en schilderen van plastic schaalmodellen en mecha figuren is een hobb --- +### Verf + +* [Verf collectie](./paints) + +--- + ### Gereedschappen * [Airbrush cabine](./equipment/airbrush-cabine) diff --git a/src/Pages/Plamo/paints/PaintsPage.js b/src/Pages/Plamo/paints/PaintsPage.js new file mode 100644 index 0000000..f64ff7d --- /dev/null +++ b/src/Pages/Plamo/paints/PaintsPage.js @@ -0,0 +1,56 @@ +import React from 'react'; +import Breadcrumbs from '../../../UI/Breadcrumbs'; +import paintData from './paints.json'; +import { useTheme } from '../../../ThemeContext'; +import { getLanguage } from '../../../Language/Language'; +import MarkdownPage from '../../markdownPage'; +import { getString } from '../../../Language/LanguageStrings'; + +const PaintsPage = () => { + const language = getLanguage(); + const { theme } = useTheme(); + + return ( +
+ + {['Plamo']} + + + +
+ + + + + + + + + + + + + + + {paintData.paints + .map((item, index) => ( + + + + + + + + + + + )) + } + +
{getString('colour')}{getString('identifier')}{getString('colour')}{getString('type')}{getString('manufacturer')}{getString('name')}{getString('stock')}{getString('total')}
{item.identifier}{item.colour}{item.type}{item.manufacturer}{item.name}{item['current-stock']}{item.total}
+
+
+ ) +} + +export default PaintsPage; \ No newline at end of file diff --git a/src/Pages/Plamo/paints/en/paints.md b/src/Pages/Plamo/paints/en/paints.md new file mode 100644 index 0000000..2d183a8 --- /dev/null +++ b/src/Pages/Plamo/paints/en/paints.md @@ -0,0 +1,3 @@ +# Paints + +This is my collection of paints. diff --git a/src/Pages/Plamo/paints/nl/paints.md b/src/Pages/Plamo/paints/nl/paints.md new file mode 100644 index 0000000..23a4871 --- /dev/null +++ b/src/Pages/Plamo/paints/nl/paints.md @@ -0,0 +1,3 @@ +# Verf + +Dit is mijn collectie verf. diff --git a/src/Pages/Plamo/paints.json b/src/Pages/Plamo/paints/paints.json similarity index 97% rename from src/Pages/Plamo/paints.json rename to src/Pages/Plamo/paints/paints.json index 381b1a3..49976a9 100644 --- a/src/Pages/Plamo/paints.json +++ b/src/Pages/Plamo/paints/paints.json @@ -56,7 +56,7 @@ "name": "Mr. Color Gold", "label": "Primary", "shine": "Metallic", - "identifier": "C9", + "identifier": "C009", "manufacturer": "Mr. Hobby", "colour": "goud", "type": "lak", @@ -69,7 +69,7 @@ "name": "Mr. Color Metal Black", "label": "Primary", "shine": "Metallic", - "identifier": "C78", + "identifier": "C078", "manufacturer": "Mr. Hobby", "colour": "zwart", "type": "lak", @@ -95,7 +95,7 @@ "name": "Mr. Color Silver", "label": "Primary", "shine": "Metallic", - "identifier": "C8", + "identifier": "C008", "manufacturer": "Mr. Hobby", "colour": "zilver", "type": "lak", @@ -134,7 +134,7 @@ "name": "Mr. Color Steel", "label": "Primary", "shine": "Metallic", - "identifier": "C28", + "identifier": "C028", "manufacturer": "Mr. Hobby", "colour": "zwart", "type": "lak", @@ -147,7 +147,7 @@ "name": "Mr. Color Flat Black", "label": "Primary", "shine": "Flat", - "identifier": "C33", + "identifier": "C033", "manufacturer": "Mr. Hobby", "colour": "zwart", "type": "lak", @@ -225,7 +225,7 @@ "name": "Mr. Color IJN Gray (Mitsubishi)", "label": "Primary", "shine": "Flat", - "identifier": "C35", + "identifier": "C035", "manufacturer": "Mr. Hobby", "colour": "grijs", "type": "lak", @@ -238,7 +238,7 @@ "name": "Mr. Color Clear", "label": "Primary", "shine": "Gloss", - "identifier": "C46", + "identifier": "C046", "manufacturer": "Mr. Hobby", "colour": "", "type": "vernis", @@ -290,7 +290,7 @@ "name": "Mr. Color RLM02 Gray", "label": "German aircraft WW2", "shine": "Semi-gloss", - "identifier": "C60", + "identifier": "C060", "manufacturer": "Mr. Hobby", "colour": "grijs", "type": "lak", @@ -316,7 +316,7 @@ "name": "Mr. Color Purple", "label": "Primary", "shine": "Gloss", - "identifier": "C67", + "identifier": "C067", "manufacturer": "Mr. Hobby", "colour": "paars", "type": "lak", @@ -329,7 +329,7 @@ "name": "Mr. Color Hull Red", "label": "Battle ship", "shine": "Semi-gloss", - "identifier": "C29", + "identifier": "C029", "manufacturer": "Mr. Hobby", "colour": "rood", "type": "lak", @@ -368,7 +368,7 @@ "name": "LP-7 Pure red", "label": "", "shine": "Gloss", - "identifier": "LP7", + "identifier": "LP07", "manufacturer": "Tamiya", "colour": "rood", "type": "lak", @@ -394,7 +394,7 @@ "name": "LP-2 White", "label": "", "shine": "Gloss", - "identifier": "LP2", + "identifier": "LP02", "manufacturer": "Tamiya", "colour": "wit", "type": "lak", @@ -446,7 +446,7 @@ "name": "LP-1 Black", "label": "", "shine": "Gloss", - "identifier": "LP1", + "identifier": "LP01", "manufacturer": "Tamiya", "colour": "zwart", "type": "lak", @@ -537,7 +537,7 @@ "name": "LP-8 Pure yellow", "label": "", "shine": "Gloss", - "identifier": "LP8", + "identifier": "LP08", "manufacturer": "Tamiya", "colour": "geel", "type": "lak", diff --git a/src/Routers.js b/src/Routers.js index 5c56f6e..4a6ff01 100644 --- a/src/Routers.js +++ b/src/Routers.js @@ -3,6 +3,7 @@ import { Route } from 'react-router-dom'; import { languages } from './Language/Language'; import JapanesePage from './Pages/Japan/JapanesePage'; import BlogPage from './Pages/Plamo/BlogPage'; +import PaintsPage from './Pages/Plamo/paints/PaintsPage'; import CSharpPage from './Pages/Software/dotnet/csharp/CSharpPage'; import ElmPage from './Pages/Software/elm/ElmPage'; import HaskellPage from './Pages/Software/haskell/HaskellPage'; @@ -34,6 +35,11 @@ export const plamoEquipmentRoutes = languages.map(lang => { return } />; }); }).flat(); +export const plamoPaintRoutes = languages.map(lang => { + const path = `/${lang}/plamo/paints`; + const mdPath = `Plamo/paints/${lang}/paints.md`; + return } />; +}).flat(); export const plamoShowcaseGundamRoutes = languages.map(lang => { const pages = ['kawasaki-zaku-ii', 'smc-2025-gundam']; return pages.map(page => {