Update field days table with language strings and bootstrap styling.
This commit is contained in:
parent
bba3acb191
commit
7f100ea3d1
@ -4,8 +4,10 @@ const languageStrings = {
|
|||||||
en: {
|
en: {
|
||||||
// Common
|
// Common
|
||||||
and: 'and',
|
and: 'and',
|
||||||
on: 'on',
|
|
||||||
copy: 'copy',
|
copy: 'copy',
|
||||||
|
date: 'date',
|
||||||
|
on: 'on',
|
||||||
|
name: 'name',
|
||||||
// Titles
|
// Titles
|
||||||
japanese: 'Japanese',
|
japanese: 'Japanese',
|
||||||
radio_amateur: 'Radio amateur',
|
radio_amateur: 'Radio amateur',
|
||||||
@ -23,10 +25,13 @@ const languageStrings = {
|
|||||||
portal: 'Portal',
|
portal: 'Portal',
|
||||||
language: 'Language',
|
language: 'Language',
|
||||||
// Radio
|
// Radio
|
||||||
|
antenna: 'antenna',
|
||||||
|
bands: 'bands',
|
||||||
equipment: 'Equipment',
|
equipment: 'Equipment',
|
||||||
components: 'components',
|
components: 'components',
|
||||||
fielddays: 'Field days',
|
fielddays: 'Field days',
|
||||||
nvisAntenna: 'NVIS Antenna',
|
nvisAntenna: 'NVIS Antenna',
|
||||||
|
totalUniqueQSO: 'total unique QSO',
|
||||||
// Software
|
// Software
|
||||||
code_pages: 'Code sections',
|
code_pages: 'Code sections',
|
||||||
code_pages_intro: 'Some notes and examples of code.',
|
code_pages_intro: 'Some notes and examples of code.',
|
||||||
@ -37,8 +42,10 @@ const languageStrings = {
|
|||||||
nl: {
|
nl: {
|
||||||
// Common
|
// Common
|
||||||
and: 'en',
|
and: 'en',
|
||||||
on: 'op',
|
|
||||||
copy: 'kopieer',
|
copy: 'kopieer',
|
||||||
|
date: 'datum',
|
||||||
|
on: 'op',
|
||||||
|
name: 'naam',
|
||||||
// Titles
|
// Titles
|
||||||
japanese: 'Japans',
|
japanese: 'Japans',
|
||||||
radio_amateur: 'Radiozendamateur',
|
radio_amateur: 'Radiozendamateur',
|
||||||
@ -56,10 +63,13 @@ const languageStrings = {
|
|||||||
portal: 'Portaal',
|
portal: 'Portaal',
|
||||||
language: 'Taal',
|
language: 'Taal',
|
||||||
// Radio
|
// Radio
|
||||||
|
antenna: 'antenne',
|
||||||
|
bands: 'banden',
|
||||||
equipment: 'Apparatuur',
|
equipment: 'Apparatuur',
|
||||||
components: 'componenten',
|
components: 'componenten',
|
||||||
fielddays: 'Velddagen',
|
fielddays: 'Velddagen',
|
||||||
nvisAntenna: 'NVIS Antenne',
|
nvisAntenna: 'NVIS antenne',
|
||||||
|
totalUniqueQSO: 'totaal unieke QSO',
|
||||||
// Software
|
// Software
|
||||||
code_pages: 'Code secties',
|
code_pages: 'Code secties',
|
||||||
code_pages_intro: 'Notities en voorbeelden van code.',
|
code_pages_intro: 'Notities en voorbeelden van code.',
|
||||||
|
|||||||
@ -2,10 +2,14 @@ import React from 'react';
|
|||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
import Emoji from '../../../Content/Emoji';
|
import Emoji from '../../../Content/Emoji';
|
||||||
import fielddaysData from './fielddays.json';
|
import fielddaysData from './fielddays.json';
|
||||||
|
import { useTheme } from '../../../ThemeContext';
|
||||||
|
import { getLanguage } from '../../../Language/Language';
|
||||||
|
import { getString } from '../../../Language/LanguageStrings'
|
||||||
|
|
||||||
const FielddaysTable = () => {
|
const FielddaysTable = () => {
|
||||||
|
const { theme } = useTheme();
|
||||||
|
|
||||||
function generatePath(dateString, language) {
|
function generatePath(dateString, language, linkText) {
|
||||||
// Assuming dateString is in the format "YYYY-MM-DD"
|
// Assuming dateString is in the format "YYYY-MM-DD"
|
||||||
const parts = dateString.split('-');
|
const parts = dateString.split('-');
|
||||||
const year = parts[0];
|
const year = parts[0];
|
||||||
@ -18,7 +22,7 @@ const FielddaysTable = () => {
|
|||||||
// Return JSX with the path inside an <a> tag
|
// Return JSX with the path inside an <a> tag
|
||||||
return (
|
return (
|
||||||
<Link reloadDocument to={path}>
|
<Link reloadDocument to={path}>
|
||||||
Link
|
{linkText}
|
||||||
</Link>
|
</Link>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -26,29 +30,25 @@ const FielddaysTable = () => {
|
|||||||
// Optimize to only show link column for the current language.
|
// Optimize to only show link column for the current language.
|
||||||
// This also eliminates a column.
|
// This also eliminates a column.
|
||||||
return (
|
return (
|
||||||
<table className='table-fielddays'>
|
<table className={'table table-striped table-hover table-' + theme}>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Date</th>
|
<th>{getString('date')}</th>
|
||||||
<th><Emoji symbol="🇬🇧" /></th>
|
<th>{getString('name')}</th>
|
||||||
<th><Emoji symbol="🇳🇱" /></th>
|
|
||||||
<th>Name</th>
|
|
||||||
<th>POTA Locator</th>
|
<th>POTA Locator</th>
|
||||||
<th>WW-FF Locator</th>
|
<th>WW-FF Locator</th>
|
||||||
<th>Bands</th>
|
<th>{getString('bands')}</th>
|
||||||
<th>Mode</th>
|
<th>Mode</th>
|
||||||
<th>Transceiver</th>
|
<th>Transceiver</th>
|
||||||
<th>Total unique QSO</th>
|
<th>{getString('totalUniqueQSO')}</th>
|
||||||
<th>Antenna</th>
|
<th>{getString('antenna')}</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{fielddaysData.fielddays.map((fieldDay, index) => (
|
{fielddaysData.fielddays.map((fieldDay, index) => (
|
||||||
<tr key={index}>
|
<tr key={index}>
|
||||||
<td>{fieldDay.date}</td>
|
<td>{generatePath(fieldDay.date, getLanguage(), fieldDay.date)}</td>
|
||||||
<td>{generatePath(fieldDay.date, 'en')}</td>
|
<td>{generatePath(fieldDay.date, getLanguage(), fieldDay.name)}</td>
|
||||||
<td>{generatePath(fieldDay.date, 'nl')}</td>
|
|
||||||
<td>{fieldDay.name}</td>
|
|
||||||
<td>{fieldDay['identifier-pota']}</td>
|
<td>{fieldDay['identifier-pota']}</td>
|
||||||
<td>{fieldDay['identifier-wwff']}</td>
|
<td>{fieldDay['identifier-wwff']}</td>
|
||||||
<td>{fieldDay.bands}</td>
|
<td>{fieldDay.bands}</td>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user