diff --git a/.gitignore b/.gitignore index 7c9138808..c2727221d 100644 --- a/.gitignore +++ b/.gitignore @@ -27,4 +27,5 @@ yarn-error.log* .idea .env.example -.cosine \ No newline at end of file +.cosine +bun.lockb \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit index 5a182ef10..d24fdfc60 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 dac255d28..91f7588a1 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v16.15.1 +v18.20.0 diff --git a/.vscode/settings.json b/.vscode/settings.json index 312efbb26..25e417a45 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +1,10 @@ { "typescript.tsdk": "node_modules/typescript/lib", - "svg.preview.background": "black" + "svg.preview.background": "black", + "cSpell.words": [ + "offchain" + ], + "editor.autoClosingBrackets": "always", + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index c0b790fee..0108d1c04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Sending XTZ directly to DAO address - Delegating DAO's XTZ to baker - Changing DAO configuration parameters +- Added Searchbar on Treasury Page ## [1.0.6] - 2022-01-05 ### Added @@ -72,4 +73,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Treasury page style ### Breaking changes -- Upgraded BaseDAO contracts to [v0.4](https://github.com/tezos-commons/baseDAO/tree/b3aa7886950d4f1eb65816ed726ce69e77e14472) - DAOs created prior to this upgrade are deprecated \ No newline at end of file +- Upgraded BaseDAO contracts to [v0.4](https://github.com/tezos-commons/baseDAO/tree/b3aa7886950d4f1eb65816ed726ce69e77e14472) - DAOs created prior to this upgrade are deprecated diff --git a/package.json b/package.json index 1411b9f6a..28ddd03c2 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 000000000..f0203c1ad --- /dev/null +++ b/src/assets/img/download_csv.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/index.tsx b/src/index.tsx index e55d28a0a..d3dc348b9 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 5af12cc85..e012039e2 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 0d16afa84..800ca70f3 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 ad03453a4..8e830fdc8 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 856209f6e..e40b7cd57 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 (