Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
81400f7
Feat(En Trans): English locale added
sanchayan721 Apr 27, 2023
b7c03bb
Feat(IT Trans): Italian locale added
sanchayan721 Apr 27, 2023
f81d5fd
Feat(Tooltip): Addding tooltip to Bug details anchor buttons
sanchayan721 Apr 27, 2023
9a5fd2f
feat(mapBugsToTableData): Add tooltip it duplicates icon
sanchayan721 Apr 27, 2023
c7db49f
style(prettier): formatted with prettier formatter
sanchayan721 Apr 27, 2023
8ad5b41
🐛 fix(BugPreview.tsx): remove overflow hidden style from DetailContainer
marcbon Apr 28, 2023
ade0d04
Merge pull request #552 from AppQuality/UN-587-dev-dashboard-2-lev-mi…
marcbon Apr 28, 2023
bd0e336
feat(alert icon): Alert Icon svg added
sanchayan721 Apr 28, 2023
9d53146
Feat(ModalDanger): New component added for Danger Modal
sanchayan721 Apr 28, 2023
6dc0252
Feat(Express Wizard): Updating component with newly created ModalDang…
sanchayan721 Apr 28, 2023
06a8baf
Feat(Translations): Adding Translations
sanchayan721 Apr 28, 2023
c51d982
feat: error boundary
alexSp84 May 2, 2023
d45d0c2
fix: warning
alexSp84 May 2, 2023
f4eac3e
wip: error boundary page
alexSp84 May 2, 2023
438ce78
🔼 chore(package.json): update @appquality/unguess-design-system to ve…
marcbon May 2, 2023
604129a
feat(translation): Adding translations
sanchayan721 May 2, 2023
a79850b
update(icon): svg icon updated
sanchayan721 May 2, 2023
87cff33
refactor(Modal Danger): refactor by moving tinside express
sanchayan721 May 2, 2023
7b55557
🐛 fix(App.tsx): fix ToastProvider children error
marcbon May 2, 2023
00842b6
feat(translation): Add translations
sanchayan721 May 2, 2023
899409d
Refactor(ExpressWidzardContainer): refactor with updated comonents
sanchayan721 May 2, 2023
ddb3980
Feat(Discard Changes Modal): new component added
sanchayan721 May 2, 2023
7a73e10
feat(Modal Delete Item): new Component added
sanchayan721 May 2, 2023
7b2d2d9
Feat(modalUseCase): Adding Action Modal that triggers while Deleting …
sanchayan721 May 2, 2023
ed791d6
style(Prettier): Restylize with prettier
sanchayan721 May 2, 2023
ad5eb64
fix: removed comment
alexSp84 May 3, 2023
aa43fd6
fix: moved error boundary wrapper one level lower
alexSp84 May 3, 2023
0af2cfc
🔧 chore(App.tsx): ignore typescript error for ToastProvider children …
marcbon May 3, 2023
a3a1c48
style(ModalUseCase): Remove unnecessary code
sanchayan721 May 3, 2023
3b54875
🚀 chore(package.json): update @appquality/unguess-design-system to ve…
marcbon May 3, 2023
63f0bbf
🔥 refactor(Dashboard/index.tsx): remove unused imports and useEffect …
marcbon May 3, 2023
fbee387
fix(modalUseCase): add pb and mb-auto to BodyScrollingContainer
sanchayan721 May 3, 2023
fb2fd14
Merge pull request #555 from AppQuality/UN-264-toast-provider
marcbon May 3, 2023
3bdc5e9
Merge pull request #556 from AppQuality/UN-648-fix-button-delete-use-…
sanchayan721 May 3, 2023
869f85a
Merge pull request #554 from AppQuality/UN-266-react-blocking-notific…
marcbon May 3, 2023
5310145
🎨 style(modalUseCase.tsx): update modal styles to improve layout and …
marcbon May 3, 2023
bba5a1f
refactor: adding click on bug card
alexSp84 May 3, 2023
8f054a7
🎨 style(modalUseCaseTabLayout.tsx): change UseCaseCard margin to only…
marcbon May 3, 2023
93950dd
🎨 style(modalUseCase.tsx): use theme's boxShadow instead of hardcodin…
marcbon May 3, 2023
f0cc515
Merge pull request #557 from AppQuality/fix-express-use-case-modal-sc…
marcbon May 3, 2023
5b2adc2
feat: added navigation to error boundary page
alexSp84 May 4, 2023
69ce60f
feat: implemented UI of error boundary page
alexSp84 May 4, 2023
ec4cce1
feat: added translations
alexSp84 May 4, 2023
475dde2
fix: prettify translations
alexSp84 May 4, 2023
4d3c739
Feat(Translation): Updated Modal Translations
sanchayan721 May 4, 2023
26b4f77
Merge pull request #560 from AppQuality/fix-translation-modal-usecase
marcbon May 4, 2023
67ed8e9
🔥 refactor(BugCard/index.tsx): remove underline on hover of bug card …
marcbon May 5, 2023
95026c3
🎨 style(BugCard): add disabled state to StyledAnchor and disable poin…
marcbon May 5, 2023
07ba8db
Merge pull request #558 from AppQuality/UN-769-click-bug-card
marcbon May 5, 2023
4f7dd32
feat: added error element props to Route components
alexSp84 May 5, 2023
495666b
Merge pull request #553 from AppQuality/UN-267-error-page-management
marcbon May 5, 2023
2104592
feat: add class to input search bugs
May 3, 2023
b30f1ec
feat: add class to dropdown unique bugs and to each items
May 3, 2023
1cd9c89
remove isOpen
May 3, 2023
13f3ba7
feat: add class to dropdown unread bugs and to each items
May 3, 2023
f13eeba
feat(bug-list): add class to dropdown severities bugs and to each items
May 4, 2023
6907499
feat(bug-list): add class to allFilters button
May 4, 2023
3f0d0ba
feat(bug-list): add class to dowloadReport button
May 4, 2023
117aed1
feat(bug-list): add class to go-to-integration-center button
May 4, 2023
67ca457
feat(bug-list): add class to dropdown sort bugs
May 4, 2023
f0e3839
feat(bug-list): add class to dropdown group-by bugs and to each items
May 4, 2023
e47e14b
feat(bug-list): add class to dropdown sort-by priority and severity b…
May 4, 2023
dfa946a
remove isOpen
May 4, 2023
5b77c02
feat(bug-list): add class to goto bug and sharable-url on bug overview
May 4, 2023
ed8d932
feat(bug-list): add class to dropdown custom status bugs and to each …
May 4, 2023
50431fa
feat(bug-list): add class to dropdown custom priority bugs and to eac…
May 4, 2023
6961cd0
feat(bug-list): add class to bug attachemnt, class for item, for imag…
May 4, 2023
7895fca
feat(bug-list): add class to multiselect search tags on bug preview
May 4, 2023
25332b8
feat(bug-list): add class to duplicated bug on bug overview
May 5, 2023
304e804
typo
May 5, 2023
468300a
feat(get-bugs-drawer): add classes for each accordion
May 5, 2023
8068658
fix: move class to parent div
May 5, 2023
4487742
feat(component-gtm): add className to component page
May 5, 2023
6fc8a5c
feat: add class to pages: bugs-list and single-bug
May 5, 2023
686b442
feat(drawer): add class on drawer all filters
May 5, 2023
15af6e5
typo
May 5, 2023
c45267b
refactor(page component)
May 5, 2023
f2810ad
fix class BugItem
May 5, 2023
19b3357
fix className in components VideoCard or ImageCard
May 5, 2023
2adc8a5
typo
May 5, 2023
dbde246
typo
May 5, 2023
49f5458
typo
May 5, 2023
2e2b76b
typos
May 5, 2023
7341035
fix: class on input search bug
May 5, 2023
f30914e
fix class page
May 5, 2023
58b8b7c
typos
May 5, 2023
adb3a24
feat(header-bug-page): add class to sharable url button
May 6, 2023
6237db8
Merge pull request #559 from AppQuality/UN-507
sinatragianpaolo May 8, 2023
8d51d7b
fix: Search in customer title instead of tester title
d-beezee May 8, 2023
7e22a60
🚀 chore(package.json): update @appquality/unguess-design-system to ve…
marcbon May 9, 2023
ff02fc0
🌐 i18n: add new notification message and close text to translation files
marcbon May 9, 2023
f0c5f4a
Merge pull request #562 from AppQuality/UN-169-fix-search
marcbon May 9, 2023
e93a7a8
📝 docs(translation.json): add message to confirm close header in expr…
marcbon May 9, 2023
408f2ff
Merge pull request #563 from AppQuality/UN-871-notifications
marcbon May 9, 2023
8295d0f
🎨 style(BugHeader.tsx): add flex display to ActionDetailPreview conta…
marcbon May 9, 2023
93b0793
Merge pull request #564 from AppQuality/fix-bug-preview
marcbon May 9, 2023
29b7dec
fix(express-usecase): delete confirm on delete usecase modal
marcbon May 9, 2023
f1e00d1
🐛 fix(modalUseCaseTabLayout.tsx): add missing space after button text…
marcbon May 9, 2023
44cffdd
🔥 refactor(modalUseCase.tsx): remove overflow: hidden from BodyScroll…
marcbon May 9, 2023
77a7073
Merge pull request #565 from AppQuality/remove-delete-usecase-modal
marcbon May 9, 2023
46b593b
chore(craco): add rule for mjs
cannarocks May 10, 2023
8ec9602
Merge pull request #566 from AppQuality/update-craco
marcbon May 10, 2023
4db97ed
🔼 chore(deps): update @appquality/unguess-design-system to version 3.0.2
marcbon May 11, 2023
02f1646
🔧 chore(craco.config.js): add babel plugins for optional chaining and…
marcbon May 11, 2023
7707b80
Merge pull request #567 from AppQuality/fix-craco-babel
marcbon May 11, 2023
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
15 changes: 15 additions & 0 deletions craco.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,20 @@ const resolvedAliases = Object.fromEntries(
module.exports = {
webpack: {
alias: resolvedAliases,
configure: (webpackConfig) => {
webpackConfig.module.rules.push({
test: /\.mjs$/,
include: /node_modules/,
type: 'javascript/auto',
});
return webpackConfig;
},
},
babel: {
presets: ['@babel/preset-env'],
plugins: [
'@babel/plugin-proposal-optional-chaining',
'@babel/plugin-proposal-nullish-coalescing-operator',
],
},
};
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"version": "1.4.0",
"private": true,
"dependencies": {
"@appquality/unguess-design-system": "2.12.83",
"@appquality/unguess-design-system": "3.0.2",
"@headwayapp/react-widget": "^0.0.4",
"@reduxjs/toolkit": "^1.8.0",
"@rtk-query/codegen-openapi": "^1.0.0-alpha.1",
Expand Down
19 changes: 17 additions & 2 deletions src/app/App.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import '../i18n';
import { GlobalStyle } from '@appquality/unguess-design-system';
import { GlobalStyle, ToastProvider } from '@appquality/unguess-design-system';
import { ThemeProvider } from '@zendeskgarden/react-theming';
import { useTranslation } from 'react-i18next';
import Helmet from 'react-helmet';
Expand All @@ -10,6 +10,7 @@ import { store } from './store';

const App = () => {
const { t } = useTranslation();

return (
<Provider store={store}>
<ThemeProvider theme={theme}>
Expand All @@ -22,7 +23,21 @@ const App = () => {
<title>UNGUESS - {t('__APP_META_PAYOFF')}</title>
<meta name="description" content={t('__APP_META_DESCRIPTION')} />
</Helmet>
<Pages />
<ToastProvider
limit={5}
zIndex={theme.levels.modal}
placementProps={{
top: {
style: {
top:
parseInt(theme.components.chrome.header.height, 10) +
theme.space.base * 4,
},
},
}}
>
<Pages />
</ToastProvider>
</ThemeProvider>
</Provider>
);
Expand Down
184 changes: 184 additions & 0 deletions src/assets/errorBoundaryPage.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions src/assets/icons/alert-icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 8 additions & 1 deletion src/common/Pages.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import Campaign from 'src/pages/Campaign';
import Bugs from 'src/pages/Bugs';
import { useTranslation } from 'react-i18next';
import Bug from 'src/pages/Bug';
import ErrorBoundaryPage from 'src/common/components/ErrorBoundary/ErrorBoundaryPage';
import { Redirect } from './Redirect';

const Pages = () => {
Expand All @@ -28,7 +29,11 @@ const Pages = () => {
createRoutesFromElements(
<>
{langPathPrefixes.map((langPrefix) => (
<Route path={`/${langPrefix}`} key={`react-router-${langPrefix}`}>
<Route
path={`/${langPrefix}`}
key={`react-router-${langPrefix}`}
errorElement={<ErrorBoundaryPage />}
>
<Route
path={`/${langPrefix}/campaigns/:campaignId`}
element={<Campaign />}
Expand Down Expand Up @@ -73,6 +78,7 @@ const Pages = () => {
}}
/>
}
errorElement={<ErrorBoundaryPage />}
/>
<Route
path="/functional-customer-dashboard"
Expand All @@ -89,6 +95,7 @@ const Pages = () => {
}}
/>
}
errorElement={<ErrorBoundaryPage />}
/>
<Route path="*" element={<Navigate replace to="/oops" />} />
</>
Expand Down
73 changes: 40 additions & 33 deletions src/common/components/BugCard/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ const BugCardContainer = styled(ContainerCard)<

type BugCardArgs = React.HTMLAttributes<HTMLDivElement> & {
children: (severity?: Severities) => React.ReactNode | React.ReactElement;
url?: string;
} & (
| {
severity: Severities;
Expand All @@ -40,11 +41,11 @@ type BugCardArgs = React.HTMLAttributes<HTMLDivElement> & {
/**
* Example:
* ```
* <BugCard severity="critical">
* <BugCard severity="critical" url="#">
* {(severity) => (
* <>
* <BugCard.TopTitle>ID 123</BugCard.TopTitle>
* <BugCard.Title url="#">
* <BugCard.Title>
* Title
* </BugCard.Title>
* <BugCard.Description>
Expand All @@ -64,17 +65,33 @@ type BugCardArgs = React.HTMLAttributes<HTMLDivElement> & {
* </BugCard>
* ```
*/
const BugCard = ({ children, ...props }: BugCardArgs) => (
<BugCardContainer
{...props}
borderColor={
'severity' in props
? globalTheme.colors.bySeverity[props.severity as Severities]
: props.borderColor
}
>
{'severity' in props ? children(props.severity) : children()}
</BugCardContainer>

const StyledAnchor = styled(Anchor)<{ disabled?: boolean }>`
${({ disabled }) =>
disabled &&
`
pointer-events: none;
cursor: default;
`}

&:hover {
text-decoration: none;
}
`;

const BugCard = ({ children, url, ...props }: BugCardArgs) => (
<StyledAnchor href={url} disabled={!url}>
<BugCardContainer
{...props}
borderColor={
'severity' in props
? globalTheme.colors.bySeverity[props.severity as Severities]
: props.borderColor
}
>
{'severity' in props ? children(props.severity) : children()}
</BugCardContainer>
</StyledAnchor>
);

const StyledSM = styled(SM)`
Expand All @@ -86,26 +103,16 @@ const BugCardTopTitle = ({ children }: { children: React.ReactNode }) => (
);
BugCard.TopTitle = BugCardTopTitle;

const BugCardTitle = ({
children,
url,
}: {
children: React.ReactNode;
url?: string;
}) => {
if (url) {
return (
<Anchor className="anchor-bug-card-title" href={url}>
<MD isBold>{children}</MD>
</Anchor>
);
}
return (
<MD style={{ color: globalTheme.palette.blue[600] }} isBold>
{children}
</MD>
);
};
const BugCardTitle = ({ children }: { children: React.ReactNode }) => (
<MD
className="anchor-bug-card-title"
style={{ color: globalTheme.palette.blue[600] }}
isBold
>
{children}
</MD>
);

BugCard.Title = BugCardTitle;

BugCard.Footer = styled.div`
Expand Down
52 changes: 42 additions & 10 deletions src/common/components/BugDetail/AnchorButtons.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import styled from 'styled-components';
import { Link } from 'react-scroll';
import { IconButton } from '@appquality/unguess-design-system';
import { IconButton, Tooltip } from '@appquality/unguess-design-system';
import { GetCampaignsByCidBugsAndBidApiResponse } from 'src/features/api';
import { ReactComponent as AttachmentsIcon } from 'src/assets/icons/attachments-icon.svg';
import { ReactComponent as DetailsIcon } from 'src/assets/icons/details-icon.svg';
import { ReactComponent as LinkIcon } from 'src/assets/icons/linked.svg';
import { useBugPreviewContext } from 'src/pages/Bugs/Content/context/BugPreviewContext';
import { useTranslation } from 'react-i18next';

const FlexComponent = styled.div`
width: 100%;
Expand All @@ -25,6 +26,7 @@ export const AnchorButtons = ({
}) => {
const { media } = bug;
const { openAccordions, setOpenAccordions } = useBugPreviewContext();
const { t } = useTranslation();

return (
<FlexComponent>
Expand All @@ -36,9 +38,19 @@ export const AnchorButtons = ({
duration={500}
offset={-50}
>
<IconButton size="small">
<AttachmentsIcon />
</IconButton>
<Tooltip
content={t('__BUGS_PREVIEW_MEDIA_TOOLTIP_TEXT')}
placement="bottom"
type="light"
size="medium"
onClick={(e) => {
e.stopPropagation();
}}
>
<IconButton size="small">
<AttachmentsIcon />
</IconButton>
</Tooltip>
</Link>
)}

Expand All @@ -52,9 +64,19 @@ export const AnchorButtons = ({
setOpenAccordions([...openAccordions, 'details']);
}}
>
<IconButton size="small">
<DetailsIcon />
</IconButton>
<Tooltip
content={t('__BUGS_PREVIEW_TAG_TOOLTIP_TEXT')}
placement="bottom"
type="light"
size="medium"
onClick={(e) => {
e.stopPropagation();
}}
>
<IconButton size="small">
<DetailsIcon />
</IconButton>
</Tooltip>
</Link>

<Link
Expand All @@ -67,9 +89,19 @@ export const AnchorButtons = ({
setOpenAccordions([...openAccordions, 'duplicates']);
}}
>
<IconButton size="small">
<LinkIcon />
</IconButton>
<Tooltip
content={t('__BUGS_PREVIEW_RELATED_BUGS_TOOLTIP_TEXT')}
placement="bottom"
type="light"
size="medium"
onClick={(e) => {
e.stopPropagation();
}}
>
<IconButton size="small">
<LinkIcon />
</IconButton>
</Tooltip>
</Link>
</FlexComponent>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ export const BugDuplicatesList = ({
.slice(0, isOpen ? data.siblings.length : maxSiblingSize)
.map((item) => (
<BugItem
className="bug-overview-duplicated-bug"
key={item.id}
campaignId={cid}
bugId={item.id}
Expand Down
7 changes: 6 additions & 1 deletion src/common/components/BugDetail/BugDuplicates/BugItem.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,19 @@ export const BugItem = ({
bugId,
title,
pills,
className,
}: {
isFather?: boolean;
campaignId: number;
bugId: number;
title: string;
pills: string[];
className?: string;
}) => (
<StyledLink to={useLocalizeRoute(`campaigns/${campaignId}/bugs/${bugId}`)}>
<StyledLink
to={useLocalizeRoute(`campaigns/${campaignId}/bugs/${bugId}`)}
className={className}
>
<BugCard borderColor={globalTheme.palette.grey[500]}>
{() => (
<>
Expand Down
10 changes: 8 additions & 2 deletions src/common/components/BugDetail/BugStateDropdown.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ const BugStateDropdown = ({ bug }: { bug: Bug }) => {
itemToString: (item: DropdownItem) => item && item.slug,
}}
>
<Field>
<Field className="bug-dropdown-custom-status">
{bug.status.id === 4 ? (
<Tooltip
appendToNode={document.body}
Expand All @@ -148,7 +148,13 @@ const BugStateDropdown = ({ bug }: { bug: Bug }) => {
options.map((item) => (
<>
{item.slug === 'solved' && <Separator />}
<StyledItem key={item.slug} value={item}>
<StyledItem
key={item.slug}
value={item}
className={`bug-dropdown-custom-status-${item.slug
.toLowerCase()
.replace(/\s+/g, '-')}`}
>
{item.icon} {item.text}
</StyledItem>
</>
Expand Down
7 changes: 5 additions & 2 deletions src/common/components/BugDetail/Extra.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -91,15 +91,18 @@ export default ({ items }: { items: BugMediaType[] }) => {
))}
</SM>
{items.map((item, index) => (
<BugCard borderColor={getFileSpecs(item.mime_type.extension).color}>
<BugCard
borderColor={getFileSpecs(item.mime_type.extension).color}
url={item.url}
>
{() => (
<>
{getFileSpecs(item.mime_type.extension).icon}
<BugCard.Info style={{ marginLeft: globalTheme.space.sm }}>
<BugCard.TopTitle>
{item.mime_type.extension.toUpperCase()}
</BugCard.TopTitle>
<BugCard.Title url={item.url}>
<BugCard.Title>
<BugCard.Content>
<Span>
{t(
Expand Down
4 changes: 3 additions & 1 deletion src/common/components/BugDetail/ImageCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,14 @@ export default ({
index,
url,
onClick,
className,
}: {
index: number;
url: string;
onClick?: () => void;
className?: string;
}) => (
<ImageCard onClick={onClick}>
<ImageCard onClick={onClick} className={className}>
<Preview url={url} />
<MD isBold style={{ textAlign: 'center' }}>
{index + 1}
Expand Down
Loading