Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(service-portal): new design #5784

Merged
merged 220 commits into from
Jan 7, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
220 commits
Select commit Hold shift + click to select a range
e31ec21
feat: add sidebar menu state
disaerna Nov 18, 2021
6147fd0
feat: sidebar fixed to left and
disaerna Nov 18, 2021
3b94ce4
refactor: heading and font sizes
disaerna Nov 18, 2021
0aa9690
refactor: make button smaller on greeting link
disaerna Nov 18, 2021
306ebf7
refactor: white background on mobile menu
disaerna Nov 18, 2021
1b6fbc3
feat: add xs size to datePicker, Input and Select CORE
disaerna Nov 18, 2021
2b69d14
feat: add sidebar as a variant option
disaerna Nov 18, 2021
dffcaf6
refactor: rearrange finance data
disaerna Nov 18, 2021
8eae727
refactor: add keywords to messages
disaerna Nov 18, 2021
e51357c
refactor: remove image from screens
disaerna Nov 18, 2021
f0eab54
refactor: move school tag
disaerna Nov 18, 2021
da92a2b
refactor: family screens
disaerna Nov 18, 2021
93b1c4a
fix: merge conflict - resolve messages
disaerna Nov 18, 2021
14a5004
refactor: use xs input in settings
disaerna Nov 18, 2021
5a400e8
refactor: make headings smaller in settings
disaerna Nov 18, 2021
1b68bf4
refactor: put search input in grid
disaerna Nov 18, 2021
382ce42
refactor: move title for student assessment tables
disaerna Nov 18, 2021
ce97c18
Merge branch 'main' into service-portal/new-design-sidebar
disaerna Nov 18, 2021
573b33a
refactor: sidebar positioned absolute instead of fixed
disaerna Nov 19, 2021
741b09c
Merge branch 'service-portal/new-design-main' into service-portal/new…
disaerna Nov 19, 2021
835ea75
fix: undo removing image from access control
disaerna Nov 19, 2021
eed8586
feat: add fullScreen prop to UserDropdown
disaerna Nov 19, 2021
9ad5f33
Merge branch 'service-portal/new-design-main' into service-portal/new…
disaerna Nov 19, 2021
55f07a8
Merge branch 'service-portal/new-design-sidebar' into service-portal/…
disaerna Nov 19, 2021
0372ace
fix: add logo back when on mobile
disaerna Nov 22, 2021
85f1727
refactor: toggle animation
disaerna Nov 22, 2021
6d44b0c
Merge branch 'service-portal/new-design-sidebar' into service-portal/…
disaerna Nov 22, 2021
2e38aa3
refactor: add transition to layout grid
disaerna Nov 22, 2021
a0eed54
refactor: speed up layoutgrid transition time
disaerna Nov 22, 2021
e088299
feat: new userMenu design
disaerna Nov 22, 2021
fa1bac0
Merge branch 'main' into service-portal/new-design-demo
disaerna Nov 22, 2021
192dab9
refactor: add close on userMenu click
disaerna Nov 23, 2021
7d32841
Merge branch 'main' into service-portal/new-design-demo
disaerna Nov 23, 2021
90e1063
fix: rollback changes on shared userMenu
disaerna Nov 24, 2021
7b2d88c
feat: design changes to mobilemenu
disaerna Nov 24, 2021
50a576f
feat: add new general error screen
disaerna Nov 24, 2021
d66eff6
refactor: more space for main content
disaerna Nov 24, 2021
46b07e6
refactor: cleanup
disaerna Nov 24, 2021
39e6eb4
Merge branch 'main' into service-portal/new-design-demo
disaerna Nov 24, 2021
f595020
feat: add lock icon to disabled nav items
disaerna Nov 24, 2021
18037b4
feat: add graphql function to get unreadDocumentsCount WIP
disaerna Nov 25, 2021
002377e
Merge branch 'main' into service-portal/new-design-demo
disaerna Nov 25, 2021
a89fbf1
feat: badge for unread mail + lock screen
disaerna Nov 26, 2021
cdc108e
refactor: make unread mail bold + smaller font
disaerna Nov 26, 2021
11e5d27
fix: lint warnings
disaerna Nov 26, 2021
cbf4343
refactor: cleanup
disaerna Nov 29, 2021
04490a8
fix: hide text on smaller screens on finance row
disaerna Nov 29, 2021
fbd2f9c
refactor: more cleanup
disaerna Nov 29, 2021
71dca9b
Merge branch 'main' into service-portal/new-design-demo
disaerna Nov 29, 2021
cc5b712
fix: build error on styleVariants
disaerna Nov 29, 2021
29ea65d
Merge branch 'main' into service-portal/new-design-demo
disaerna Nov 29, 2021
97d3c1d
fix: default value for unread documents
disaerna Nov 29, 2021
a73de27
fix: default value for unread documents counter
disaerna Nov 29, 2021
45d3ce3
Merge branch 'main' into service-portal/new-design-demo
disaerna Nov 29, 2021
a9a52cb
fix: remove sidebar variant from text ui core lib
disaerna Nov 29, 2021
12d0045
Merge branch 'main' into service-portal/new-design-demo
disaerna Nov 29, 2021
e7bfafd
Merge branch 'service-portal/new-design-demo' of github.com:island-is…
disaerna Nov 29, 2021
9fa3f2f
refactor: image on greeting screen
disaerna Nov 29, 2021
a869cd2
fix: bug after removing sidebar variant from text
disaerna Nov 29, 2021
8a025c6
Merge branch 'main' into service-portal/new-design-demo
disaerna Nov 29, 2021
20b1bb8
Merge branch 'main' into service-portal/new-design-demo
disaerna Nov 29, 2021
2bf699a
Merge branch 'main' into service-portal/new-design-demo
disaerna Nov 29, 2021
e4a793d
Merge branch 'main' into service-portal/new-design-demo
disaerna Nov 29, 2021
6ae247f
Merge branch 'service-portal/new-design-demo' of github.com:island-is…
disaerna Nov 29, 2021
c85cfa5
Merge branch 'main' into service-portal/new-design-demo
osk Nov 30, 2021
d91bd7e
Merge branch 'main' into service-portal/new-design-demo
disaerna Nov 30, 2021
fe4c639
Merge branch 'main' into service-portal/new-design-demo
disaerna Nov 30, 2021
5437090
fix: add back button "back to my pages"
disaerna Nov 30, 2021
0bf2efd
fix: sidebar stopping on scroll
disaerna Dec 1, 2021
730cb39
fix: userMenu should not be part of grid
disaerna Dec 1, 2021
eecca15
fix: small logo disappearing when sidebar collapses
disaerna Dec 1, 2021
73e7214
feat: headingVariant prop added to island-ui core ActionCard
disaerna Dec 1, 2021
109949c
refactor: assets overview
disaerna Dec 1, 2021
f0f8b05
fix: add bottom spacing to main content
disaerna Dec 1, 2021
6e2aef9
fix: remove header from assetsDetail
disaerna Dec 1, 2021
241e2ec
refactor: smaller font for assetDisclaimer
disaerna Dec 1, 2021
0cec9ca
Merge branch 'service-portal/new-design-demo' of github.com:island-is…
disaerna Dec 1, 2021
8224a79
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 1, 2021
1b54b59
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 1, 2021
e5c2f63
refactor: refactoring unused stuff
disaerna Dec 1, 2021
57baf01
refactor: cleanup grid in Layout
disaerna Dec 1, 2021
c147ceb
fix: revert fixing lint warnings
disaerna Dec 1, 2021
9034775
fix: remove activeIcon from masterNavigation
disaerna Dec 1, 2021
6441436
Merge branch 'service-portal/new-design-demo' of github.com:island-is…
disaerna Dec 1, 2021
fe33375
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 1, 2021
ca18cca
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 2, 2021
5c4cd5e
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 2, 2021
bc444f3
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 2, 2021
a7ac325
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 3, 2021
382f54e
fix: userMenu active state WIP
disaerna Dec 3, 2021
b25252c
fix: larger font on tables
disaerna Dec 3, 2021
c4daad0
fix: smaller heading + intro text on petitions
disaerna Dec 3, 2021
8723564
fix: hide family relation tags until fixed
disaerna Dec 3, 2021
9fd7d89
Merge branch 'service-portal/new-design-demo' of github.com:island-is…
disaerna Dec 3, 2021
330838a
fix: merge conflicts when pulling main ....
disaerna Dec 3, 2021
1e9faa5
fix: broken test on UserMenu
disaerna Dec 3, 2021
d772b72
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 8, 2021
3db89a3
refactor: finance status screen
disaerna Dec 8, 2021
3ada8c1
refactor: move data fetch for userDelegations to parent
disaerna Dec 8, 2021
4ab4859
fix: font weight on user info content
disaerna Dec 8, 2021
4dd216f
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 8, 2021
4d8429f
refactor: make headings h3 and add xs size variant for input
disaerna Dec 9, 2021
6567421
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 9, 2021
523739f
fix: build errors
disaerna Dec 9, 2021
2043ffe
fix: undefined error on e2e test
disaerna Dec 9, 2021
da91175
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 9, 2021
df05e42
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 9, 2021
8e8e390
fix: temp removal of e2e test
disaerna Dec 9, 2021
cfd60ed
fix: removal of kennitala function
disaerna Dec 10, 2021
41bab9d
fix: spacing on sidebar + removal of unused text
disaerna Dec 10, 2021
59249f1
refactor: sidebar nav items
disaerna Dec 10, 2021
12d6d6f
fix: uncomment e2e test bug
disaerna Dec 10, 2021
9a82306
fix: removal of company icon in user dropdown
disaerna Dec 10, 2021
a81f2d1
feat: add change lang button next to user menu
disaerna Dec 10, 2021
c927cb3
fix: add max-content to arrow Link to prevent breaking
disaerna Dec 10, 2021
5c1dddf
fix: switch profile and actor names on user dropdown
disaerna Dec 10, 2021
2cd1ce7
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 10, 2021
37f3955
refactor: make font color darker in sidebar
disaerna Dec 13, 2021
ef1d4c5
fix: wrong tag color on access denied
disaerna Dec 13, 2021
9fe1c91
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 13, 2021
34cc4f3
feat: new collapsed sidebar
disaerna Dec 14, 2021
f14cd85
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 14, 2021
d57f1f6
Merge branch 'service-portal/new-design-demo' of github.com:island-is…
disaerna Dec 14, 2021
fdc442b
feat: add lock icon to subnav + hide if parent is disabled
disaerna Dec 14, 2021
2ed53d5
fix: position of lock icons
disaerna Dec 14, 2021
e879ec1
Minor fixes
thordurhhh Dec 14, 2021
02e330c
fix: subitems +1 pixel ....
disaerna Dec 14, 2021
1bce620
refactor: xs for Datepicker components
disaerna Dec 14, 2021
b243fdc
refactor: xs for Input & InputController components
disaerna Dec 14, 2021
26e1991
refactor: xs for Select component
disaerna Dec 14, 2021
25b9b20
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 14, 2021
88f5bb2
Merge branch 'service-portal/new-design-demo' of github.com:island-is…
disaerna Dec 14, 2021
9626196
refactor: add text medium and force styling on table
disaerna Dec 15, 2021
d21fcb2
feat: add missing tag variant mint
disaerna Dec 15, 2021
cd9e2b0
feat: add stories for Action Card using small heading
disaerna Dec 15, 2021
4b39f14
feat: add stories for input
disaerna Dec 15, 2021
53ec900
feat: add stories to Select
disaerna Dec 15, 2021
dfaf634
feat: add stories for DatePicker
disaerna Dec 15, 2021
4d8289c
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 15, 2021
8a1bac5
refactor: cleanup
disaerna Dec 15, 2021
4b17eeb
refactor: test for switching languages
disaerna Dec 15, 2021
9e520d4
fix: add scroll on userDelegations
disaerna Dec 15, 2021
0c96c53
feat: add darkBlue color option for UserAvatar
disaerna Dec 15, 2021
7368eac
feat: add or edit alt on images
disaerna Dec 15, 2021
8cb5c61
refactor: remove {} wrapping when using string values
disaerna Dec 15, 2021
cc2311f
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 15, 2021
3e349f0
refactor: grid layout in SP layout
disaerna Dec 16, 2021
83caf34
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 16, 2021
1409e0a
fix: hopefully fixing buggy hover on sidebar
disaerna Dec 16, 2021
26ec5ff
refactor: classnames usage
disaerna Dec 16, 2021
d3cbb38
fix: dry pattern on Layout helpers
disaerna Dec 16, 2021
e295dac
fix: remove unec classname use
disaerna Dec 16, 2021
9187259
fix: merge conflict
disaerna Dec 16, 2021
3d876c3
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 16, 2021
af4eb49
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 16, 2021
5baae62
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 17, 2021
bb4f2fd
fix: wrong path for hourglass svg
disaerna Dec 17, 2021
8189e27
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 17, 2021
0202f0a
refactor: remove dry pattern in select return
disaerna Dec 20, 2021
477c320
fix: subitems not closing menu on click
disaerna Dec 20, 2021
cb92d6c
fix: avatar color when delegation
disaerna Dec 20, 2021
09af151
feat: add medium variant as button text option
disaerna Dec 20, 2021
c44a9e9
refactor: smaller font on search results
disaerna Dec 20, 2021
5fd597a
fix: remove settings from sidebar
disaerna Dec 20, 2021
0d9b297
feat: add path header to accessDenied
disaerna Dec 20, 2021
1cf8c14
refactor: temp change to make button smaller
disaerna Dec 20, 2021
243d966
refactor: smaller text on access table
disaerna Dec 20, 2021
c0726d2
fix: forgot to commit checkox changes
disaerna Dec 20, 2021
027794c
refactor: input sizes on documents datepicker
disaerna Dec 20, 2021
1153af6
refactor: text changes
disaerna Dec 20, 2021
aebfebd
refactor: smaller padding on mobile logo
disaerna Dec 20, 2021
576b5ab
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 20, 2021
1e8255a
fix: delete endorsments like on main
disaerna Dec 20, 2021
4862c85
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 21, 2021
50bbaec
fix: back to SM input for access detail table
disaerna Dec 21, 2021
2fd5f6a
fix: link not working outside service portal
disaerna Dec 21, 2021
7c06910
fix: remove table styling on access items
disaerna Dec 21, 2021
6c2c430
fix: revert changes on grant access component
disaerna Dec 21, 2021
5f0930d
fix: userMenu not responsive + other comments
disaerna Dec 22, 2021
1775a7b
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 22, 2021
248ccad
fix: base url for settings
disaerna Dec 22, 2021
97636d3
fix: remove temp data
disaerna Dec 22, 2021
a3929f4
fix: layout
disaerna Dec 22, 2021
6ba2616
fix: remove text on plus button for finance tables
disaerna Dec 22, 2021
4853422
fix: put grid container back
disaerna Dec 22, 2021
420d729
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 22, 2021
72ab3ae
fix: sidebar animation
disaerna Dec 22, 2021
18008e5
fix: revert changes for small input
disaerna Dec 28, 2021
2e5989b
fix: relative links on userDropdown
disaerna Dec 28, 2021
becee6a
feat: fixes after comment + dropdown lang for mobile
disaerna Dec 28, 2021
76ac539
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 28, 2021
ff6213b
refactor: cleanup on Layout helpers
disaerna Dec 28, 2021
6f02acd
Merge branch 'main' into service-portal/new-design-demo
disaerna Dec 28, 2021
4a51830
feat: add breadcrumbs for settings
disaerna Dec 28, 2021
bfd9edc
feat: ui changes on menu + userMenu on mobile
disaerna Dec 30, 2021
4804b16
fix: finance content going under on smaller screens
disaerna Dec 30, 2021
c3e1a77
fix: spacing on mobile menu
disaerna Dec 30, 2021
e5be823
fix: dont display collapsed state on mobilemenu
disaerna Dec 30, 2021
7b6e945
fix: revert padding changes
disaerna Dec 30, 2021
d329eda
fix: fixing userMenu test
disaerna Jan 3, 2022
c94de2d
Merge branch 'main' into service-portal/new-design-demo
disaerna Jan 3, 2022
1758417
fix: display heading as heading
disaerna Jan 3, 2022
9e81af4
fix: revert adding mint variant on Tag
disaerna Jan 3, 2022
468ccd2
fix: fixing menu bug
disaerna Jan 3, 2022
0203f89
refactor: layout
disaerna Jan 3, 2022
59f8104
fix: revert pushing mock data!
disaerna Jan 3, 2022
bdbd7c3
fix: spacing should use theme
disaerna Jan 3, 2022
6b8cfba
fix: use translations for alt text
disaerna Jan 3, 2022
b932201
Merge branch 'main' into service-portal/new-design-demo
disaerna Jan 3, 2022
24f8082
fix: wrong usage of willChange
disaerna Jan 3, 2022
3803687
fix: casing issue
disaerna Jan 3, 2022
ed0bc23
feat: changes on menu
disaerna Jan 4, 2022
01df60d
Merge branch 'main' into service-portal/new-design-demo
disaerna Jan 4, 2022
b3b4903
fix: wrong color on collapsed active item
disaerna Jan 5, 2022
88127e0
fix: hover states on nav items
disaerna Jan 6, 2022
4432fae
fix: padding variable
disaerna Jan 6, 2022
d144902
fix: spacing on small screens
disaerna Jan 6, 2022
e426287
Merge branch 'main' into service-portal/new-design-demo
disaerna Jan 7, 2022
ca69f21
revert: changes on collapsed nav items
disaerna Jan 7, 2022
c97b240
Merge branch 'main' into service-portal/new-design-demo
kodiakhq[bot] Jan 7, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions apps/service-portal/src/app/App.css.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { style } from '@vanilla-extract/css'

