Compare commits

...

69 Commits

Author SHA1 Message Date
Dawid Wysokiński c841aa9b7a
remove unnecessary lines from manifest.tmpl
continuous-integration/drone/tag Build is passing Details
2022-09-25 13:44:13 +02:00
Dawid Wysokiński ff372f7aca
add .drone.yml
continuous-integration/drone/tag Build is failing Details
2022-09-25 13:36:12 +02:00
Dawid Wysokiński 922628cdd4
refactor 2022-09-25 13:33:01 +02:00
Dawid Wysokiński 69d06c8190
Merge pull request #73 from zdam-egzamin-zawodowy/renovate/node-14.x
chore(deps): update node.js to v14.19.2
2022-05-18 05:29:41 +02:00
Renovate Bot a427a53d3b
chore(deps): update node.js to v14.19.2 2022-05-17 19:48:13 +00:00
Dawid Wysokiński f61a96ec1e
fix: fix infinite loading screen 2022-04-24 09:53:29 +02:00
Dawid Wysokiński 44e30f43ff
Merge pull request #65 from zdam-egzamin-zawodowy/renovate/npm-validator-vulnerability
fix(deps): update dependency validator to v13.7.0 [security]
2021-12-21 17:14:47 +01:00
Renovate Bot cbb98fcba2
fix(deps): update dependency validator to v13.7.0 [security] 2021-12-21 14:48:46 +00:00
Dawid Wysokiński b9440dfd51
Merge pull request #63 from zdam-egzamin-zawodowy/renovate/node-14.x
chore(deps): update node.js to v14.18.2
2021-12-02 06:49:40 +01:00
Renovate Bot fad7cccc1e
chore(deps): update node.js to v14.18.2 2021-12-02 01:58:07 +00:00
Dawid Wysokiński 0c8e68c64b
Merge pull request #59 from zdam-egzamin-zawodowy/renovate/graphqlcodegenerator-monorepo
chore(deps): update graphqlcodegenerator monorepo
2021-11-21 11:22:28 +01:00
Renovate Bot 2ee250a007
chore(deps): update graphqlcodegenerator monorepo 2021-11-18 10:16:37 +00:00
Dawid Wysokiński a407fc7709
fix: wrong release name in cli.releases.uploadSourceMaps 2021-11-10 08:15:25 +01:00
Dawid Wysokiński 55087ff50f
fix: wrong release name in cli.releases.finalize 2021-11-10 08:15:04 +01:00
Dawid Wysokiński b1e8ed6d6a
update Dockerfile 2021-11-10 08:09:29 +01:00
Dawid Wysokiński d4d5390517
sentry: add a prefix to the release name 2021-11-10 08:07:46 +01:00
Dawid Wysokiński 962ed4b610
sentry: rename one env (REACT_APP_ENABLE_SENTRY -> REACT_APP_SENTRY_ENABLED) 2021-11-07 08:50:49 +01:00
Dawid Wysokiński 0fc7a8d6ae
add environment to Sentry.init 2021-11-06 10:37:10 +01:00
Dawid Wysokiński 284ab3dbce
small refactor + add Sentry.captureException in two catch blocks 2021-11-06 09:28:13 +01:00
Dawid Wysokiński f528cedafb
add Sentry 2021-11-06 09:18:57 +01:00
Dawid Wysokiński e0afdc4879
Merge pull request #49 from zdam-egzamin-zawodowy/renovate/graphqlcodegenerator-monorepo
chore(deps): update graphqlcodegenerator monorepo
2021-10-30 22:48:36 +02:00
Renovate Bot 7c960edf44
chore(deps): update graphqlcodegenerator monorepo 2021-10-29 22:07:35 +00:00
Dawid Wysokiński 95c630f6ac
replace .circleci with github workflows 2021-10-28 07:48:59 +02:00
Dawid Wysokiński 3635d1aebf
Merge pull request #52 from zdam-egzamin-zawodowy/renovate/circleci-node-14.x
chore(deps): update node.js to v14.18.1
2021-10-26 09:26:22 +02:00
Renovate Bot 3f78cca69d
chore(deps): update node.js to v14.18.1 2021-10-20 14:05:40 +00:00
Dawid Wysokiński 645127f981
Merge pull request #51 from zdam-egzamin-zawodowy/renovate/node-14.x
chore(deps): update node.js to v14.18.1
2021-10-13 07:11:41 +02:00
Renovate Bot 5a047e1fb2
chore(deps): update node.js to v14.18.1 2021-10-13 02:12:22 +00:00
Dawid Wysokiński 37099648de
Merge pull request #50 from zdam-egzamin-zawodowy/renovate/circleci-node-14.x
chore(deps): update node.js to v14.18.0
2021-10-12 08:06:43 +02:00
Renovate Bot a42709234f
chore(deps): update node.js to v14.18.0 2021-10-04 02:02:21 +00:00
Dawid Wysokiński f4e9291079
Merge pull request #48 from zdam-egzamin-zawodowy/renovate/node-14.x
chore(deps): update node.js to v14.18.0
2021-09-30 19:28:15 +02:00
Renovate Bot 520947e054
chore(deps): update node.js to v14.18.0 2021-09-29 01:44:44 +00:00
Dawid Wysokiński 27bed6f3f2
Merge pull request #46 from zdam-egzamin-zawodowy/renovate/graphqlcodegenerator-monorepo
chore(deps): update graphqlcodegenerator monorepo
2021-09-11 07:31:38 +02:00
Renovate Bot b72bc0b571
chore(deps): update graphqlcodegenerator monorepo 2021-09-10 18:05:13 +00:00
Dawid Wysokiński 1a8bdf36e3
Merge pull request #45 from zdam-egzamin-zawodowy/renovate/graphqlcodegenerator-monorepo
chore(deps): update graphqlcodegenerator monorepo
2021-09-07 17:20:45 +02:00
Renovate Bot f75b0de10c
chore(deps): update graphqlcodegenerator monorepo 2021-09-07 10:54:50 +00:00
Dawid Wysokiński 1b7406bea6
Merge pull request #44 from zdam-egzamin-zawodowy/renovate/circleci-node-14.x
chore(deps): update node.js to v14.17.6
2021-09-06 06:53:47 +02:00
Renovate Bot 92aa556a55
chore(deps): update node.js to v14.17.6 2021-09-06 01:12:25 +00:00
Dawid Wysokiński c7590d1aa8
Merge pull request #43 from zdam-egzamin-zawodowy/renovate/graphqlcodegenerator-monorepo
chore(deps): update graphqlcodegenerator monorepo
2021-09-04 07:04:44 +02:00
Renovate Bot 7919236892
chore(deps): update graphqlcodegenerator monorepo 2021-09-03 14:44:02 +00:00
Dawid Wysokiński 3cc4ec48d7
Merge pull request #42 from zdam-egzamin-zawodowy/renovate/node-14.x
chore(deps): update node.js to v14.17.6
2021-09-01 06:53:01 +02:00
Renovate Bot b4e5989879
chore(deps): update node.js to v14.17.6 2021-08-31 19:38:48 +00:00
Dawid Wysokiński e62498bc4a
Merge pull request #40 from zdam-egzamin-zawodowy/renovate/graphqlcodegenerator-monorepo
chore(deps): update graphqlcodegenerator monorepo to v2.1.2
2021-08-26 07:02:52 +02:00
Renovate Bot 5560cdf184
chore(deps): update graphqlcodegenerator monorepo to v2.1.2 2021-08-25 20:20:08 +00:00
Dawid Wysokiński df39a5afad
Merge pull request #39 from zdam-egzamin-zawodowy/renovate/graphqlcodegenerator-monorepo
chore(deps): update graphqlcodegenerator monorepo to v2.1.1
2021-08-23 13:35:39 +02:00
Renovate Bot c807da22f4
chore(deps): update graphqlcodegenerator monorepo to v2.1.1 2021-08-23 08:07:27 +00:00
Dawid Wysokiński 0c663509fc
Merge pull request #38 from zdam-egzamin-zawodowy/renovate/graphqlcodegenerator-monorepo
chore(deps): update dependency @graphql-codegen/cli to v2.1.1
2021-08-20 14:03:37 +02:00
Renovate Bot 7de51d9337
chore(deps): update dependency @graphql-codegen/cli to v2.1.1 2021-08-20 10:23:04 +00:00
Dawid Wysokiński 14bdb1e2fa
Merge pull request #37 from zdam-egzamin-zawodowy/renovate/graphqlcodegenerator-monorepo
chore(deps): update graphqlcodegenerator monorepo to v2.1.0
2021-08-19 19:43:35 +02:00
Renovate Bot 270b9463f7
chore(deps): update graphqlcodegenerator monorepo to v2.1.0 2021-08-19 17:42:23 +00:00
Dawid Wysokiński bd0b307d41
Merge pull request #36 from zdam-egzamin-zawodowy/renovate/circleci-node-14.x
chore(deps): update node.js to v14.17.5
2021-08-16 07:54:04 +02:00
Renovate Bot 5f2bc8de39
chore(deps): update node.js to v14.17.5 2021-08-16 01:58:53 +00:00
Dawid Wysokiński 42428f60c1
Merge pull request #35 from zdam-egzamin-zawodowy/renovate/node-14.x
chore(deps): update node.js to v14.17.5
2021-08-13 07:06:41 +02:00
Renovate Bot fc44288118
chore(deps): update node.js to v14.17.5 2021-08-12 20:06:25 +00:00
Dawid Wysokiński c1cc709fd3
Merge pull request #33 from zdam-egzamin-zawodowy/renovate/graphqlcodegenerator-monorepo
chore(deps): update graphqlcodegenerator monorepo to v2.0.1
2021-08-10 07:55:06 +02:00
Renovate Bot 8db86cc59c
chore(deps): update graphqlcodegenerator monorepo to v2.0.1 2021-08-03 13:34:18 +00:00
Dawid Wysokiński aef6496977
Merge pull request #32 from zdam-egzamin-zawodowy/renovate/major-graphqlcodegenerator-monorepo
chore(deps): update graphqlcodegenerator monorepo to v2 (major)
2021-08-03 12:42:25 +02:00
Renovate Bot fc85a0a93b
chore(deps): update graphqlcodegenerator monorepo to v2 2021-08-03 10:00:17 +00:00
Dawid Wysokiński 4801584d6d
Merge pull request #31 from zdam-egzamin-zawodowy/renovate/circleci-node-14.x
chore(deps): update node.js to v14.17.4
2021-07-31 08:10:19 +02:00
Renovate Bot 03d226f282
chore(deps): update node.js to v14.17.4 2021-07-31 01:19:29 +00:00
Dawid Wysokiński 7b9ef4956a
Merge pull request #30 from zdam-egzamin-zawodowy/renovate/node-14.x
chore(deps): update node.js to v14.17.4
2021-07-30 21:36:00 +02:00
Renovate Bot 4b7a895235
chore(deps): update node.js to v14.17.4 2021-07-30 19:28:32 +00:00
Dawid Wysokiński cfdbb6b057
Merge pull request #29 from zdam-egzamin-zawodowy/renovate/graphqlcodegenerator-monorepo
chore(deps): update dependency @graphql-codegen/cli to v1.21.8
2021-07-28 18:19:43 +02:00
Renovate Bot a8952f5b7d
chore(deps): update dependency @graphql-codegen/cli to v1.21.8 2021-07-28 16:19:09 +00:00
Dawid Wysokiński 2397d5c70a
Merge pull request #20 from zdam-egzamin-zawodowy/renovate/apollo-upload-client-16.x
fix(deps): update dependency apollo-upload-client to v16
2021-07-21 15:32:24 +02:00
Dawid Wysokiński 9806177da8
Merge pull request #23 from zdam-egzamin-zawodowy/renovate/web-vitals-2.x
fix(deps): update dependency web-vitals to v2
2021-07-16 10:48:11 +02:00
Dawid Wysokiński b1509d738e
Merge pull request #28 from zdam-egzamin-zawodowy/renovate/graphqlcodegenerator-monorepo
chore(deps): update graphqlcodegenerator monorepo
2021-07-13 11:13:47 +02:00
Renovate Bot d9be8bf666
chore(deps): update graphqlcodegenerator monorepo 2021-07-13 07:18:10 +00:00
Renovate Bot 2e50f84e60
fix(deps): update dependency web-vitals to v2 2021-07-04 22:12:21 +00:00
Renovate Bot c6e6768e98
fix(deps): update dependency apollo-upload-client to v16 2021-07-04 21:01:53 +00:00
9 changed files with 807 additions and 545 deletions

