{name}
@@ -235,7 +236,7 @@ export function Collection({
)}
-
+
-
({
- color: theme.palette.text.disabled,
+ color: theme.palette.background.hover,
+ padding: '0.25rem 0.75rem',
+ flexGrow: 1,
+ border: 'dashed 1px',
+ borderColor: theme.palette.background.hover,
+ borderRadius: theme.shape.borderRadius + 'px',
})}
>
- Drag genes here
+ Drag genes to reorder them
)}
diff --git a/Eplant/UI/LeftNav/GeneSearch/index.tsx b/Eplant/UI/LeftNav/GeneSearch/index.tsx
index 0e2ad510..2e433743 100644
--- a/Eplant/UI/LeftNav/GeneSearch/index.tsx
+++ b/Eplant/UI/LeftNav/GeneSearch/index.tsx
@@ -43,7 +43,7 @@ export function SearchGroup({
onChange={(e) =>
setSpecies(speciesList.find((s) => s.name == e.target.value))
}
- label="Species"
+ // label="Species"
variant="standard"
inputProps={{
sx: {
@@ -60,7 +60,7 @@ export function SearchGroup({
))}
Example ABI3 or AT5G60200,
diff --git a/Eplant/UI/LeftNav/index.tsx b/Eplant/UI/LeftNav/index.tsx
index 94a15a3e..848acbbd 100644
--- a/Eplant/UI/LeftNav/index.tsx
+++ b/Eplant/UI/LeftNav/index.tsx
@@ -30,7 +30,7 @@ export function LeftNav(props: {
if (uniq.length != geneticElements.length) setGeneticElements(uniq)
}, [geneticElements])
return (
-
+
{
@@ -66,7 +66,7 @@ export function LeftNav(props: {
checked={darkMode}
/>
}
- label="Dark Mode"
+ label="Dark mode"
/>
diff --git a/Eplant/UI/Logo.tsx b/Eplant/UI/Logo.tsx
index 1360ee4b..38c69497 100644
--- a/Eplant/UI/Logo.tsx
+++ b/Eplant/UI/Logo.tsx
@@ -13,8 +13,8 @@ export function Logo(props: SVGProps) {
diff --git a/Eplant/View/viewData.ts b/Eplant/View/viewData.ts
index 948ede94..25d1e62f 100644
--- a/Eplant/View/viewData.ts
+++ b/Eplant/View/viewData.ts
@@ -87,6 +87,7 @@ export function useViewData(
const id = (view?.id ?? 'generic-view') + '-' + useViewID()
const [viewData, setViewData] = useAtom(getViewAtom(key))
const [viewState, setViewState] = useAtom(getViewStateAtom(id))
+ // console.log(viewData)
// If there is no cached viewData then load it using the view's loader
React.useEffect(() => {
diff --git a/Eplant/main.tsx b/Eplant/main.tsx
index 19ea1b45..9e858f83 100644
--- a/Eplant/main.tsx
+++ b/Eplant/main.tsx
@@ -25,7 +25,6 @@ const genericViews = [GetStartedView, FallbackView]
// List of views that a user can select from
// Can contain views from the genericViews list too
const userViews = [
- GetStartedView,
GeneInfoView,
PublicationViewer,
DebugView,
@@ -68,7 +67,7 @@ const registerServiceWorker = async () => {
if ('serviceWorker' in navigator) {
try {
const registration = await navigator.serviceWorker.register(
- import.meta.env.BASE_URL + '/sw.js',
+ import.meta.env.BASE_URL + '/sw.js'
)
if (registration.installing) {
console.log('Service worker installing')
diff --git a/Eplant/theme.tsx b/Eplant/theme.tsx
index 9fd13a7e..b8cab8a2 100644
--- a/Eplant/theme.tsx
+++ b/Eplant/theme.tsx
@@ -71,9 +71,9 @@ export const dark = createTheme({
contrastText: '#fff',
},
background: {
- default: '#111111',
- paper: '#222222',
- paperOverlay: '#333333',
+ default: '#181818',
+ paper: '#1F1F1F',
+ paperOverlay: '#2C2C2C',
transparentOverlay: '#333333DD',
selected: '#333333',
active: '#3a3a3a',
diff --git a/Eplant/views/GeneInfoView/component.tsx b/Eplant/views/GeneInfoView/component.tsx
index 714dbd9d..8defeffb 100644
--- a/Eplant/views/GeneInfoView/component.tsx
+++ b/Eplant/views/GeneInfoView/component.tsx
@@ -299,21 +299,16 @@ function ViewSwitcher({ geneticElement }: { geneticElement: GeneticElement }) {
sx={{
display: 'flex',
flexDirection: 'column',
- gap: 3,
- background: (theme) => theme.palette.background.paperOverlay,
- border: '1px solid',
- borderRadius: 1,
- borderColor: (theme) => theme.palette.background.active,
- padding: 2,
+ gap: 2,
+ padding: 0,
position: 'relative',
- left: -16,
- top: -16,
+ top: -8,
overflow: 'hidden',
whiteSpace: 'nowrap',
}}
>
- Views available for this gene
+ Available views
{userViews.map((view) => (
({
background: theme.palette.background.paperOverlay,
- boxShadow: '0px 3px 6px rgb(0,0,0,0.25)',
+ border: '1px solid',
+ borderColor: theme.palette.background.selected,
+ boxShadow: '0px 4px 8px rgb(0,0,0,0.25)',
height: '100%',
+ marginRight: 1,
})}
>
- {view.name}
- {view.description}
+ {view.name}
+ theme.palette.secondary.main}
+ >
+ {view.description}
+
diff --git a/Eplant/views/GetStartedView/component.tsx b/Eplant/views/GetStartedView/component.tsx
index a8376369..85ab7133 100644
--- a/Eplant/views/GetStartedView/component.tsx
+++ b/Eplant/views/GetStartedView/component.tsx
@@ -11,7 +11,7 @@ export default function GetStartedView({
const theme = useTheme()
const { views } = useConfig()
return (
-
+
ePlant 3
@@ -20,15 +20,15 @@ export default function GetStartedView({
Start
-
+
Select a species
-
+
Enter a gene of interest
-
+
Use the view selector to navigate between views
@@ -37,7 +37,7 @@ export default function GetStartedView({
@@ -63,11 +63,11 @@ export default function GetStartedView({
.
-
+
{views.map((view) => {
if (view.description && view.thumbnail) {
return (
-
+
)
diff --git a/Eplant/views/PublicationViewer/index.tsx b/Eplant/views/PublicationViewer/index.tsx
index 619ef07f..f983e964 100644
--- a/Eplant/views/PublicationViewer/index.tsx
+++ b/Eplant/views/PublicationViewer/index.tsx
@@ -9,7 +9,7 @@ import Thumbnail from '../../../thumbnails/publication_viewer.png'
import { ViewDataError } from '@eplant/View/viewData'
const PublicationViewer: View = {
- name: 'Publication Viewer',
+ name: 'Publication viewer',
id: 'publication-viewer',
component({
geneticElement,
diff --git a/Eplant/views/eFP/Tooltips/EFPTooltip.tsx b/Eplant/views/eFP/Tooltips/EFPTooltip.tsx
index 9325ddcf..531eedda 100644
--- a/Eplant/views/eFP/Tooltips/EFPTooltip.tsx
+++ b/Eplant/views/eFP/Tooltips/EFPTooltip.tsx
@@ -31,6 +31,30 @@ export const setStroke = (
}
}
+function KeyValueRow(props: {
+ label: string,
+ value: string | number
+}) {
+
+ return
+ ({
+ color: theme.palette.text.secondary,
+ textAlign: 'left',
+ border: 'none',
+ })}
+ >
+ {props.label}
+
+ ({
+ color: theme.palette.text.primary,
+ textAlign: 'right',
+ border: 'none'
+ })}>{props.value}
+
+}
+
function SVGTooltip(props: {
el: SVGElement | null
group: EFPGroup
@@ -75,78 +99,19 @@ function SVGTooltip(props: {
>
-
-
- Sample name
-
- {props.tissue.name}
-
-
-
- Level
-
-
- {props.tissue.mean.toFixed(2)}±{props.tissue.std.toFixed(2)}
+
+
+ {props.tissue.name}
- {props.state.colorMode == 'relative' ? (
- <>
-
-
- Samples
-
- {props.tissue.samples}
-
-
-
- Log2 fold change vs control
-
-
- {Math.log2(
+
+
-
- >
- ) : (
- <>
-
-
- Samples
-
-
- {props.tissue.samples}
-
-
- >
- )}
+ ).toFixed(2)}/>
diff --git a/Eplant/views/eFP/Viewer/index.tsx b/Eplant/views/eFP/Viewer/index.tsx
index 4de4bbc1..f57037ad 100644
--- a/Eplant/views/eFP/Viewer/index.tsx
+++ b/Eplant/views/eFP/Viewer/index.tsx
@@ -17,6 +17,7 @@ import { EFPData } from '../types'
import Legend from './legend'
import NotSupported from '@eplant/UI/Layout/ViewNotSupported'
import Dropdown from '@eplant/UI/Dropdown'
+import { red } from '@mui/material/colors'
import GeneDistributionChart from './GeneDistributionChart'
import MaskModal from './MaskModal'
@@ -96,6 +97,7 @@ export const EFPListMemoized = function EFPList(props: EFPListProps) {
width={130}
style={{
zIndex: 10,
+ scrollbarWidth: 'none',
}}
itemData={props}
>
@@ -289,29 +291,24 @@ export default class EFPViewer
flexDirection: 'row',
alignItems: 'stretch',
justifyContent: 'stretch',
+ overflow: 'hidden',
}}
>
{/* Left column of EFP Previews */}
theme.palette.background.paperOverlay,
- border: '1px solid',
- borderRadius: 1,
- borderColor: (theme) => theme.palette.background.active,
- padding: 2,
+ padding: 0,
position: 'relative',
- left: -16,
- top: -16,
- overflow: 'hidden',
}}
>
- {/* Dropdown menus for selecting a view and sort options
-
- //TODO: Make the dropdown menus appear closer to the button, left aligned and with a max height */}
-
+ {/* Dropdown menus for selecting a view and sort options */}
+
(
+ {/* main canvas area */}
({
flexGrow: 1,
position: 'relative',
- }}
+ overflow: 'hidden',
+ background: theme.palette.background.paperOverlay,
+ border: `1px solid`,
+ borderColor: theme.palette.background.active,
+ borderRadius: theme.shape.borderRadius + 'px',
+ })}
>
{props.activeData.viewData[activeViewIndex].supported ? (
<>
@@ -397,7 +403,7 @@ export default class EFPViewer
sx={(theme) => ({
position: 'absolute',
left: theme.spacing(2),
- bottom: 0,
+ bottom: theme.spacing(2),
zIndex: 10,
})}
data={{
@@ -412,8 +418,8 @@ export default class EFPViewer
({
position: 'absolute',
- top: theme.spacing(4),
- left: theme.spacing(2),
+ top: theme.spacing(0),
+ left: theme.spacing(0),
width: '100%',
height: '100%',
zIndex: 0,
diff --git a/index.html b/index.html
index 4f53998e..ca175723 100644
--- a/index.html
+++ b/index.html
@@ -1,20 +1,30 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
Eplant
-
-
+
+
-
-
\ No newline at end of file
+
+