export const page = style({
position: 'relative',
display: 'flex',
flexDirection: 'column',
minHeight: '100vh',
Expand Down
29 changes: 17 additions & 12 deletions apps/service-portal/src/app/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@ import { BrowserRouter as Router, Switch, Route } from 'react-router-dom'
import { Authenticator } from '@island.is/auth/react'
import { ApolloProvider } from '@apollo/client'
import { client } from '@island.is/service-portal/graphql'
import { ServicePortalPath } from '@island.is/service-portal/core'
import {
BadgeProvider,
ServicePortalPath,
} from '@island.is/service-portal/core'
import { LocaleProvider } from '@island.is/localization'
import { defaultLanguage } from '@island.is/shared/constants'
import { FeatureFlagProvider } from '@island.is/react/feature-flags'
Expand Down Expand Up @@ -33,17 +36,19 @@ export const App = () => {
<Authenticator>
<FeatureFlagProvider sdkKey={environment.featureFlagSdkKey}>
<UserProfileLocale />
<Layout>
<Switch>
<Route exact path={ServicePortalPath.MinarSidurRoot}>
<Dashboard />
</Route>
<Route>
<Modules />
</Route>
</Switch>
<GlobalModules />
</Layout>
<BadgeProvider>
<Layout>
<Switch>
<Route exact path={ServicePortalPath.MinarSidurRoot}>
<Dashboard />
</Route>
<Route>
<Modules />
</Route>
</Switch>
<GlobalModules />
</Layout>
</BadgeProvider>
</FeatureFlagProvider>
</Authenticator>
</Router>
Expand Down
17 changes: 17 additions & 0 deletions apps/service-portal/src/assets/images/hourglass.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 0 additions & 19 deletions apps/service-portal/src/components/Greeting/Greeting.css.ts

This file was deleted.

23 changes: 18 additions & 5 deletions apps/service-portal/src/components/Greeting/Greeting.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ import { useQuery, gql } from '@apollo/client'
import { Query } from '@island.is/api/schema'
import { m } from '@island.is/service-portal/core'

import * as styles from './Greeting.css'

const NationalRegistryUserQuery = gql`
query NationalRegistryUserQuery {
nationalRegistryUser {
Expand Down Expand Up @@ -74,16 +72,31 @@ const Greeting: FC<{}> = () => {
</Text>
<Text marginBottom={2}>{formatMessage(m.greetingIntro)}</Text>
<div>
<a href={LEGACY_MY_PAGES_URL} target="_blank">
<Button variant="text" icon="open" iconType="outline">
<a
href={LEGACY_MY_PAGES_URL}
target="_blank"
rel="noopener noreferrer"
>
<Button
variant="text"
icon="open"
iconType="outline"
size="small"
>
{formatMessage(m.olderVersion)}
</Button>
</a>
</div>
</Box>
</GridColumn>
<GridColumn span={['12/12', '5/12']}>
<Box className={styles.figure} />
<img
src="./assets/images/school.svg"
alt={`${formatMessage(m.altText)} ${formatMessage({
defaultMessage: 'upphafssíðu',
id: 'service.portal:start-page',
})}`}
/>
</GridColumn>
</GridRow>
)
Expand Down
64 changes: 32 additions & 32 deletions apps/service-portal/src/components/Header/Header.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import React, { FC } from 'react'
import { Link } from 'react-router-dom'
import {
Box,
Hidden,
ContentBlock,
Button,
Logo,
FocusableBox,
Expand All @@ -16,6 +14,7 @@ import { useStore } from '../../store/stateProvider'
import { ActionType } from '../../store/actions'
import { BetaTag } from '../Logo/BetaTag'
import { m } from '@island.is/service-portal/core'
import { Link } from 'react-router-dom'

export const Header: FC<{}> = () => {
const { formatMessage } = useLocale()
Expand All @@ -32,42 +31,43 @@ export const Header: FC<{}> = () => {
<div className={styles.placeholder} />
<header className={styles.header}>
<Box width="full">
<ContentBlock>
<Box
display="flex"
justifyContent="spaceBetween"
alignItems="center"
height="full"
background="white"
paddingX={[2, 2, 4, 4, 6]}
>
<Box
display="flex"
justifyContent={[
'spaceBetween',
'spaceBetween',
'spaceBetween',
'flexEnd',
'flexEnd',
]}
alignItems="center"
width="full"
background="white"
paddingX={[3, 3, 3, 3, 6]}
>
<Hidden above="md">
<Link to={ServicePortalPath.MinarSidurRoot}>
<FocusableBox component="div">
<Hidden above="md">
<Logo width={40} iconOnly />
</Hidden>
<Hidden below="lg">
<Logo width={160} />
</Hidden>
<Logo width={40} iconOnly />
<BetaTag />
</FocusableBox>
</Link>
<Box display="flex" alignItems="center" flexWrap="nowrap">
<UserMenu />
<Hidden above="md">
<Box marginLeft={2}>
<Button
variant="utility"
icon={mobileMenuState === 'open' ? 'close' : 'menu'}
onClick={handleMobileMenuTriggerClick}
>
{formatMessage(m.menu)}
</Button>
</Box>
</Hidden>
</Box>
</Hidden>
<Box display="flex" alignItems="center" flexWrap="nowrap">
<UserMenu fullscreen />
<Hidden above="md">
<Box marginLeft={1}>
<Button
variant="utility"
icon={mobileMenuState === 'open' ? 'close' : 'menu'}
onClick={handleMobileMenuTriggerClick}
>
{formatMessage(m.menu)}
</Button>
</Box>
</Hidden>
</Box>
</ContentBlock>
</Box>
</Box>
</header>
</>
Expand Down
4 changes: 4 additions & 0 deletions apps/service-portal/src/components/Layout/Layout.css.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ export const layoutWrapper = style({
minHeight: `calc(100vh - ${SERVICE_PORTAL_HEADER_HEIGHT_LG}px)`,
})

export const layoutGrid = style({
transition: 'margin 150ms ease-in-out, flex-basis 150ms ease-in-out',
willChange: 'margin, flex-basis',
})
export const mainWrapper = style({
width: '100%',
maxWidth: theme.contentWidth.large,
Expand Down
58 changes: 25 additions & 33 deletions apps/service-portal/src/components/Layout/Layout.tsx
Original file line number Diff line number Diff line change
@@ -1,39 +1,34 @@
import React, { FC } from 'react'
import React, { FC, useEffect, useState } from 'react'
import Header from '../Header/Header'
import Sidebar from '../Sidebar/Sidebar'
import {
Box,
Columns,
Column,
Hidden,
Footer,
ContentBlock,
ToastContainer,
GridContainer,
GridColumn,
GridRow,
} from '@island.is/island-ui/core'
import ContentBreadcrumbs from '../../components/ContentBreadcrumbs/ContentBreadcrumbs'
import * as styles from './Layout.css'
import AuthOverlay from '../Loaders/AuthOverlay/AuthOverlay'
import useRoutes from '../../hooks/useRoutes/useRoutes'
import { useModules } from '../../hooks/useModules/useModules'
import { getFooterProps } from './footerProps'
import { useScrollTopOnUpdate } from '@island.is/service-portal/core'
import { useLocation } from 'react-router-dom'
import MobileMenu from '../MobileMenu/MobileMenu'
import { useFooterContent } from '@island.is/service-portal/graphql'
import { useLocale, useNamespaces } from '@island.is/localization'
import { useNamespaces } from '@island.is/localization'
import { useStore } from '../../store/stateProvider'
import { RemoveScroll } from 'react-remove-scroll'
import { getLayout } from './helpers'

const Layout: FC = ({ children }) => {
useRoutes()
useModules()
const { locale, formatMessage } = useLocale()
useNamespaces('service.portal')
const data = useFooterContent(locale)
const { pathname } = useLocation()
useScrollTopOnUpdate([pathname])
const footerProps = getFooterProps(data, formatMessage)
const [{ mobileMenuState }] = useStore()
const [{ mobileMenuState, sidebarState }] = useStore()

return (
<>
Expand All @@ -46,27 +41,24 @@ const Layout: FC = ({ children }) => {
<MobileMenu />
</Hidden>
</RemoveScroll>
<Box overflow="hidden" className={styles.layoutWrapper}>
<ContentBlock>
<Box paddingX={[2, 2, 4, 4, 6]} paddingY={[2, 2, 2, 7]}>
<Columns space={[0, 0, 0, 3, 5]} collapseBelow="lg">
<Column width="content">
<Hidden below="lg">
<Sidebar />
</Hidden>
</Column>
<Column>
<Box as="main">
<ContentBreadcrumbs />
<div>{children}</div>
</Box>
</Column>
</Columns>
</Box>
</ContentBlock>
<Hidden print={true}>
<Footer {...footerProps} />
</Hidden>
<Hidden below="lg">
<Sidebar />
</Hidden>
<Box overflow="hidden" className={styles.layoutWrapper} paddingBottom={7}>
<Box as="main">
<GridContainer>
<GridRow>
<GridColumn
span={getLayout(pathname, sidebarState).span}
offset={getLayout(pathname, sidebarState).offset}
className={styles.layoutGrid}
>
<ContentBreadcrumbs />
<div>{children}</div>
</GridColumn>
</GridRow>
</GridContainer>
</Box>
</Box>
</>
)
Expand Down
66 changes: 66 additions & 0 deletions apps/service-portal/src/components/Layout/helpers.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
import { GridColumns, ResponsiveProp } from '@island.is/island-ui/core/types'
import { ServicePortalPath } from '@island.is/service-portal/core'
import { MenuState } from '../../store/actions'

type ColumnState = 'default' | 'wide' | 'defaultClosed' | 'wideClosed'
type responsiveGridColumns = Record<
ColumnState,
{
span: ResponsiveProp<GridColumns>
offset: ResponsiveProp<GridColumns>
}
>

export const gridlayout: responsiveGridColumns = {
default: {
span: ['12/12', '12/12', '12/12', '8/12', '8/12'],
offset: ['0', '0', '0', '3/12', '3/12'],
},
wide: {
span: ['12/12', '12/12', '12/12', '8/12', '9/12'],
offset: ['0', '0', '0', '3/12', '2/12'],
},
defaultClosed: {
span: ['12/12', '12/12', '12/12', '9/12', '9/12'],
offset: ['0', '0', '0', '2/12', '2/12'],
},
wideClosed: {
span: ['12/12', '12/12', '12/12', '9/12', '10/12'],
offset: ['0', '0', '0', '2/12', '1/12'],
},
}

export const wideScreens = [
ServicePortalPath.FinanceRoot,
ServicePortalPath.FinanceStatus,
ServicePortalPath.FinanceTransactions,
ServicePortalPath.FinanceVehicles,
ServicePortalPath.FinanceBills,
ServicePortalPath.FinanceEmployeeClaims,
ServicePortalPath.FinanceExternal,
ServicePortalPath.FinanceLocalTax,
ServicePortalPath.FinancePayments,
]

export type GridLayout = {
span: ResponsiveProp<GridColumns>
offset: ResponsiveProp<GridColumns>
}

export const getLayout = (
pathname: string,
sidebarState: MenuState,
): GridLayout => {
const hasWideLayout = wideScreens.includes(pathname as ServicePortalPath)
const sidebarCollapsed = sidebarState === 'closed'
type LayoutType = keyof typeof gridlayout
let layoutType: LayoutType

if (sidebarCollapsed) {
layoutType = hasWideLayout ? 'wideClosed' : 'defaultClosed'
} else {
layoutType = hasWideLayout ? 'wide' : 'default'
}

return gridlayout[layoutType]
}
Loading