diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index c4efbf503..d14de0c2e 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -2,7 +2,7 @@ name: Bug Report description: Report a bug title: 'BUG:' labels: ['BUG'] -projects: "BinaryStudioAcademy/30" +projects: 'BinaryStudioAcademy/30' body: - type: markdown attributes: diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml index c793c4684..a628b3881 100644 --- a/.github/ISSUE_TEMPLATE/feature.yml +++ b/.github/ISSUE_TEMPLATE/feature.yml @@ -1,22 +1,22 @@ name: Feature description: Abstract feature description -title: "FEAT:" -projects: "BinaryStudioAcademy/30" +title: 'FEAT:' +projects: 'BinaryStudioAcademy/30' body: - - type: textarea - id: what-feature - attributes: - label: What feature? - placeholder: Add descriptions - validations: - required: true - - type: textarea - id: screenshots - attributes: - label: Add screenshots - placeholder: Add screenshots, mockups, etc. - - type: textarea - id: acceptance-criteria - attributes: - label: Acceptance criteria - placeholder: Add acceptance criteria. + - type: textarea + id: what-feature + attributes: + label: What feature? + placeholder: Add descriptions + validations: + required: true + - type: textarea + id: screenshots + attributes: + label: Add screenshots + placeholder: Add screenshots, mockups, etc. + - type: textarea + id: acceptance-criteria + attributes: + label: Acceptance criteria + placeholder: Add acceptance criteria. diff --git a/.github/ISSUE_TEMPLATE/task.yml b/.github/ISSUE_TEMPLATE/task.yml new file mode 100644 index 000000000..e3d60a813 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/task.yml @@ -0,0 +1,17 @@ +name: Task +description: Abstract task description +title: 'TASK:' +projects: 'BinaryStudioAcademy/30' +body: + - type: textarea + id: what-feature + attributes: + label: What task? + placeholder: Add descriptions + validations: + required: true + - type: textarea + id: screenshots + attributes: + label: Add screenshots + placeholder: Add screenshots, mockups, etc. diff --git a/.github/labeler.yml b/.github/labeler.yml deleted file mode 100644 index f6a3bc315..000000000 --- a/.github/labeler.yml +++ /dev/null @@ -1,14 +0,0 @@ -backend: - - any: - - 'backend/**/*' - - '!backend/.env.example' - -frontend: - - any: - - 'frontend/**/*' - - '!frontend/.env.example' - -ENV: - - 'backend/.env.example' - - 'frontend/.env.example' - - 'lambdas/.env.example' diff --git a/.github/workflows/ci-pr.yml b/.github/workflows/ci-pr.yml index 6620c6c57..70144f6a9 100644 --- a/.github/workflows/ci-pr.yml +++ b/.github/workflows/ci-pr.yml @@ -52,14 +52,3 @@ jobs: run: | npx danger ci --failOnErrors --text-only - - - name: Add Folder Labels - uses: actions/labeler@v4 - with: - repo-token: '${{ secrets.GITHUB_TOKEN }}' - sync-labels: true - - - name: Add Environment Labels - uses: ffittschen/pr-branch-labeler@v1 - with: - repo-token: '${{ secrets.GITHUB_TOKEN }}' diff --git a/.ls-lint.yml b/.ls-lint.yml index 486067041..292cee3b8 100644 --- a/.ls-lint.yml +++ b/.ls-lint.yml @@ -16,7 +16,7 @@ ls: .ts: snake_case ignore: - - .git + - .github - node_modules - build - shared/build diff --git a/frontend/package.json b/frontend/package.json index dc410f289..731a6841c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -7,7 +7,7 @@ "npm": "10.x.x" }, "scripts": { - "lint:css": "npx stylelint \"src/**/*.scss\"", + "lint:css": "npx stylelint \"src/**/*.scss\" --aei", "lint:js": "npx eslint \"src/**/*.{ts,tsx}\"", "lint:js:fix": "npx eslint --fix \"src/**/*.{ts,tsx}\"", "lint:type": "npx tsc --noEmit", diff --git a/frontend/src/bundles/common/components/components.ts b/frontend/src/bundles/common/components/components.ts index 5f08d3021..ca51ed2c3 100644 --- a/frontend/src/bundles/common/components/components.ts +++ b/frontend/src/bundles/common/components/components.ts @@ -1,12 +1,16 @@ export { Button } from './button/button.js'; export { Input } from './input/input.js'; export { Link } from './link/link.js'; +export { Loader } from './loader/loader.js'; +export { Overlay } from './overlay/overlay.js'; export { RouterProvider } from './router-provider/router-provider.js'; export { ViewIcon, ViewOffIcon } from '@chakra-ui/icons'; export { Box, Center, + Circle, ChakraProvider as ComponentsProvider, + Flex, FormControl, FormErrorMessage, Heading, diff --git a/frontend/src/bundles/common/components/loader/libs/constants/constants.ts b/frontend/src/bundles/common/components/loader/libs/constants/constants.ts new file mode 100644 index 000000000..f02cfb0a2 --- /dev/null +++ b/frontend/src/bundles/common/components/loader/libs/constants/constants.ts @@ -0,0 +1 @@ +export { SPIN_ANIMATION } from './spin-animation.constant.js'; diff --git a/frontend/src/bundles/common/components/loader/libs/constants/spin-animation.constant.ts b/frontend/src/bundles/common/components/loader/libs/constants/spin-animation.constant.ts new file mode 100644 index 000000000..163609b40 --- /dev/null +++ b/frontend/src/bundles/common/components/loader/libs/constants/spin-animation.constant.ts @@ -0,0 +1,8 @@ +import { keyframes } from '@chakra-ui/react'; + +const SPIN_ANIMATION = keyframes` + 0% { transform: rotate(0deg);} + 100% { transform: rotate(360deg)} +`; + +export { SPIN_ANIMATION }; diff --git a/frontend/src/bundles/common/components/loader/loader.tsx b/frontend/src/bundles/common/components/loader/loader.tsx new file mode 100644 index 000000000..b741ded76 --- /dev/null +++ b/frontend/src/bundles/common/components/loader/loader.tsx @@ -0,0 +1,32 @@ +import { Box, Circle, Flex, Text } from '@chakra-ui/react'; + +import { SPIN_ANIMATION } from './libs/constants/constants.js'; + +const Loader = (): JSX.Element => { + return ( + + + + LOGO + + + + + Loading... + + + ); +}; + +export { Loader }; diff --git a/frontend/src/bundles/common/components/overlay/overlay.tsx b/frontend/src/bundles/common/components/overlay/overlay.tsx new file mode 100644 index 000000000..f1fc4e5ee --- /dev/null +++ b/frontend/src/bundles/common/components/overlay/overlay.tsx @@ -0,0 +1,26 @@ +import { Fade, Flex } from '@chakra-ui/react'; + +type Properties = { + isOpen: boolean; + children: React.ReactNode; +}; + +const Overlay = ({ isOpen, children }: Properties): JSX.Element => { + return ( + + + {children} + + + ); +}; + +export { Overlay }; diff --git a/frontend/src/bundles/users/components/components.ts b/frontend/src/bundles/users/components/components.ts new file mode 100644 index 000000000..dcbd2c9a1 --- /dev/null +++ b/frontend/src/bundles/users/components/components.ts @@ -0,0 +1 @@ +export { UserCard } from './user-card/user-card.js'; diff --git a/frontend/src/bundles/users/components/user-card/user-card.tsx b/frontend/src/bundles/users/components/user-card/user-card.tsx new file mode 100644 index 000000000..1d340aa6c --- /dev/null +++ b/frontend/src/bundles/users/components/user-card/user-card.tsx @@ -0,0 +1,32 @@ +import { + Button, + Circle, + Flex, + Text, + VStack, +} from '~/bundles/common/components/components.js'; + +const UserCard: React.FC = () => ( + + + {/* TODO: replace Circle and Text content with dynamic values */} + + FN + + Firstname Lastname + +