View File

@ -1,49 +0,0 @@
version: 2
jobs:
build_latest:
docker:
- image: circleci/node:14.17.3-browsers
working_directory: ~/zdamegzzawodowyadminpanel
steps:
- checkout
- setup_remote_docker:
version: 20.10.2
- run: |
docker login -u $DOCKER_LOGIN -p $DOCKER_PASSWORD
# build the application image
- run: docker build -t $DOCKER_LOGIN/zdam-egzamin-zawodowy-admin-panel:latest .
# deploy the image
- run: docker push $DOCKER_LOGIN/zdam-egzamin-zawodowy-admin-panel:latest
build_version:
docker:
- image: circleci/node:14.17.3-browsers
working_directory: ~/zdamegzzawodowyadminpanel
steps:
- checkout
- setup_remote_docker:
version: 20.10.2
- run: |
docker login -u $DOCKER_LOGIN -p $DOCKER_PASSWORD
# build the application image
- run: docker build -t $DOCKER_LOGIN/zdam-egzamin-zawodowy-admin-panel:$(echo $CIRCLE_TAG | sed -r 's/^.{1}//') .
# deploy the image
- run: docker push $DOCKER_LOGIN/zdam-egzamin-zawodowy-admin-panel:$(echo $CIRCLE_TAG | sed -r 's/^.{1}//')
workflows:
version: 2
deploy_latest:
jobs:
- build_latest:
context: Zdam-Egzamin-Zawodowy
filters:
branches:
only:
- master
deploy_version:
jobs:
- build_version:
context: Zdam-Egzamin-Zawodowy
filters:
tags:
only: /^v.*/
branches:
ignore: /.*/

