1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-25 00:07:47 +01:00

feat: start hooking up open/close logic

This commit is contained in:
Thomas Heartman 2022-02-27 19:59:30 +01:00
parent a629c36fe7
commit 9b1f9b764b
3 changed files with 37 additions and 6 deletions

View File

@ -10,7 +10,7 @@ const Template = (args) => <FeedbackWrapper {...args} />;
export const FullComponent = Template.bind({});
FullComponent.args = {
// initialData,
open: true,
};
export const Step2 = Template.bind({});
@ -18,6 +18,7 @@ Step2.args = {
seedData: {
currentStep: 2,
},
open: true,
};
export const Step3 = Template.bind({});
@ -25,5 +26,7 @@ Step3.args = {
seedData: {
currentStep: 3,
},
open: true,
};
export const Closed = Template.bind({});

View File

@ -65,8 +65,8 @@ const stateReducer = (state, message) => {
return state;
};
export const FeedbackWrapper = ({ seedData }) => {
// const [feedbackIsOpen, setFeedbackIsOpen] = React.useState(false);
export const FeedbackWrapper = ({ seedData, open }) => {
const [feedbackIsOpen, setFeedbackIsOpen] = React.useState(open);
const [state, dispatch] = React.useReducer(
stateReducer,
@ -274,10 +274,13 @@ export const FeedbackWrapper = ({ seedData }) => {
</form>
);
};
return (
return feedbackIsOpen ? (
<article className={styles['user-feedback']}>
<div className={styles['close-button-row']}>
<button className={styles['close-button']}>
<button
onClick={() => setFeedbackIsOpen(false)}
className={styles['close-button']}
>
<span className="visually-hidden">
close feedback popup
</span>
@ -292,9 +295,21 @@ export const FeedbackWrapper = ({ seedData }) => {
<Step3 />
)}
</article>
) : (
<OpenFeedbackButton openFeedback={() => setFeedbackIsOpen(true)} />
);
};
const OpenFeedbackButton = ({ openFeedback }) => {
return <button onClick={openFeedback}>Feedback</button>;
return (
<button
className={join(
styles['open-feedback-button'],
styles['primary-button'],
)}
onClick={openFeedback}
>
Feedback
</button>
);
};

View File

@ -132,6 +132,7 @@ button.close-button {
fill: currentColor;
}
.primary-button,
.user-feedback button[type='submit'] {
background-color: var(--ifm-color-primary);
color: var(--ifm-background-color);
@ -176,3 +177,15 @@ button.close-button {
gap: var(--ifm-spacing-horizontal);
accent-color: var(--ifm-color-primary);
}
.open-feedback-button {
opacity: 0.55;
padding-top: var(--ifm-spacing-vertical);
padding-bottom: calc(var(--ifm-spacing-vertical) * 2);
border-radius: var(--ifm-global-radius) var(--ifm-global-radius) 0 0;
border: none;
position: absolute;
right: calc(var(--ifm-spacing-vertical) * -1);
bottom: 25vh;
transform: rotate(270deg);
}