const MyGettingStartedPage = () => {
const myActionHandler = action => {
alert('action handler')
}
const footerActionObject = {
type: 'EXTERNAL',
url: 'https://appfire.com',
label: 'Footer action object',
tracking: {
destination: 'some-destination-string',
type: 'link'
}
}
const microHeaderActionObject = {
type: 'INTERNAL',
url: 'https://appfire.com',
label: 'Micro header action object label',
tracking: {
destination: 'some-destination-string',
type: 'button'
}
}
const footerData = {
productCard: {
title: 'Product resources and support',
caption: 'Check out these resources for additional information:',
actions: [
{...footerActionObject, label: 'Troubleshooting'},
{...footerActionObject, label: 'System status'},
{...footerActionObject, label: 'User guide'},
{...footerActionObject, label: 'Documentation'},
{...footerActionObject, label: 'Support request'}
]
},
feedbackCard: {
title: `We'd love your feedback!`,
caption:
"If you're enjoying these features, please consider sharing your experience in a 4-star review on the Marketplace.",
actions: [{...footerActionObject, label: 'Write a review'}]
},
customerCard: {
title: 'Stay connected',
caption:
'Thank you for supporting us! We sincerely appreciate everything you do; you truly are the reason we build great software!',
actions: [
{...footerActionObject, label: 'Submit feature request'},
{...footerActionObject, label: 'Subscribe to product updates'},
{...footerActionObject, label: 'Read our blog'}
]
}
}
const navItems = {
navItemOne: {
type: 'EXTERNAL',
url: 'https://appfire.com',
label: 'Atlassian Community',
tracking: {
destination: 'some-destination-string',
type: 'link'
}
},
navItemTwo: {
type: 'EXTERNAL',
url: 'https://appfire.com',
label: 'Knowledge base',
tracking: {
destination: 'some-destination-string',
type: 'link'
}
},
navItemThree: {
type: 'EXTERNAL',
url: 'https://appfire.com',
label: 'View documentation',
tracking: {
destination: 'some-destination-string',
type: 'button'
}
},
navItemFour: {
type: 'EXTERNAL',
url: 'https://appfire.com',
label: 'Support request',
tracking: {
destination: 'some-destination-string',
type: 'link'
}
}
}
const microHeaderData = {
title: 'Jira Misc Workflow Extensions',
appLogoUrl: 'https://user-images.githubusercontent.com/96323698/155614696-c585cb10-a2ed-42bd-8bbc-a92619b6ab09.png',
menuItems: [
{
menuGroup: '',
actions: [
{...microHeaderActionObject, label: 'Workflows'},
{...microHeaderActionObject, label: 'Event-based actions'},
{...microHeaderActionObject, label: 'Scheduled actions'},
{...microHeaderActionObject, label: 'Shared actions'},
{...microHeaderActionObject, label: 'View logs'},
{...microHeaderActionObject, label: 'System status'}
]
}
],
menuComponent: <MicroHeaderMenu menuItems={menuItems} actionHandler={myActionHandler} />
}
const {title, appLogoUrl, menuItems, menuComponent} = microHeaderData
const {productCard, feedbackCard, customerCard} = footerData
const {navItemOne, navItemTwo, navItemThree, navItemFour} = navItems
return (
<Box sx={{display: 'flex', flexDirection: 'column', justifyContent: 'center', alignItems: 'center'}}>
<MaxWidthWrapper>
<Stack size={7}>
<MicroHeader appLogoUrl={appLogoUrl} title={title} menuComponent={menuComponent} />
<Box sx={{border: '1px dashed', borderColor: 'border.accent.purple.default', height: '150px'}}>
Your component
</Box>
<Box sx={{border: '1px dashed', borderColor: 'border.accent.purple.default', height: '150px'}}>
Your component
</Box>
<Box sx={{border: '1px dashed', borderColor: 'border.accent.purple.default', height: '150px'}}>
Your component
</Box>
<Box sx={{border: '1px dashed', borderColor: 'border.accent.purple.default', height: '150px'}}>
Your component
</Box>
</Stack>
</MaxWidthWrapper>
<FooterSection>
<FooterTitle
solidText="We're here and"
gradientText="ready to answer all of your questions"
gradientTo="#ec4899"
gradientFrom="#a855f7"
/>
<FooterCardGrid>
<FooterCard
title={productCard.title}
caption={productCard.caption}
actions={productCard.actions}
actionHandler={myActionHandler}
/>
<FooterCard
title={feedbackCard.title}
caption={feedbackCard.caption}
actions={feedbackCard.actions}
actionHandler={myActionHandler}
/>
<FooterCard
title={customerCard.title}
caption={customerCard.caption}
actions={customerCard.actions}
actionHandler={myActionHandler}
/>
</FooterCardGrid>
<FooterNav.Wrapper>
<FooterNav.Logo />
<FooterNav>
<FooterNav.Item {...navItemOne} href={navItemOne.url} onClick={() => myActionHandler(navItemOne)}>
{navItemOne.label}
</FooterNav.Item>
<FooterNav.Item {...navItemTwo} href={navItemTwo.url} onClick={() => myActionHandler(navItemTwo)}>
{navItemTwo.label}
</FooterNav.Item>
<FooterNav.Item {...navItemThree} href={navItemThree.url} onClick={() => myActionHandler(navItemThree)}>
Documentation
</FooterNav.Item>
<FooterNav.Item {...navItemFour} href={navItemFour.url} onClick={() => myActionHandler(navItemFour)}>
{navItemFour.label}
</FooterNav.Item>
</FooterNav>
<FooterNav.Copyright />
</FooterNav.Wrapper>
</FooterSection>
</Box>
)
}
render(<MyGettingStartedPage />)