From c74d4990cf8943bf712b3a9e7a38397434a55262 Mon Sep 17 00:00:00 2001 From: Andrei Taranu Date: Sat, 25 May 2024 19:27:08 +0300 Subject: [PATCH] Merging IPFS into master (#835) * user page initial commit, font changed, tabs & cards updated * upgrades on user page * user movements component * user page - voting and proposals list item updated * user transactions finished - pagination & responsiveness * clean up * votes component logic fixed * tabs updated and pagination added to all tabs * multiple ui fixes * clean up * fix padding * fix quorum values on summary * fix card paddings * initial commit * responsive header & readable date for history component * last UI changes * nft transfer component * removed thershold label since not needed * validation for downloading votes & label for when no votes on dialog * layout * selected filters logic * remove switch from dialogs, new modal for actions & new modal reorganization * proposal dialog * add constant * actions modal ready * clean up & css fix user tab * fix small css * top members component brought back * user tab - activity section new layout * activity logic * filter dialog layout & logic working * logic * filters for proposals & votes * logic improved * proposal tab filter dialog * Ipfs lite (#813) * csv votes download * fix node version * updated dependencies * fix initial filtering * implemented new design --------- Co-authored-by: fabiolalombardim Co-authored-by: fabiolalombardim <37227394+fabiolalombardim@users.noreply.github.com> --- .husky/pre-commit | 2 +- .nvmrc | 2 +- .vscode/settings.json | 7 +- package.json | 11 +- src/assets/img/download_csv.svg | 3 + src/index.tsx | 1 + src/models/Choice.ts | 4 + src/models/Polls.ts | 2 + src/modules/explorer/components/BatchBar.tsx | 13 +- src/modules/explorer/components/Dropdown.tsx | 21 +- .../explorer/components/FiltersDialog.tsx | 176 + .../explorer/components/FiltersUserDialog.tsx | 232 + .../explorer/components/NavigationMenu.tsx | 3 +- .../explorer/components/ProgressBar.tsx | 1 + .../components/ProposalActionsDialog.tsx | 253 +- .../explorer/components/ProposalForm.tsx | 44 +- .../explorer/components/ProposalsList.tsx | 289 +- .../explorer/components/ResponsiveDialog.tsx | 8 +- .../explorer/components/StatusBadge.tsx | 33 +- src/modules/explorer/components/Toolbar.tsx | 2 +- .../explorer/components/TransferBadge.tsx | 87 +- src/modules/explorer/components/UserBadge.tsx | 6 +- .../explorer/components/UsersTable.tsx | 83 +- .../explorer/components/VotersProgress.tsx | 205 +- .../explorer/components/VotesDetailDialog.tsx | 61 +- .../explorer/components/VotesTable.tsx | 116 +- .../explorer/components/XTZTransferBadge.tsx | 85 +- .../pages/DAO/components/SettingsDialog.tsx | 150 + src/modules/explorer/pages/DAO/index.tsx | 18 +- .../pages/DAOList/components/DAOItem.tsx | 12 +- src/modules/explorer/pages/DAOList/index.tsx | 7 +- src/modules/explorer/pages/DAOList/styles.css | 16 +- src/modules/explorer/pages/NFTs/index.tsx | 2 + .../explorer/pages/ProposalDetails/index.tsx | 508 +- .../explorer/pages/Proposals/index.tsx | 42 +- .../Treasury/components/BalancesTable.tsx | 2 + .../Treasury/components/TransfersTable.tsx | 4 + .../Treasury/components/TreasuryDialog.tsx | 131 + src/modules/explorer/pages/Treasury/index.tsx | 19 +- .../pages/User/components/TransactionItem.tsx | 32 +- .../pages/User/components/UserMovements.tsx | 649 +- src/modules/explorer/pages/User/index.tsx | 117 +- .../explorer/components/DownloadCsvFile.tsx | 75 + .../explorer/components/ProposalTableRow.tsx | 4 +- .../lite/explorer/components/VoteDetails.tsx | 11 +- .../services/dao/mappers/proposal/types.ts | 8 +- src/services/utils/utils.ts | 13 + src/theme/index.ts | 9 +- yarn.lock | 9346 +++++++++-------- 49 files changed, 7672 insertions(+), 5253 deletions(-) create mode 100644 src/assets/img/download_csv.svg create mode 100644 src/modules/explorer/components/FiltersDialog.tsx create mode 100644 src/modules/explorer/components/FiltersUserDialog.tsx create mode 100644 src/modules/explorer/pages/DAO/components/SettingsDialog.tsx create mode 100644 src/modules/explorer/pages/Treasury/components/TreasuryDialog.tsx create mode 100644 src/modules/lite/explorer/components/DownloadCsvFile.tsx diff --git a/.husky/pre-commit b/.husky/pre-commit index 5a182ef1..d24fdfc6 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,4 @@ #!/usr/bin/env sh . "$(dirname -- "$0")/_/husky.sh" -yarn lint-staged +npx lint-staged diff --git a/.nvmrc b/.nvmrc index dac255d2..91f7588a 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v16.15.1 +v18.20.0 diff --git a/.vscode/settings.json b/.vscode/settings.json index 312efbb2..ce255610 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +1,7 @@ { "typescript.tsdk": "node_modules/typescript/lib", - "svg.preview.background": "black" -} \ No newline at end of file + "svg.preview.background": "black", + "cSpell.words": [ + "offchain" + ] +} diff --git a/package.json b/package.json index 1411b9f6..28ddd03c 100644 --- a/package.json +++ b/package.json @@ -43,6 +43,7 @@ "blockies-ts": "^1.0.0", "crypto-browserify": "^3.12.0", "dayjs": "^1.10.4", + "export-to-csv": "^1.2.4", "formik": "^2.2.6", "formik-material-ui": "^3.0.1", "formik-material-ui-lab": "^0.0.8", @@ -92,15 +93,15 @@ "@types/react-html-parser": "^2.0.2", "@types/react-router-dom": "^5.1.6", "@types/yup": "^0.29.11", - "@typescript-eslint/eslint-plugin": "^4.18.0", - "@typescript-eslint/parser": "^4.18.0", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", "eslint": "^7.22.0", "eslint-config-prettier": "^8.1.0", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "^7.21.5", "eslint-plugin-react-hooks": "^4.2.0", - "husky": "^8.0.1", - "lint-staged": "^13.0.3", + "husky": "8.0.3", + "lint-staged": "15.2.2", "prettier": "^2.2.0", "source-map-explorer": "2.5.2", "typescript": "^5.0.4" @@ -133,7 +134,7 @@ }, "lint-staged": { "src/**/*.{js,jsx,ts,tsx}": [ - "yarn lint:check" + "npm run lint:check" ] } } diff --git a/src/assets/img/download_csv.svg b/src/assets/img/download_csv.svg new file mode 100644 index 00000000..f0203c1a --- /dev/null +++ b/src/assets/img/download_csv.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/index.tsx b/src/index.tsx index e55d28a0..d3dc348b 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -9,6 +9,7 @@ import dayjs from "dayjs" dayjs.extend(localizedFormat) +// eslint-disable-next-line react/no-deprecated ReactDOM.render( diff --git a/src/models/Choice.ts b/src/models/Choice.ts index 5af12cc8..e012039e 100644 --- a/src/models/Choice.ts +++ b/src/models/Choice.ts @@ -9,4 +9,8 @@ export interface Choice { export interface WalletAddress { address: string balanceAtReferenceBlock: string + cidLink: string + choiceId: string + payloadBytes: string + signature: string } diff --git a/src/models/Polls.ts b/src/models/Polls.ts index 0d16afa8..800ca70f 100644 --- a/src/models/Polls.ts +++ b/src/models/Polls.ts @@ -25,6 +25,8 @@ export interface Poll { endTimeHours?: number | null endTimeDays?: number | null isXTZ: boolean + id?: string + getStatus?: any } export interface Vote { diff --git a/src/modules/explorer/components/BatchBar.tsx b/src/modules/explorer/components/BatchBar.tsx index ad03453a..8e830fdc 100644 --- a/src/modules/explorer/components/BatchBar.tsx +++ b/src/modules/explorer/components/BatchBar.tsx @@ -1,7 +1,7 @@ import React from "react" import { Grid, Paper, styled, Switch, Typography } from "@material-ui/core" import { ProposalFormInput } from "./ProposalFormInput" - +import AddIcon from "@mui/icons-material/Add" const BatchBarContainer = styled(Grid)(({ theme }) => ({ height: 47, alignItems: "start", @@ -41,8 +41,6 @@ const TransferActive = styled(Grid)({ const AddButton = styled(Paper)({ "marginLeft": 12, - "minHeight": 31, - "minWidth": 31, "textAlign": "center", "padding": 0, "background": "inherit", @@ -90,13 +88,13 @@ export const BatchBar = ({ isBatch, handleIsBatchChange, onClickAdd, items, acti item key={index} onClick={() => setActiveItem(index)} - style={Number(index + 1) === activeItem ? { background: "#81FEB7" } : { background: "inherit" }} + style={Number(index + 1) === activeItem ? { background: "#24282D" } : { background: "inherit" }} > @@ -106,7 +104,10 @@ export const BatchBar = ({ isBatch, handleIsBatchChange, onClickAdd, items, acti ) })} - + + + {" "} + {" "} + ) : null} diff --git a/src/modules/explorer/components/Dropdown.tsx b/src/modules/explorer/components/Dropdown.tsx index 856209f6..e40b7cd5 100644 --- a/src/modules/explorer/components/Dropdown.tsx +++ b/src/modules/explorer/components/Dropdown.tsx @@ -5,6 +5,7 @@ interface DropdownProps extends SelectProps { value?: string | undefined onSelected?: (item: string | undefined) => void isFirst?: boolean + isFilter?: boolean } const useStyles = makeStyles((theme: Theme) => ({ @@ -24,17 +25,29 @@ const useStyles = makeStyles((theme: Theme) => ({ minHeight: 24 }, option: { - "padding": 8, + "padding": 12, "fontFamily": "Roboto Flex", "cursor": "pointer", "text-transform": "capitalize", "&:hover": { background: "rgba(129, 254, 183, .4)" } + }, + selectFilter: { + "backgroundColor": "#2F3438", + "padding": 12, + "borderRadius": 8, + "paddingRight": "36px !important", + "&:focus": { + backgroundColor: "#2F3438", + padding: 12, + borderRadius: 8, + paddingRight: 36 + } } })) -export const Dropdown: React.FC = ({ options, value, onSelected }) => { +export const Dropdown: React.FC = ({ options, value, onSelected, isFilter = false }) => { const classes = useStyles() const [selected, setSelected] = useState(value) @@ -49,11 +62,11 @@ export const Dropdown: React.FC = ({ options, value, onSelected } return (