Skip to content

Commit

Permalink
feat(website): login menu button redirects back to current page
Browse files Browse the repository at this point in the history
  • Loading branch information
corneliusroemer committed Feb 26, 2024
1 parent 922e5a4 commit 01016a0
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 12 deletions.
6 changes: 5 additions & 1 deletion website/src/components/Navigation/Navigation.astro
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,18 @@
import { SandwichMenu } from './SandwichMenu.tsx';
import { cleanOrganism } from './cleanOrganism';
import { navigationItems } from '../../routes';
import { getAuthUrl } from '../../middleware/authMiddleware';

Check failure on line 5 in website/src/components/Navigation/Navigation.astro

View workflow job for this annotation

GitHub Actions / Check format

`../../middleware/authMiddleware` import should occur before import of `../../routes`
const { organism, knownOrganisms } = cleanOrganism(Astro.params.organism);
const isLoggedIn = Astro.locals.session.isLoggedIn;
const loginUrl = await getAuthUrl(Astro.url.toString());
---

<div class='flex justify-end'>
<div class='subtitle hidden sm:flex sm:z-6 gap-4'>
{navigationItems.top(organism?.key, isLoggedIn).map(({ text, path }) => <a href={path}>{text}</a>)}
{navigationItems.top(organism?.key, isLoggedIn, loginUrl).map(({ text, path }) => <a href={path}>{text}</a>)}
</div>

<div class='sm:hidden fixed z-0'>
Expand All @@ -20,6 +23,7 @@ const isLoggedIn = Astro.locals.session.isLoggedIn;
organism={organism}
knownOrganisms={knownOrganisms}
isLoggedIn={isLoggedIn}
loginUrl={loginUrl}
client:load
/>
</div>
Expand Down
5 changes: 3 additions & 2 deletions website/src/components/Navigation/SandwichMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@ type SandwichMenuProps = {
organism: Organism | undefined;
knownOrganisms: Organism[];
isLoggedIn: boolean;
loginUrl: string | undefined;
};

export const SandwichMenu: FC<SandwichMenuProps> = ({ top, right, organism, knownOrganisms, isLoggedIn }) => {
export const SandwichMenu: FC<SandwichMenuProps> = ({ top, right, organism, knownOrganisms, isLoggedIn, loginUrl }) => {
const { isOpen, toggle: toggleMenu, close: closeMenu } = useOffCanvas();

return (
Expand Down Expand Up @@ -49,7 +50,7 @@ export const SandwichMenu: FC<SandwichMenuProps> = ({ top, right, organism, know
path={routes.organismStartPage(organism.key)}
/>
))}
{navigationItems.top(organism?.key, isLoggedIn).map(({ text, path }) => (
{navigationItems.top(organism?.key, isLoggedIn, loginUrl).map(({ text, path }) => (
<OffCanvasNavItem key={path} text={text} level={1} path={path} />
))}
</div>
Expand Down
16 changes: 7 additions & 9 deletions website/src/routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ export const navigationItems = {
],
};

function topNavigationItems(organism: string | undefined, isLoggedIn: boolean) {
function topNavigationItems(organism: string | undefined, isLoggedIn: boolean, loginUrl: string | undefined) {
if (organism === undefined) {
return [
{
Expand All @@ -186,10 +186,9 @@ function topNavigationItems(organism: string | undefined, isLoggedIn: boolean) {
text: 'Submit',
path: routes.organismSelectorPage('submit'),
},
{
text: isLoggedIn ? 'My account' : 'Login',
path: routes.userOverviewPage(),
},
...(isLoggedIn
? [{ text: 'My account', path: routes.userOverviewPage() }]
: [{ text: 'Login', path: loginUrl! }]),
{
text: 'Datasets',
path: routes.datasetsPage(),
Expand All @@ -210,10 +209,9 @@ function topNavigationItems(organism: string | undefined, isLoggedIn: boolean) {
text: 'Revise',
path: routes.revisePage(organism),
},
{
text: isLoggedIn ? 'My account' : 'Login',
path: routes.userOverviewPage(organism),
},
...(isLoggedIn
? [{ text: 'My account', path: routes.userOverviewPage(organism) }]
: [{ text: 'Login', path: loginUrl! }]),
{
text: 'Datasets',
path: routes.datasetsPage(),
Expand Down

0 comments on commit 01016a0

Please sign in to comment.