diff --git a/frontend/components/SpeczCatalogs.js b/frontend/components/SpeczCatalogs.js
new file mode 100644
index 0000000..84af50e
--- /dev/null
+++ b/frontend/components/SpeczCatalogs.js
@@ -0,0 +1,39 @@
+import * as React from 'react'
+import Box from '@mui/material/Box'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardMedia from '@mui/material/CardMedia'
+import Typography from '@mui/material/Typography'
+import Link from '../components/Link'
+
+function SpeczCatalogs() {
+ return (
+
+
+
+
+
+ Combine Spec-z Catalogs
+
+ Creates a single spec-z sample from the multiple spatial
+ cross-matching (all-to-all) of a list of pre-registered individual
+ Spec-z Catalogs.
+
+
+
+
+
+ )
+}
+
+export default SpeczCatalogs
diff --git a/frontend/components/SpeczData.js b/frontend/components/SpeczData.js
new file mode 100644
index 0000000..9a23f24
--- /dev/null
+++ b/frontend/components/SpeczData.js
@@ -0,0 +1,86 @@
+import { DataGrid } from '@mui/x-data-grid'
+import moment from 'moment'
+import { Box } from '@mui/material'
+import PropTypes from 'prop-types'
+
+const columns = [
+ {
+ field: 'display_name',
+ headerName: 'Name',
+ sortable: true,
+ flex: 1
+ },
+ {
+ field: 'uploaded_by',
+ headerName: 'Uploaded By',
+ flex: 1,
+ sortable: false
+ },
+ {
+ field: 'created_at',
+ headerName: 'Created at',
+ sortable: true,
+ width: 200,
+ valueFormatter: params => {
+ if (!params.value) {
+ return ''
+ }
+ return moment(params.value).format('YYYY-MM-DD')
+ }
+ }
+]
+
+function DataTable({ rows }) {
+ return (
+
+ row.id}
+ pageSizeOptions={[5, 10]}
+ checkboxSelection
+ />
+
+ )
+}
+
+DataTable.propTypes = {
+ rows: PropTypes.arrayOf(PropTypes.object).isRequired
+}
+
+const rows = [
+ {
+ id: 1,
+ display_name: 'Jandson 1',
+ uploaded_by: 'User1',
+ created_at: '2023-01-01'
+ },
+ {
+ id: 2,
+ display_name: 'Jandson 2',
+ uploaded_by: 'User2',
+ created_at: '2023-02-15'
+ },
+ {
+ id: 3,
+ display_name: 'Jandson 3',
+ uploaded_by: 'User3',
+ created_at: '2023-03-22'
+ },
+ {
+ id: 4,
+ display_name: 'Jandson V',
+ uploaded_by: 'User1',
+ created_at: '2023-04-10'
+ },
+ {
+ id: 5,
+ display_name: 'Jandson Try',
+ uploaded_by: 'User2',
+ created_at: '2023-05-05'
+ }
+]
+
+export default function App() {
+ return
+}
diff --git a/frontend/components/TrainingSetMaker.js b/frontend/components/TrainingSetMaker.js
new file mode 100644
index 0000000..8524887
--- /dev/null
+++ b/frontend/components/TrainingSetMaker.js
@@ -0,0 +1,39 @@
+import * as React from 'react'
+import Box from '@mui/material/Box'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardMedia from '@mui/material/CardMedia'
+import Typography from '@mui/material/Typography'
+import Link from '../components/Link'
+
+function TrainingSetMaker() {
+ return (
+
+
+
+
+
+ Training Set Maker
+
+ Creates a training set from the spatial cross-matching of a given
+ Spec-z Catalog and the LSST Objects Catalogs.
+
+
+
+
+
+ )
+}
+
+export default TrainingSetMaker
diff --git a/frontend/components/TsmData.js b/frontend/components/TsmData.js
new file mode 100644
index 0000000..eceffca
--- /dev/null
+++ b/frontend/components/TsmData.js
@@ -0,0 +1,85 @@
+import { DataGrid } from '@mui/x-data-grid'
+import moment from 'moment'
+import { Box } from '@mui/material'
+import PropTypes from 'prop-types'
+
+const columns = [
+ {
+ field: 'display_name',
+ headerName: 'Name',
+ sortable: true,
+ flex: 1
+ },
+ {
+ field: 'uploaded_by',
+ headerName: 'Uploaded By',
+ flex: 1,
+ sortable: false
+ },
+ {
+ field: 'created_at',
+ headerName: 'Created at',
+ sortable: true,
+ width: 200,
+ valueFormatter: params => {
+ if (!params.value) {
+ return ''
+ }
+ return moment(params.value).format('YYYY-MM-DD')
+ }
+ }
+]
+
+function DataTable({ rows }) {
+ return (
+
+ row.id}
+ pageSizeOptions={[5, 10]}
+ />
+
+ )
+}
+
+DataTable.propTypes = {
+ rows: PropTypes.arrayOf(PropTypes.object).isRequired
+}
+
+const rows = [
+ {
+ id: 1,
+ display_name: 'Jandson 1',
+ uploaded_by: 'User1',
+ created_at: '2023-01-01'
+ },
+ {
+ id: 2,
+ display_name: 'Jandson 2',
+ uploaded_by: 'User2',
+ created_at: '2023-02-15'
+ },
+ {
+ id: 3,
+ display_name: 'Jandson 3',
+ uploaded_by: 'User3',
+ created_at: '2023-03-22'
+ },
+ {
+ id: 4,
+ display_name: 'Jandson V',
+ uploaded_by: 'User1',
+ created_at: '2023-04-10'
+ },
+ {
+ id: 5,
+ display_name: 'Jandson Try',
+ uploaded_by: 'User2',
+ created_at: '2023-05-05'
+ }
+]
+
+export default function App() {
+ return
+}
diff --git a/frontend/pages/_app.js b/frontend/pages/_app.js
index 58bfd92..d2265d1 100644
--- a/frontend/pages/_app.js
+++ b/frontend/pages/_app.js
@@ -31,7 +31,10 @@ export default function MyApp(props) {
const light = createTheme({
palette: {
- mode: 'light'
+ mode: 'light',
+ background: {
+ default: '#f1f1f1'
+ }
}
})
diff --git a/frontend/pages/index.js b/frontend/pages/index.js
index 7cb7f49..ce42ae8 100644
--- a/frontend/pages/index.js
+++ b/frontend/pages/index.js
@@ -33,7 +33,7 @@ export default function Index() {
path: '/pz_pipelines',
background: '/interfaces/gamma-ray-burst.jpg',
description:
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit dolor sit amet.'
+ 'Pipelines to create customized science-driven PZ-related data products.'
}
]
diff --git a/frontend/pages/pz_pipelines.js b/frontend/pages/pz_pipelines.js
index 32d7478..696aa73 100644
--- a/frontend/pages/pz_pipelines.js
+++ b/frontend/pages/pz_pipelines.js
@@ -1,15 +1,29 @@
-import { Typography } from '@mui/material'
-import * as React from 'react'
-import useStyles from '../styles/pages/pz_pipelines'
-
-export default function PZPipelines() {
- const classes = useStyles()
+import React from 'react'
+import { Grid, Typography } from '@mui/material'
+import SpeczCatalogs from '../components/SpeczCatalogs'
+import TrainingSetMaker from '../components/TrainingSetMaker'
+function PZPipelines() {
return (
-
-
- Coming Soon...
+
+
+ Photo-z Server Pipelines
-
+
+
+
+
+
+
+
+
)
}
+
+export default PZPipelines
diff --git a/frontend/pages/specz_catalogs.js b/frontend/pages/specz_catalogs.js
new file mode 100644
index 0000000..3cdac39
--- /dev/null
+++ b/frontend/pages/specz_catalogs.js
@@ -0,0 +1,12 @@
+import React from 'react'
+import { Typography, Box } from '@mui/material'
+
+function SpeczCatalogs() {
+ return (
+
+ Coming soon...
+
+ )
+}
+
+export default SpeczCatalogs
diff --git a/frontend/pages/training_set_maker.js b/frontend/pages/training_set_maker.js
new file mode 100644
index 0000000..30fabef
--- /dev/null
+++ b/frontend/pages/training_set_maker.js
@@ -0,0 +1,12 @@
+import React from 'react'
+import { Typography, Box } from '@mui/material'
+
+function TrainingSetMaker() {
+ return (
+
+ Coming soon...
+
+ )
+}
+
+export default TrainingSetMaker
diff --git a/frontend/public/interfaces/banner_lsst_summit.jpg b/frontend/public/interfaces/banner_lsst_summit.jpg
new file mode 100644
index 0000000..59d32ff
Binary files /dev/null and b/frontend/public/interfaces/banner_lsst_summit.jpg differ
diff --git a/frontend/public/interfaces/lsst_summit.jpg b/frontend/public/interfaces/lsst_summit.jpg
new file mode 100644
index 0000000..94213a6
Binary files /dev/null and b/frontend/public/interfaces/lsst_summit.jpg differ
diff --git a/frontend/public/interfaces/milkyway.jpg b/frontend/public/interfaces/milkyway.jpg
new file mode 100644
index 0000000..d0f031d
Binary files /dev/null and b/frontend/public/interfaces/milkyway.jpg differ
diff --git a/frontend/public/interfaces/noirlab.jpg b/frontend/public/interfaces/noirlab.jpg
new file mode 100644
index 0000000..6c34c7a
Binary files /dev/null and b/frontend/public/interfaces/noirlab.jpg differ
diff --git a/frontend/styles/pages/pz_pipelines.js b/frontend/styles/pages/pz_pipelines.js
index ff05157..73344e9 100644
--- a/frontend/styles/pages/pz_pipelines.js
+++ b/frontend/styles/pages/pz_pipelines.js
@@ -1,18 +1,59 @@
import { makeStyles } from '@mui/styles'
const useStyles = makeStyles(theme => ({
- container: {
+ root: {
+ display: 'flex',
+ flexDirection: 'column',
+ height: '100%'
+ },
+ pipelinesContainer: {
+ gap: 16,
+
+ [theme.breakpoints.down('sm')]: {
+ margin: 16
+ }
+ },
+ main: {
+ position: 'relative',
+ zIndex: 2,
display: 'flex',
- justifyContent: 'center',
alignItems: 'center',
- // minHeight: '100vh',
+ height: '100%',
+ padding: '20px 0'
+ },
+ titleItem: {
+ fontFamily: 'Oxanium',
+ fontSize: '1.5em',
+ paddingTop: '0.5em',
+ color: 'white',
+ textShadow: '0.1em 0.1em 0.1em black',
+ background: 'rgba(100, 100, 100, 0.5)',
+ textDecoration: 'none',
+ textAlign: 'center'
},
- content: {
- textAlign: 'center',
+ ItemDescription: {
+ fontFamily: 'Oxanium',
+ fontSize: '1em',
+ paddingLeft: '1em',
+ color: 'white',
+ textShadow: '0.1em 0.1em 0.1em black',
+ position: 'absolute',
+ bottom: '1em',
+ background: 'rgba(0, 0, 0, 0.6)'
},
- message: {
- color: theme.palette.text.secondary,
+ media: {
+ minHeight: 260,
+ [theme.breakpoints.down('xl')]: {
+ minHeight: 200
+ }
},
+
+ gridApplicationLg: {
+ [theme.breakpoints.up('lg')]: {
+ width: '80%',
+ maxWidth: '80%'
+ }
+ }
}))
export default useStyles
diff --git a/frontend/styles/pages/specz_catalogs.js b/frontend/styles/pages/specz_catalogs.js
new file mode 100644
index 0000000..ec09269
--- /dev/null
+++ b/frontend/styles/pages/specz_catalogs.js
@@ -0,0 +1,7 @@
+import { makeStyles } from '@mui/styles'
+
+const useStyles = makeStyles((theme) => ({
+
+}))
+
+export default useStyles
diff --git a/frontend/styles/pages/training_set_maker.js b/frontend/styles/pages/training_set_maker.js
new file mode 100644
index 0000000..a830640
--- /dev/null
+++ b/frontend/styles/pages/training_set_maker.js
@@ -0,0 +1,7 @@
+import { makeStyles } from '@mui/styles'
+
+const useStyles = makeStyles(theme => ({
+
+}))
+
+export default useStyles
diff --git a/frontend/styles/pages/tutorials.js b/frontend/styles/pages/tutorials.js
index b6a9176..3a215f1 100644
--- a/frontend/styles/pages/tutorials.js
+++ b/frontend/styles/pages/tutorials.js
@@ -1,4 +1,3 @@
-import { TheaterComedy } from '@mui/icons-material'
import { makeStyles } from '@mui/styles'
const useStyles = makeStyles(theme => ({
@@ -12,8 +11,6 @@ const useStyles = makeStyles(theme => ({
margin: 0,
borderRadius: '2px',
overflowX: 'auto',
- // background: theme.palette.grey[400],
- // color: theme.palette.text.primary
background: theme.palette.mode === 'light' ? theme.palette.grey[200] : theme.palette.grey[700]
}
}))
diff --git a/frontend/themes/light.js b/frontend/themes/light.js
index 69bd7e5..91b69b9 100644
--- a/frontend/themes/light.js
+++ b/frontend/themes/light.js
@@ -6,8 +6,6 @@ const light = createTheme({
light: '#4f5964',
main: '#283663',
dark: '#24292e'
- // dark: '#283663',
- // main: '#24292e'
},
secondary: {
main: '#ffdd00'
@@ -19,18 +17,13 @@ const light = createTheme({
main: '#ca2c0c'
},
background: {
- default: '#f8f6f5'
+ default: '#f5f5f5'
},
text: {
primary: 'rgba(18,48,78,0.87)',
secondary: 'rgba(18,48,78,0.6)',
disabled: 'rgba(18,48,78,0.38)'
}
- // text: {
- // primary: 'rgb(52, 71, 103)',
- // secondary: 'rgb(52, 71, 103, 0.6)',
- // disabled: 'rgb(52, 71, 103, 0.38)'
- // }
}
})