mirror of
https://github.com/nowcommunity/nowdatabase.git
synced 2026-10-12 19:13:52 +03:00
TaphonomyTab
This commit is contained in:
@@ -5,6 +5,7 @@ import { DetailView, TabType } from '../DetailView/DetailView'
|
||||
import { AgeTab } from './Tabs/AgeTab'
|
||||
import { LithologyTab } from './Tabs/LithologyTab'
|
||||
import { LocalityTab } from './Tabs/LocalityTab'
|
||||
import { TaphonomyTab } from './Tabs/TaphonomyTab'
|
||||
|
||||
export const LocalityDetails = () => {
|
||||
const { id } = useParams()
|
||||
@@ -26,6 +27,10 @@ export const LocalityDetails = () => {
|
||||
title: 'Lithology',
|
||||
content: <LithologyTab />,
|
||||
},
|
||||
{
|
||||
title: 'Taphonomy',
|
||||
content: <TaphonomyTab />,
|
||||
},
|
||||
]
|
||||
|
||||
return <DetailView tabs={tabs} data={data} />
|
||||
|
||||
@@ -4,7 +4,6 @@ import { ArrayFrame } from '../../DetailView/common/FormComponents'
|
||||
import { useDetailContext } from '@/components/DetailView/hooks'
|
||||
|
||||
export const LithologyTab = () => {
|
||||
|
||||
const { textField } = useDetailContext<LocalityDetails>()
|
||||
const { dropdown } = useDetailContext<LocalityDetails>()
|
||||
|
||||
@@ -22,7 +21,7 @@ export const LithologyTab = () => {
|
||||
'shale',
|
||||
'siltstone',
|
||||
'tuff',
|
||||
]
|
||||
]
|
||||
|
||||
const generalOptions = [
|
||||
'',
|
||||
@@ -40,116 +39,117 @@ export const LithologyTab = () => {
|
||||
'marine',
|
||||
'trap',
|
||||
'volcanic',
|
||||
]
|
||||
|
||||
const specificOptions = [
|
||||
'',
|
||||
'ab_chan_fill',
|
||||
'alluvial_fan',
|
||||
'beach',
|
||||
'cave',
|
||||
'chan_bar',
|
||||
'channel',
|
||||
'crev_splay',
|
||||
'deep_lake',
|
||||
'dry_floodplain',
|
||||
'dune',
|
||||
'estuary',
|
||||
'fissure',
|
||||
'floodplain',
|
||||
'interdist_bay',
|
||||
'interdune',
|
||||
'interfluv',
|
||||
'lagoon',
|
||||
'lake_margin',
|
||||
'levee',
|
||||
'loess',
|
||||
'offshore',
|
||||
'overbank',
|
||||
'paleosol',
|
||||
'raised_bog',
|
||||
'shallow_lake',
|
||||
'sinkhole',
|
||||
'spring',
|
||||
'swamp',
|
||||
'wet_floodplain',
|
||||
]
|
||||
]
|
||||
|
||||
const circumstanceOptions = [
|
||||
'',
|
||||
'airfall',
|
||||
'amber',
|
||||
'burrow',
|
||||
'coprolite',
|
||||
'explosion',
|
||||
'flood',
|
||||
'midden',
|
||||
'mudflow',
|
||||
'paleosol',
|
||||
'storm',
|
||||
'tar',
|
||||
'tree_trunk',
|
||||
]
|
||||
const specificOptions = [
|
||||
'',
|
||||
'ab_chan_fill',
|
||||
'alluvial_fan',
|
||||
'beach',
|
||||
'cave',
|
||||
'chan_bar',
|
||||
'channel',
|
||||
'crev_splay',
|
||||
'deep_lake',
|
||||
'dry_floodplain',
|
||||
'dune',
|
||||
'estuary',
|
||||
'fissure',
|
||||
'floodplain',
|
||||
'interdist_bay',
|
||||
'interdune',
|
||||
'interfluv',
|
||||
'lagoon',
|
||||
'lake_margin',
|
||||
'levee',
|
||||
'loess',
|
||||
'offshore',
|
||||
'overbank',
|
||||
'paleosol',
|
||||
'raised_bog',
|
||||
'shallow_lake',
|
||||
'sinkhole',
|
||||
'spring',
|
||||
'swamp',
|
||||
'wet_floodplain',
|
||||
]
|
||||
|
||||
const depoContext1Options = [
|
||||
'',
|
||||
{ display: 'FC: Floodplain Channel', value: 'FC' },
|
||||
{ display: 'FP: Floodplain', value: 'FP' },
|
||||
{ display: 'FL: Float', value: 'FL' },
|
||||
{ display: 'MC: Major Channel', value: 'MC' },
|
||||
{ display: 'SD: Sheet Deposit', value: 'SD' },
|
||||
'multiple',
|
||||
'unknown', ]
|
||||
const circumstanceOptions = [
|
||||
'',
|
||||
'airfall',
|
||||
'amber',
|
||||
'burrow',
|
||||
'coprolite',
|
||||
'explosion',
|
||||
'flood',
|
||||
'midden',
|
||||
'mudflow',
|
||||
'paleosol',
|
||||
'storm',
|
||||
'tar',
|
||||
'tree_trunk',
|
||||
]
|
||||
|
||||
const depoContext1Options = [
|
||||
'',
|
||||
{ display: 'FC: Floodplain Channel', value: 'FC' },
|
||||
{ display: 'FP: Floodplain', value: 'FP' },
|
||||
{ display: 'FL: Float', value: 'FL' },
|
||||
{ display: 'MC: Major Channel', value: 'MC' },
|
||||
{ display: 'SD: Sheet Deposit', value: 'SD' },
|
||||
'multiple',
|
||||
'unknown',
|
||||
]
|
||||
|
||||
const depoContext2Options = [
|
||||
'',
|
||||
{ display: 'FC-C: Complex Fill', value: 'FC-C' },
|
||||
{ display: 'FC-S: Simple Fill', value: 'FC-S' },
|
||||
{ display: 'FP-C: Continuous', value: 'FP-C' },
|
||||
{ display: 'FP-L: Laminated', value: 'FP-L' },
|
||||
{ display: 'FP-P: Patchy', value: 'FP-P' },
|
||||
{ display: 'MC-L: Lower', value: 'MC-L' },
|
||||
{ display: 'MC-U: Upper', value: 'MC-U' },
|
||||
{ display: 'Display value', value: 'actualvalue' },
|
||||
'multiple',
|
||||
]
|
||||
|
||||
const depoContext3Options = [
|
||||
'',
|
||||
{ display: 'FC-C1: Basal Lag and Bar', value: 'FC-C1' },
|
||||
{ display: 'FC-C2: Cross-cutting Lenses', value: 'FC-C2' },
|
||||
{ display: 'FC-S1: Basal Lag and Bar', value: 'FC-S1' },
|
||||
{ display: 'FC-S2: Mixed Lithologies', value: 'FC-S2' },
|
||||
{ display: 'FC-S3: Fine-grained', value: 'FC-S3' },
|
||||
{ display: 'MC-U1: Channel Bar', value: 'MC-U1' },
|
||||
{ display: 'MC-U2: Large-scale Channel Fill', value: 'MC-U2' },
|
||||
{ display: 'MC-U3: Small-scale Channel Fill', value: 'MC-U3' },
|
||||
'multiple',
|
||||
]
|
||||
|
||||
const depoContext4Options = [
|
||||
'',
|
||||
{ display: 'MC-U2a: Coarse-grained', value: 'MC-U2a' },
|
||||
{ display: 'MC-U2b: Fine-grained', value: 'MC-U2b' },
|
||||
{ display: 'MC-U3a: Coarse-grained', value: 'MC-U3a' },
|
||||
{ display: 'MC-U3b: Fine-grained', value: 'MC-U3b' },
|
||||
'multiple',
|
||||
]
|
||||
|
||||
const depoContext2Options = [
|
||||
'',
|
||||
{ display: 'FC-C: Complex Fill', value: 'FC-C' },
|
||||
{ display: 'FC-S: Simple Fill', value: 'FC-S' },
|
||||
{ display: 'FP-C: Continuous', value: 'FP-C' },
|
||||
{ display: 'FP-L: Laminated', value: 'FP-L' },
|
||||
{ display: 'FP-P: Patchy', value: 'FP-P' },
|
||||
{ display: 'MC-L: Lower', value: 'MC-L' },
|
||||
{ display: 'MC-U: Upper', value: 'MC-U' },
|
||||
{ display: 'Display value', value: 'actualvalue' },
|
||||
'multiple'
|
||||
]
|
||||
|
||||
const depoContext3Options = [
|
||||
'',
|
||||
{ display: 'FC-C1: Basal Lag and Bar', value: 'FC-C1' },
|
||||
{ display: 'FC-C2: Cross-cutting Lenses', value: 'FC-C2' },
|
||||
{ display: 'FC-S1: Basal Lag and Bar', value: 'FC-S1' },
|
||||
{ display: 'FC-S2: Mixed Lithologies', value: 'FC-S2' },
|
||||
{ display: 'FC-S3: Fine-grained', value: 'FC-S3' },
|
||||
{ display: 'MC-U1: Channel Bar', value: 'MC-U1' },
|
||||
{ display: 'MC-U2: Large-scale Channel Fill', value: 'MC-U2' },
|
||||
{ display: 'MC-U3: Small-scale Channel Fill', value: 'MC-U3' },
|
||||
'multiple',
|
||||
]
|
||||
|
||||
const depoContext4Options = [
|
||||
'',
|
||||
{ display: 'MC-U2a: Coarse-grained', value: 'MC-U2a' },
|
||||
{ display: 'MC-U2b: Fine-grained', value: 'MC-U2b' },
|
||||
{ display: 'MC-U3a: Coarse-grained', value: 'MC-U3a' },
|
||||
{ display: 'MC-U3b: Fine-grained', value: 'MC-U3b' },
|
||||
'multiple',
|
||||
]
|
||||
|
||||
const lithology = [
|
||||
['Rock Type', dropdown('rock_type', rockTypeOptions, 'Rock Type')],
|
||||
['Short Descriptor', textField('rt_adj')],
|
||||
['Comments', textField('lith_comm')],
|
||||
]
|
||||
|
||||
const sedimentryEnvironment = [
|
||||
const sedimentryEnvironment = [
|
||||
['General', dropdown('sed_env_1', generalOptions, 'General')],
|
||||
['Specific', dropdown('sed_env_2', specificOptions, 'Specific')],
|
||||
['GeneralEvent / Circumstance', dropdown('event_circum', circumstanceOptions, 'Event / Circumstance')],
|
||||
['Comments', textField('se_comm')],
|
||||
]
|
||||
|
||||
const depositionalContext = [
|
||||
const depositionalContext = [
|
||||
['Depo Context 1', dropdown('depo_context1', depoContext1Options, 'Depo Context 1')],
|
||||
['Depo Context 2', dropdown('depo_context2', depoContext2Options, 'Depo Context 2')],
|
||||
['Depo Context 3', dropdown('depo_context3', depoContext3Options, 'Depo Context 3')],
|
||||
|
||||
@@ -0,0 +1,135 @@
|
||||
import { Box } from '@mui/material'
|
||||
import { LocalityDetails } from '@/backendTypes'
|
||||
import { ArrayFrame } from '../../DetailView/common/FormComponents'
|
||||
import { useDetailContext } from '@/components/DetailView/hooks'
|
||||
|
||||
export const TaphonomyTab = () => {
|
||||
const { textField } = useDetailContext<LocalityDetails>()
|
||||
const { dropdown } = useDetailContext<LocalityDetails>()
|
||||
|
||||
const assemblageFormationOptions = [
|
||||
'',
|
||||
{ display: 'Attritional', value: 'attritional' },
|
||||
{ display: 'Bone collecting vertebrate', value: 'bone_collctr' },
|
||||
{ display: 'Carnivore ingestion', value: 'carn_ingest' },
|
||||
{ display: 'Herbivore accumulation', value: 'herb_accum' },
|
||||
{ display: 'Isolated death', value: 'isol_death' },
|
||||
{ display: 'Mass death', value: 'mass_death' },
|
||||
]
|
||||
|
||||
const transportOptions = [
|
||||
'',
|
||||
{ display: 'Highly transported', value: 'high_trans' },
|
||||
{ display: 'All three', value: 'high_trans_winn' },
|
||||
{ display: 'Transported', value: 'trans' },
|
||||
{ display: 'Transported and winnowed', value: 'trans_winn' },
|
||||
{ display: 'Untransported', value: 'untrans' },
|
||||
{ display: 'Untransported and winnowed', value: 'untrans_winn' },
|
||||
]
|
||||
|
||||
const abrasionOptions = [
|
||||
'',
|
||||
{ display: 'Abraded', value: 'abraded' },
|
||||
{ display: 'Mixed', value: 'mixed_abr' },
|
||||
{ display: 'Unabraded', value: 'unabrade' },
|
||||
]
|
||||
|
||||
const weatheringTramplingOptions = [
|
||||
'',
|
||||
{ display: 'Mixed weathered and unweathered', value: 'mx' },
|
||||
{ display: 'Mixed weathered and trampled', value: 'mx_trmp' },
|
||||
{ display: 'Trampled', value: 'trmp' },
|
||||
{ display: 'Unweathered', value: 'unwe' },
|
||||
{ display: 'Unweathered and trampled', value: 'unwe_trmp' },
|
||||
{ display: 'Weathered', value: 'we' },
|
||||
{ display: 'Weathered and trampled', value: 'we_trmp' },
|
||||
]
|
||||
|
||||
const partConcentrationOptions = [
|
||||
'',
|
||||
'1-10/m2',
|
||||
'10-100/m2',
|
||||
'100-1000/m2',
|
||||
'>1000/m2',
|
||||
'<1/100m2',
|
||||
'1-10/100m2',
|
||||
'1-10/m3',
|
||||
'10-100/m3',
|
||||
'100-1000/m3',
|
||||
'1000-10000/m3',
|
||||
'>10000/m3',
|
||||
'<1/100m3',
|
||||
'1-10/100m3',
|
||||
'<10^2/cm3',
|
||||
'10^2-10^3/cm3',
|
||||
'10^3-10^4/cm3',
|
||||
'10^4-10^5/cm3',
|
||||
'10^5-10^6/cm3',
|
||||
'>10^6/cm3',
|
||||
{ display: 'Isolated occurrence', value: 'isol_occur' },
|
||||
]
|
||||
|
||||
const assemblageComponentSizeOptions = ['', 'both', 'macro', 'micro']
|
||||
|
||||
const timeRepresentedOptions = [
|
||||
'',
|
||||
'<1',
|
||||
'1-10^1',
|
||||
'10^1-10^2',
|
||||
'10^2-10^3',
|
||||
'10^3-10^4',
|
||||
'10^4-10^5',
|
||||
'10^5-10^6',
|
||||
'>10^6',
|
||||
]
|
||||
|
||||
const vertebratePreservationOptions = [
|
||||
'',
|
||||
'artic_pts',
|
||||
'assoc_pts',
|
||||
'compression',
|
||||
'delic_frags',
|
||||
'disartic_pts',
|
||||
'isol_teeth',
|
||||
'mixed_assem',
|
||||
'not_known',
|
||||
]
|
||||
|
||||
const unbiasedCollectingOptions = [
|
||||
'',
|
||||
{ display: 'Yes', value: 'y' },
|
||||
{ display: 'No', value: 'n' },
|
||||
]
|
||||
|
||||
const speciesListCompleteOptions = [
|
||||
'',
|
||||
{ display: 'Yes', value: 'y' },
|
||||
{ display: 'No', value: 'n' },
|
||||
]
|
||||
|
||||
const fossilAssemblage = [
|
||||
['Assemblage Formation', dropdown('assem_fm', timeRepresentedOptions, 'Assemblage Formation')],
|
||||
['Transport', dropdown('transport', transportOptions, 'Transport')],
|
||||
['Abrasion', dropdown('trans_mod', abrasionOptions, 'Abrasion')],
|
||||
['Weathering / Trampling', dropdown('weath_trmp', weatheringTramplingOptions, 'Weathering / Trampling')],
|
||||
['Part Concentration', dropdown('pt_conc', partConcentrationOptions, 'Part Concentration')],
|
||||
['Assemblage Component Size', dropdown('size_type', assemblageComponentSizeOptions, 'Assemblage Component Size')],
|
||||
]
|
||||
|
||||
const taphonomy = [
|
||||
['Time Represented (years)', dropdown('time_rep', timeRepresentedOptions, 'Time Represented (years)')],
|
||||
['Vertebrate Preservation', dropdown('vert_pres', vertebratePreservationOptions, 'Vertebrate Preservation')],
|
||||
['Approx. Number of Specimens', textField('appr_num_spm')],
|
||||
['Exact Number of Specimens', textField('num_spm')],
|
||||
['Number of Quadrats', textField('num_quad')],
|
||||
['Unbiased Collecting', dropdown('true_quant', unbiasedCollectingOptions, 'Unbiased Collecting')],
|
||||
['Species List Complete', dropdown('complete', speciesListCompleteOptions, 'Species List Complete')],
|
||||
]
|
||||
|
||||
return (
|
||||
<Box>
|
||||
<ArrayFrame array={fossilAssemblage} title="Fossil Assemblage" />
|
||||
<ArrayFrame array={taphonomy} title="Taphonomy" />
|
||||
</Box>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user