59
.drone.yml Normal file
View File

@ -0,0 +1,59 @@
---
kind: pipeline
type: docker
name: linux-amd64
platform:
os: linux
arch: amd64
steps:
- name: publish
image: plugins/docker
settings:
username:
from_secret: docker_username
password:
from_secret: docker_password
registry: gitea.dwysokinski.me
repo: gitea.dwysokinski.me/zdam-egzamin-zawodowy-docker/admin-panel
auto_tag: true
auto_tag_suffix: linux-amd64
dockerfile: Dockerfile
trigger:
event:
- tag
---
kind: pipeline
type: docker
name: manifest
steps:
- name: manifest
image: plugins/manifest
settings:
auto_tag: "true"
ignore_missing: "true"
spec: manifest.tmpl
username:
from_secret: docker_username
password:
from_secret: docker_password
- name: manifest-latest
image: plugins/manifest
settings:
tags: latest
ignore_missing: "true"
spec: manifest.tmpl
username:
from_secret: docker_username
password:
from_secret: docker_password
trigger:
event:
- tag
depends_on:
- linux-amd64

1
.env.development Normal file
View File

@ -0,0 +1 @@
REACT_APP_VERSION=development

View File

@ -1,4 +1,4 @@
FROM node:14.17.3-alpine as build-deps
FROM node:14.19.2-alpine as build-deps
#Stage 1
@ -6,7 +6,9 @@ WORKDIR /usr/src/app
COPY package.json yarn.lock ./
RUN yarn
COPY . ./
ENV NODE_ENV=production
RUN yarn build
#Stage 2

View File

@ -1,27 +1,7 @@
# zdamegzaminzawodowy.pl Admin Panel
# Admin panel
![Screenshot](/screenshots/professionspage.png?raw=true)
## Development
### Prerequisites
1. Node.JS
2. yarn
3. [Configured backend](https://github.com/zdam-egzamin-zawodowy/backend)
### Installation
1. Clone this repo
```
git clone git@github.com:zdam-egzamin-zawodowy/admin-panel.git
```
2. Navigate to the directory where you have cloned this repo.
3. ``yarn install``
4. ``yarn run start``
## License
Distributed under the MIT License. See ``LICENSE`` for more information.

13
manifest.tmpl Normal file
View File

@ -0,0 +1,13 @@
image: gitea.dwysokinski.me/zdam-egzamin-zawodowy-docker/admin-panel:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
{{#if build.tags}}
tags:
{{#each build.tags}}
- {{this}}
{{/each}}
{{/if}}
manifests:
-
image: gitea.dwysokinski.me/zdam-egzamin-zawodowy-docker/admin-panel:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-amd64
platform:
architecture: amd64
os: linux

View File

@ -15,7 +15,7 @@
"@types/node": "^14.0.0",
"@types/react": "^17.0.0",
"@types/react-dom": "^17.0.0",
"apollo-upload-client": "^14.1.3",
"apollo-upload-client": "^16.0.0",
"clsx": "^1.1.1",
"date-fns": "^2.22.1",
"graphql": "^15.5.0",
@ -32,7 +32,7 @@
"typescript": "^4.1.2",
"use-query-params": "^1.2.2",
"validator": "^13.6.0",
"web-vitals": "^1.1.1"
"web-vitals": "^2.0.0"
},
"scripts": {
"start": "react-app-rewired start",
@ -69,9 +69,9 @@
]
},
"devDependencies": {
"@graphql-codegen/cli": "1.21.6",
"@graphql-codegen/typescript": "1.22.4",
"@graphql-codegen/typescript-operations": "1.18.3",
"@graphql-codegen/cli": "2.3.0",
"@graphql-codegen/typescript": "2.4.1",
"@graphql-codegen/typescript-operations": "2.2.1",
"@types/apollo-upload-client": "^14.1.0",
"@types/lodash": "^4.14.168",
"@types/react-router-dom": "^5.1.7",

View File

@ -1,4 +1,4 @@
import { useMemo, useState, useEffect } from 'react';
import { useMemo, useState, useEffect, useCallback } from 'react';
import { useApolloClient } from '@apollo/client';
import { isFunction } from 'lodash';
import { context as Context } from './context';
@ -7,7 +7,6 @@ import { MutationSignInArgs, Mutation } from 'libs/graphql/types';
import TokenStorage from '../tokenstorage/TokenStorage';
import { QUERY_ME } from './queries';
import { MUTATION_SIGN_IN } from './mutations';
import { useCallback } from 'react';
export interface AuthProviderProps {
tokenStorage?: TokenStorage;
@ -22,29 +21,35 @@ export function AuthProvider(props: AuthProviderProps) {
const client = useApolloClient();
const [user, setUser] = useState<AuthContext['user']>(null);
const [loading, setLoading] = useState<boolean>(true);
const tokenStorage = useMemo(() => {
if (props.tokenStorage) {
return props.tokenStorage;
}
return new TokenStorage();
}, [props.tokenStorage]);
const loadUser = useCallback(async () => {
if (tokenStorage.token) {
try {
const result = await client.query<MeQueryResult>({
query: QUERY_ME,
fetchPolicy: 'network-only',
});
if (result.data.me) {
setUser(result.data.me);
}
} catch (e) {}
if (!tokenStorage.token) {
return;
}
setLoading(false);
}, [setUser, setLoading, client, tokenStorage]);
try {
const result = await client.query<MeQueryResult>({
query: QUERY_ME,
fetchPolicy: 'network-only',
});
if (result.data.me) {
setUser(result.data.me);
}
} catch (e) {}
}, [setUser, client, tokenStorage]);
useEffect(() => {
loadUser();
}, [loadUser]);
loadUser().finally(() => {
setLoading(false);
});
}, [loadUser, setLoading]);
const signIn: AuthContext['signIn'] = async (
email: string,
@ -64,22 +69,24 @@ export function AuthProvider(props: AuthProviderProps) {
},
});
if (result.data?.signIn?.user) {
if (isFunction(validate) && !validate(result.data.signIn.user)) {
return null;
}
tokenStorage.setToken(result.data.signIn.token);
setUser(result.data.signIn.user);
client.writeQuery<MeQueryResult>({
query: QUERY_ME,
data: {
me: result.data.signIn.user,
},
});
return result.data.signIn.user;
if (!result.data?.signIn?.user) {
return null;
}
return null;
if (isFunction(validate) && !validate(result.data.signIn.user)) {
return null;
}
tokenStorage.setToken(result.data.signIn.token);
setUser(result.data.signIn.user);
client.writeQuery<MeQueryResult>({
query: QUERY_ME,
data: {
me: result.data.signIn.user,
},
});
return result.data.signIn.user;
};
const signOut = () => {

1127
yarn.lock

File diff suppressed because it is too large Load Diff