Compare commits

...

175 commits

Author SHA1 Message Date
d25401733d Merge pull request 'Update react monorepo' (#68) from renovate/react-monorepo into master
All checks were successful
Deploy to production / Build (push) Successful in 58s
2025-11-26 00:58:51 +01:00
f150a56e62 Update react monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
2025-11-25 23:58:40 +00:00
37d515051c Merge pull request 'Update actions/checkout digest to 34e1148' (#65) from renovate/actions-checkout-digest into master
All checks were successful
Deploy to production / Build (push) Successful in 50s
2025-11-26 00:05:13 +01:00
883aa55fd2 Merge pull request 'Update dependency react-router-dom to v7.9.6' (#67) from renovate/react-router-monorepo into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-11-26 00:05:09 +01:00
7b5b439ba7 Merge pull request 'Update dependency @vitejs/plugin-react to v5.1.1' (#66) from renovate/vitejs-plugin-react-5.x into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-11-26 00:05:03 +01:00
b09fee494e Update dependency @vitejs/plugin-react to v5.1.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
2025-11-25 23:04:56 +00:00
8bc297ec93 Update actions/checkout digest to 34e1148 2025-11-20 16:57:34 +00:00
03c65ed275 Update dependency react-router-dom to v7.9.6
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
2025-11-16 17:57:32 +00:00
30b97b33f5 Merge pull request 'Update dependency globals to v16.5.0' (#64) from renovate/globals-16.x into master
All checks were successful
Deploy to production / Build (push) Successful in 50s
2025-11-03 16:58:16 +01:00
16b63d9950 Merge pull request 'Update dependency react-router-dom to v7.9.5' (#63) from renovate/react-router-monorepo into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-11-03 16:58:11 +01:00
750ed60a26 Update dependency react-router-dom to v7.9.5 2025-11-03 15:58:03 +00:00
1dea6f95b3 Update dependency globals to v16.5.0 2025-11-01 06:57:49 +00:00
f0eb117bc1 Merge pull request 'Update dependency @vitejs/plugin-react to v5.1.0' (#52) from renovate/vitejs-plugin-react-5.x into master
All checks were successful
Deploy to production / Build (push) Successful in 1m32s
2025-10-26 12:58:22 +01:00
385353ac1e Merge pull request 'Update dependency vite to v7.1.11 [SECURITY]' (#60) from renovate/npm-vite-vulnerability into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-10-26 12:58:17 +01:00
2c72c461e4 Update dependency vite to v7.1.11 [SECURITY] 2025-10-26 11:58:11 +00:00
75393cb0bd Update dependency @vitejs/plugin-react to v5.1.0 2025-10-24 09:57:49 +00:00
dc0d3cbad1 Merge pull request 'Update dependency react-router-dom to v7.9.4' (#45) from renovate/react-router-monorepo into master
All checks were successful
Deploy to production / Build (push) Successful in 1m33s
2025-10-17 21:03:32 +02:00
d10f2697d9 Merge pull request 'Update dependency eslint-plugin-react-refresh to v0.4.24' (#47) from renovate/eslint-plugin-react-refresh-0.x into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-10-17 21:03:28 +02:00
19d35efb84 Merge pull request 'Update dependency vite to v7.1.10' (#48) from renovate/vite-7.x into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-10-17 21:03:27 +02:00
d7a338f99a Merge pull request 'Update dependency @types/react-dom to v19.2.2' (#46) from renovate/react-monorepo into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-10-17 21:03:22 +02:00
f8df325f6e Update dependency @types/react-dom to v19.2.2 2025-10-17 19:03:18 +00:00
cabbdccce1 Update dependency vite to v7.1.10 2025-10-15 16:03:59 +00:00
481f376c8d Update dependency eslint-plugin-react-refresh to v0.4.24 2025-10-15 15:45:05 +00:00
d42f97ebad Update dependency react-router-dom to v7.9.4 2025-10-08 17:58:37 +00:00
47778ad0ed Merge pull request 'Update dependency @types/react to v19.2.1' (#44) from renovate/react-monorepo into master
All checks were successful
Deploy to production / Build (push) Successful in 43s
2025-10-07 07:58:19 +02:00
eba8836fad Update react monorepo 2025-10-07 05:58:15 +00:00
7914916dd2 Merge pull request 'Update react monorepo to v19.2.0' (#42) from renovate/react-monorepo into master
All checks were successful
Deploy to production / Build (push) Successful in 1m16s
2025-10-03 02:58:21 +02:00
5eb110d70c Merge pull request 'Update dependency vite to v7.1.8' (#43) from renovate/vite-7.x into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-10-03 02:58:18 +02:00
63acef1c92 Update dependency vite to v7.1.9 2025-10-03 00:58:12 +00:00
80a789bb17 Update react monorepo to v19.2.0 2025-10-01 22:03:36 +00:00
7317e3efb2 Merge pull request 'Update Font Awesome to v7.1.0' (#39) from renovate/font-awesome into master
All checks were successful
Deploy to production / Build (push) Successful in 45s
2025-10-01 23:57:42 +02:00
5f62c7bcad Merge pull request 'Update dependency eslint-plugin-react-refresh to v0.4.23' (#40) from renovate/eslint-plugin-react-refresh-0.x into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-10-01 23:57:40 +02:00
8f3d531f06 Merge pull request 'Update dependency @types/react-dom to v19.1.11' (#38) from renovate/react-monorepo into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-10-01 23:57:38 +02:00
0890de465a Update react monorepo 2025-10-01 21:57:31 +00:00
3e393e77c6 Update dependency eslint-plugin-react-refresh to v0.4.23 2025-10-01 21:57:20 +00:00
fa6ba191af Update Font Awesome to v7.1.0 2025-10-01 19:57:50 +00:00
f6ca40854f Merge pull request 'Update dependency @types/react to v19.1.16' (#37) from renovate/react-monorepo into master
All checks were successful
Deploy to production / Build (push) Successful in 47s
2025-10-01 19:03:05 +02:00
29f7c2458c Update dependency @types/react to v19.1.17 2025-10-01 17:03:00 +00:00
87bff90861 Merge pull request 'Update dependency eslint-plugin-react-refresh to v0.4.22' (#33) from renovate/eslint-plugin-react-refresh-0.x into master
All checks were successful
Deploy to production / Build (push) Successful in 1m23s
2025-09-28 13:58:14 +02:00
5f104f445d Merge pull request 'Update dependency react-router-dom to v7.9.3' (#35) from renovate/react-router-monorepo into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-09-28 13:58:08 +02:00
abe325e352 Merge pull request 'Update dependency @vitejs/plugin-react to v5.0.4' (#36) from renovate/vitejs-plugin-react-5.x into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-09-28 13:58:06 +02:00
13fb3c10f9 Merge pull request 'Update dependency @types/react to v19.1.14' (#34) from renovate/react-monorepo into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-09-28 13:58:00 +02:00
c988433c2c Update dependency @types/react to v19.1.15 2025-09-28 11:57:53 +00:00
e058883694 Update dependency @vitejs/plugin-react to v5.0.4 2025-09-27 14:59:03 +00:00
b255a61fb8 Update dependency react-router-dom to v7.9.3 2025-09-26 19:58:49 +00:00
be11557c0b Update dependency eslint-plugin-react-refresh to v0.4.22 2025-09-25 16:59:09 +00:00
47ace40b86 Merge pull request 'Update dependency eslint-plugin-react-refresh to v0.4.21' (#31) from renovate/eslint-plugin-react-refresh-0.x into master
All checks were successful
Deploy to production / Build (push) Successful in 1m49s
2025-09-24 21:04:08 +02:00
0012323d9f Merge pull request 'Update dependency react-router-dom to v7.9.2' (#32) from renovate/react-router-monorepo into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-09-24 21:04:01 +02:00
cb86fabffe Update dependency react-router-dom to v7.9.2 2025-09-24 19:03:52 +00:00
4f548e45e3 Update dependency eslint-plugin-react-refresh to v0.4.21 2025-09-22 23:03:34 +00:00
e60a920876 Merge remote-tracking branch 'origin/master'
All checks were successful
Deploy to production / Build (push) Successful in 1m15s
2025-09-23 00:54:49 +02:00
d309db6f06 Update portfolio naming 2025-09-23 00:54:21 +02:00
1d84bbb0f7 Merge pull request 'Update dependency @vitejs/plugin-react to v5.0.3' (#29) from renovate/vitejs-plugin-react-5.x into master
All checks were successful
Deploy to production / Build (push) Successful in 1m30s
2025-09-22 07:59:25 +02:00
04db5ac019 Merge pull request 'Update dependency vite to v7.1.6' (#30) from renovate/vite-7.x into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-09-22 07:59:20 +02:00
5557c0ce77 Update dependency vite to v7.1.7 2025-09-22 05:59:14 +00:00
763728b5d4 Update dependency @vitejs/plugin-react to v5.0.3 2025-09-17 07:58:23 +00:00
005f485924 Merge pull request 'Update dependency globals to v16.4.0' (#25) from renovate/globals-16.x into master
All checks were successful
Deploy to production / Build (push) Successful in 1m23s
2025-09-12 23:05:19 +02:00
e91da70bf8 Update dependency globals to v16.4.0 2025-09-12 21:05:10 +00:00
3be9909ac6 Merge pull request 'Update dependency @types/react to v19.1.13' (#28) from renovate/react-monorepo into master
All checks were successful
Deploy to production / Build (push) Successful in 2m16s
2025-09-12 22:59:26 +02:00
423bdf0708 Merge pull request 'Update Font Awesome to v7.0.1' (#22) from renovate/font-awesome into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-09-12 22:59:22 +02:00
0586e4cd72 Merge pull request 'Update dependency vite to v7.1.5 [SECURITY]' (#26) from renovate/npm-vite-vulnerability into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-09-12 22:59:19 +02:00
91c2773f9d Merge pull request 'Update dependency react-router-dom to v7.9.0' (#27) from renovate/react-router-monorepo into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-09-12 22:59:12 +02:00
bcd894db2e Update dependency react-router-dom to v7.9.1 2025-09-12 20:59:01 +00:00
41046abd3e Update dependency @types/react to v19.1.13 2025-09-12 18:59:38 +00:00
6c17730559 Update dependency vite to v7.1.5 [SECURITY] 2025-09-10 05:59:43 +00:00
2151d497d2 Update Font Awesome to v7.0.1 2025-09-02 19:59:49 +00:00
8fab38dc80 Merge pull request 'Update dependency vite to v7.1.4' (#21) from renovate/vite-7.x into master
All checks were successful
Deploy to production / Build (push) Successful in 1m59s
2025-09-02 11:59:02 +02:00
4ed8a89542 Update dependency vite to v7.1.4 2025-09-02 09:58:53 +00:00
5359ffc0d7 Merge pull request 'Update dependency @vitejs/plugin-react to v5.0.2' (#20) from renovate/vitejs-plugin-react-5.x into master
All checks were successful
Deploy to production / Build (push) Successful in 6m0s
2025-08-28 15:12:42 +02:00
f2ca9fe839 Update dependency @vitejs/plugin-react to v5.0.2 2025-08-28 13:12:19 +00:00
5a1c6ce90b Merge pull request 'Update dependency @types/react to v19.1.12' (#19) from renovate/react-monorepo into master
All checks were successful
Deploy to production / Build (push) Successful in 2m49s
2025-08-28 14:06:10 +02:00
5abba4eeab Update react monorepo 2025-08-28 12:05:57 +00:00
a1c5ecadf5 Merge pull request 'Update dependency @types/react-dom to v19.1.8' (#18) from renovate/react-monorepo into master
Some checks failed
Deploy to production / Build (push) Failing after 1m52s
2025-08-26 23:52:34 +02:00
0ed2d30950 Added 'private' sites
Some checks failed
Deploy to production / Build (push) Has been cancelled
2025-08-26 23:52:20 +02:00
285031c7d0 Update dependency @types/react-dom to v19.1.8 2025-08-26 06:05:14 +00:00
6f93ee6af9 Merge remote-tracking branch 'origin/master'
All checks were successful
Deploy to production / Build (push) Successful in 10m16s
2025-08-26 00:47:31 +02:00
c1c26d2d70 Added Umami 2025-08-26 00:47:18 +02:00
dcc7228915 Merge pull request 'Update dependency vite-plugin-svgr to v4.5.0' (#17) from renovate/vite-plugin-svgr-4.x-lockfile into master
All checks were successful
Deploy to production / Build (push) Successful in 8m23s
2025-08-24 16:29:25 +02:00
3974990af0 Show/Hide certain buttons by default
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-08-24 16:29:11 +02:00
aff1616ddc Update dependency vite-plugin-svgr to v4.5.0 2025-08-24 13:04:59 +00:00
adaa6c7b99 Merge pull request 'Update dependency react-router-dom to v7.8.2' (#11) from renovate/react-router-monorepo into master
All checks were successful
Deploy to production / Build (push) Successful in 2m29s
2025-08-23 18:20:54 +02:00
3232ad6c8f Update dependency react-router-dom to v7.8.2 2025-08-23 16:20:42 +00:00
9b7b4cec20 Merge pull request 'Update dependency @types/react to v19.1.11' (#10) from renovate/react-monorepo into master
All checks were successful
Deploy to production / Build (push) Successful in 3m19s
2025-08-23 18:04:40 +02:00
db80cf2c64 Update dependency @types/react to v19.1.11 2025-08-23 16:04:33 +00:00
7818fb5cf3 Merge pull request 'Update dependency @fortawesome/react-fontawesome to v0.2.6' (#9) from renovate/font-awesome into master
Some checks are pending
Deploy to production / Build (push) Waiting to run
2025-08-23 18:04:21 +02:00
bfc98c8f5d Update dependency @fortawesome/react-fontawesome to v0.2.6 2025-08-23 16:04:08 +00:00
15ef092546 Merge pull request 'Pin dependencies' (#3) from renovate/pin-dependencies into master
All checks were successful
Deploy to production / Build (push) Successful in 5m36s
Reviewed-on: #3
2025-08-23 13:20:56 +02:00
87583cc9a4 Pin dependencies 2025-08-22 16:20:52 +00:00
9645772071 Update README.md
All checks were successful
Deploy to production / Build (push) Successful in 2m39s
2025-08-22 01:22:41 +02:00
c714c5d039 Merge remote-tracking branch 'origin/master'
All checks were successful
Deploy to production / Build (push) Successful in 2m1s
2025-08-22 01:19:21 +02:00
2ed85d14cd Removed construction notice 2025-08-22 01:19:15 +02:00
681703ba0a Merge pull request 'Pin dependencies' (#4) from renovate/react-monorepo into master
Some checks failed
Deploy to production / Build (push) Has been cancelled
2025-08-22 01:17:50 +02:00
b31ece1bbc Removed bug notice
Some checks failed
Deploy to production / Build (push) Has been cancelled
2025-08-22 01:17:38 +02:00
169fd35e59 Pin dependencies
Some checks failed
renovate/artifacts Artifact file update failure
2025-08-21 21:34:06 +00:00
02626fc835 Testing Auth
All checks were successful
Deploy to production / Build (push) Successful in 2m25s
2025-08-21 23:27:00 +02:00
6bbf298c32 Testing Auth
All checks were successful
Deploy to production / Build (push) Successful in 3m43s
2025-08-21 23:20:49 +02:00
fb4d2629e7 Testing Auth
All checks were successful
Deploy to production / Build (push) Successful in 3m35s
2025-08-21 21:56:43 +02:00
66441564af Update README.md
All checks were successful
Deploy to production / Build (push) Successful in 3m43s
2025-08-21 21:46:37 +02:00
4d288c393c Let Renovater run automaticly
All checks were successful
Deploy to production / Build (push) Successful in 3m24s
2025-08-21 21:25:30 +02:00
e1e932eee1 Fixed Matrix Logo
All checks were successful
Deploy to production / Build (push) Successful in 15m28s
2025-08-21 20:50:41 +02:00
7884401576 Moved matrix logo 2025-08-21 19:13:21 +02:00
f1c5852f65 Base frame for login version 2025-08-21 17:30:23 +02:00
8744b3ce99 Add dark/lightmode switch 2025-08-21 16:11:08 +02:00
9d18d8c83c Converted to tsx 2025-08-21 13:48:11 +02:00
Kars van Velzen
577c084223
Merge pull request #36 from JeCheeseSmith/dependabot/npm_and_yarn/vitejs/plugin-react-5.0.0
Bump @vitejs/plugin-react from 4.7.0 to 5.0.0
2025-08-19 01:08:07 +02:00
Kars van Velzen
2fa719ba7a
Merge pull request #39 from JeCheeseSmith/dependabot/npm_and_yarn/vite-7.1.2
Bump vite from 7.1.1 to 7.1.2
2025-08-19 01:07:57 +02:00
Kars van Velzen
78aa936514
Merge pull request #40 from JeCheeseSmith/dependabot/npm_and_yarn/types/react-19.1.10
Bump @types/react from 19.1.9 to 19.1.10
2025-08-19 01:07:42 +02:00
dependabot[bot]
ef915d260a
Bump @types/react from 19.1.9 to 19.1.10
Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 19.1.9 to 19.1.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-version: 19.1.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-18 22:19:18 +00:00
dependabot[bot]
5ee60380e4
Bump vite from 7.1.1 to 7.1.2
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.1.1 to 7.1.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.1.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.1.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-18 21:23:53 +00:00
dependabot[bot]
0cdad09ea3
Bump @vitejs/plugin-react from 4.7.0 to 5.0.0
Bumps [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) from 4.7.0 to 5.0.0.
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@5.0.0/packages/plugin-react)

---
updated-dependencies:
- dependency-name: "@vitejs/plugin-react"
  dependency-version: 5.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-18 12:10:14 +00:00
Kars van Velzen
8910d0fb80
Merge pull request #37 from JeCheeseSmith/dependabot/npm_and_yarn/eslint/js-9.33.0
Bump @eslint/js from 9.32.0 to 9.33.0
2025-08-18 14:03:54 +02:00
Kars van Velzen
8d69d148cf
Merge pull request #35 from JeCheeseSmith/dependabot/npm_and_yarn/vite-7.1.1
Bump vite from 7.0.6 to 7.1.1
2025-08-18 14:03:44 +02:00
Kars van Velzen
74fd12e2ad
Merge pull request #38 from JeCheeseSmith/dependabot/npm_and_yarn/eslint-9.33.0
Bump eslint from 9.32.0 to 9.33.0
2025-08-18 14:03:33 +02:00
dependabot[bot]
7fbbc114da
Bump eslint from 9.32.0 to 9.33.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.32.0 to 9.33.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.32.0...v9.33.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.33.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 18:33:42 +00:00
dependabot[bot]
befa2ba1db
Bump @eslint/js from 9.32.0 to 9.33.0
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.32.0 to 9.33.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.33.0/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 9.33.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 17:44:03 +00:00
dependabot[bot]
47fd49e95a
Bump vite from 7.0.6 to 7.1.1
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.0.6 to 7.1.1.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.1.1/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.1.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 16:49:15 +00:00
58a18329ad Launching fanart site 2025-08-09 17:35:07 +02:00
4632ee3a38 clean up 2025-08-09 16:54:40 +02:00
2445ec7126 Launched archive service 2025-08-09 15:39:41 +02:00
f43e5f1b7a Launched chat service 2025-08-08 17:56:55 +02:00
Kars van Velzen
ddeb9eaa39
Merge pull request #34 from JeCheeseSmith/dependabot/npm_and_yarn/vite-7.0.6
Bump vite from 6.3.5 to 7.0.6
2025-08-08 16:36:16 +02:00
dependabot[bot]
f09b45b513
Bump vite from 6.3.5 to 7.0.6
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.3.5 to 7.0.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.0.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.0.6
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-04 15:31:01 +00:00
dc7f3b420e Merge remote-tracking branch 'origin/master' 2025-07-29 15:35:34 +02:00
157d330614 Update dependencies 2025-07-29 15:33:31 +02:00
Kars van Velzen
15edccf437
Update master.yml 2025-07-23 00:15:00 +02:00
Kars van Velzen
3acf056883
Changed blog status 2025-07-23 00:13:11 +02:00
add7049605 Redeploy 2025-07-13 18:02:23 +02:00
774658ff2b Redeploy 2025-07-13 17:58:25 +02:00
Kars van Velzen
39eb3c93a9
Update master.yml 2025-07-13 17:51:00 +02:00
e2388408a3 test 2025-07-13 17:36:30 +02:00
eb5c619700 Updated buttons and their context 2025-07-13 16:47:11 +02:00
c06d7fd214 Updated buttons and their context 2025-07-13 16:46:56 +02:00
Kars van Velzen
b58118dba8
Update app.jsx 2025-06-17 23:38:16 +02:00
Kars van Velzen
7d6f77638e
Update master.yml 2025-02-26 21:34:24 +01:00
38a4d6d6e9 Added production flag 2025-02-25 14:25:07 +01:00
09c34647fc Updated dependencies 2025-02-25 12:45:37 +01:00
0b9f2f0ddf Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/multi-317f60dc3a'
# Conflicts:
#	package.json
2025-02-25 12:44:18 +01:00
094bac23f5 Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/eslint-plugin-react-hooks-5.1.0'
# Conflicts:
#	package-lock.json
#	package.json
2025-02-25 12:43:22 +01:00
267f482360 Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/eslint-plugin-react-7.37.4' 2025-02-25 12:42:45 +01:00
1b56577054 Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/multi-76432ee86b' 2025-02-25 12:40:13 +01:00
32f7bfe8d9 Updated dependabot to merge all pull requests into 1 2025-02-25 12:39:30 +01:00
dependabot[bot]
43e94e587e
Bump eslint-plugin-react-hooks
Bumps [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) from 5.1.0-rc-fb9a90fa48-20240614 to 5.1.0.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/HEAD/packages/eslint-plugin-react-hooks)

---
updated-dependencies:
- dependency-name: eslint-plugin-react-hooks
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-25 11:02:29 +00:00
dependabot[bot]
d53ed9dd54
Bump vite from 5.4.9 to 6.2.0
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.9 to 6.2.0.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/create-vite@6.2.0/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-25 11:02:25 +00:00
dependabot[bot]
542ea226fe
Bump eslint-plugin-react from 7.37.1 to 7.37.4
Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.37.1 to 7.37.4.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.37.1...v7.37.4)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-25 11:02:14 +00:00
dependabot[bot]
972b73b1eb
Bump react and @types/react
Bumps [react](https://github.com/facebook/react/tree/HEAD/packages/react) and [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react). These dependencies needed to be updated together.

Updates `react` from 18.3.1 to 19.0.0
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.0.0/packages/react)

Updates `@types/react` from 18.3.11 to 19.0.10
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: react
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-25 11:02:06 +00:00
dependabot[bot]
4f1259b80e
Bump react-dom and @types/react-dom
Bumps [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) and [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom). These dependencies needed to be updated together.

Updates `react-dom` from 18.3.1 to 19.0.0
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.0.0/packages/react-dom)

Updates `@types/react-dom` from 18.3.1 to 19.0.4
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: react-dom
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-25 11:01:58 +00:00
a03e67a235 Added version keyword 2025-02-25 12:00:50 +01:00
ff5d26c5d1 Setting up DependaBot 2025-02-25 11:57:50 +01:00
95f3fd77b2 Added Medialibrary button 2025-02-02 13:04:21 +01:00
b0a9502699 Merge remote-tracking branch 'origin/master' 2025-01-20 17:24:56 +01:00
007cdff868 Added contact info 2025-01-20 17:24:46 +01:00
Kars van Velzen
2968b4b837
Revert Changes 2024-12-03 20:50:01 +01:00
Kars van Velzen
0dce6998b4
Revert Changes 2024-12-03 20:49:29 +01:00
Kars van Velzen
21b694fed2
Revert Changes 2024-12-03 20:48:34 +01:00
Kars van Velzen
aec32baa4a
Revert Changes 2024-12-03 20:47:17 +01:00
Kars van Velzen
6a4ce8f2a0
Update index.html 2024-12-03 20:00:31 +01:00
Kars van Velzen
987949a8cd
Update index.html 2024-12-03 19:55:21 +01:00
Kars van Velzen
68024823cc
test for banner 2024-12-03 19:54:29 +01:00
Kars van Velzen
2f43ad188e
Update README.md 2024-12-03 19:49:53 +01:00
Kars van Velzen
de331070a1
Update index.html 2024-12-03 19:49:29 +01:00
Kars van Velzen
29b5a50cd5
test 2024-12-03 19:41:01 +01:00
Kars van Velzen
5d120580fa
Update README.md 2024-12-03 19:38:41 +01:00
Kars van Velzen
95218563ef
Update README.md 2024-12-03 19:37:27 +01:00
Kars van Velzen
745d1c29a1
Update README.md 2024-12-03 19:36:58 +01:00
Kars van Velzen
2eb895110e
Update README.md 2024-12-03 19:34:46 +01:00
Kars van Velzen
6705b49341
test to make banner work 2024-12-03 19:34:21 +01:00
Kars van Velzen
74ba750ec0
test to get banner working 2024-12-03 19:33:50 +01:00
Kars van Velzen
defb36e370
test 2024-12-03 16:06:27 +01:00
Kars van Velzen
d40d0cf845
test 2024-12-03 16:03:52 +01:00
Kars van Velzen
f498dbab59
test 2024-12-03 16:03:26 +01:00
Kars van Velzen
cc0f09523a
test 2024-12-03 15:54:31 +01:00
Kars van Velzen
000e2b4d28
test 2024-12-03 15:53:26 +01:00
13a89e9db0 Merge remote-tracking branch 'origin/master' 2024-10-23 09:04:17 +02:00
ced0f0c38e Cleaned up workflow 2024-10-23 09:04:05 +02:00
Watson Smith
aa559d335d
Update README.md 2024-10-22 00:54:53 +02:00
41 changed files with 2581 additions and 3704 deletions

View file

@ -0,0 +1,38 @@
name: Deploy to production
on:
push:
branches:
- master
jobs:
Build:
runs-on: docker
steps:
- name: Checkout code
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: Set up Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: '20'
cache: npm
- name: Install dependencies
run: npm install
- name: Build
run: npm run build
- name: Set up SSH
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
- name: Connect to server
run: |
apt-get update &&
apt-get install -y rsync &&
rsync --version &&
rsync -avz --no-perms --no-times --delete -e "ssh -o StrictHostKeyChecking=no -p ${{ secrets.SSH_PORT }}" dist/ ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_HOST }}:octubre/main/

View file

@ -1,35 +0,0 @@
name: Deploy React Vite App
on:
push:
branches:
- master
jobs:
Build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@master
- name: Set up Node.js
uses: actions/setup-node@master
with:
node-version: '20'
- name: Install dependencies
run: npm install
- name: Build
run: npm run build
- name: Set up SSH
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
- name: Connect to server
run: |
rsync -avz --delete -e "ssh -o StrictHostKeyChecking=no -p ${{ secrets.SSH_PORT }}" dist/ ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_HOST }}:octubre/
# ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_HOST }} -p ${{ secrets.SSH_PORT }} "cd octubre/ && git stash && git remote set-url origin https://github.com/PPDBTeam6-2023-2024/PPDB-Project.git && git pull origin main --rebase"

View file

@ -1,11 +1,12 @@
# Octubre
Copyright (C) 2024 JeCheeseSmith, Watson Smith (this is an alias)
Copyright (C) 2024 JeCheeseSmith
This is the website code used for https://www.octubre.be . It is a hobby project and I will gradually extend upon it's services.
This is the website code used for https://www.octubre.be . It is a hobby project and I will gradually extend upon its services.
Feel free to report any issues or bugs! You can contact me using the issues form.
Feel free to report any issues or bugs! You can contact me using my socials =)
## Architecture
The website currently consists of a simple React frontend which links to different services I host.

View file

@ -4,10 +4,12 @@
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.png" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script defer src="https://octubre.be/stats/script.js" data-website-id="8bb0c911-5425-4460-aca1-fd422fdf50c8"></script>
<title>Octubre</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
</body>
</html>

3209
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -10,19 +10,25 @@
"preview": "vite preview"
},
"dependencies": {
"react": "^18.3.1",
"react-dom": "^18.3.1"
"@fortawesome/free-brands-svg-icons": "^7.0.0",
"@fortawesome/free-solid-svg-icons": "^7.0.0",
"@fortawesome/react-fontawesome": "^0.2.3",
"oidc-react": "^4.0.1",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-router-dom": "^7.8.1",
"vite-plugin-svgr": "^4.3.0"
},
"devDependencies": {
"@eslint/js": "^9.11.1",
"@types/react": "^18.3.10",
"@types/react-dom": "^18.3.0",
"@vitejs/plugin-react": "^4.3.2",
"eslint": "^9.11.1",
"eslint-plugin-react": "^7.37.0",
"eslint-plugin-react-hooks": "^5.1.0-rc.0",
"eslint-plugin-react-refresh": "^0.4.12",
"globals": "^15.9.0",
"vite": "^5.4.8"
"@eslint/js": "9.33.0",
"@types/react": "19.2.6",
"@types/react-dom": "19.2.3",
"@vitejs/plugin-react": "5.1.1",
"eslint": "9.33.0",
"eslint-plugin-react": "7.37.5",
"eslint-plugin-react-hooks": "5.2.0",
"eslint-plugin-react-refresh": "0.4.24",
"globals": "16.5.0",
"vite": "7.1.11"
}
}

0
public/favicon.png Normal file → Executable file
View file

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Before After
Before After

1
public/matrix.svg Normal file
View file

@ -0,0 +1 @@
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Matrix</title><path d="M.632.55v22.9H2.28V24H0V0h2.28v.55zm7.043 7.26v1.157h.033c.309-.443.683-.784 1.117-1.024.433-.245.936-.365 1.5-.365.54 0 1.033.107 1.481.314.448.208.785.582 1.02 1.108.254-.374.6-.706 1.034-.992.434-.287.95-.43 1.546-.43.453 0 .872.056 1.26.167.388.11.716.286.993.53.276.245.489.559.646.951.152.392.23.863.23 1.417v5.728h-2.349V11.52c0-.286-.01-.559-.032-.812a1.755 1.755 0 0 0-.18-.66 1.106 1.106 0 0 0-.438-.448c-.194-.11-.457-.166-.785-.166-.332 0-.6.064-.803.189a1.38 1.38 0 0 0-.48.499 1.946 1.946 0 0 0-.231.696 5.56 5.56 0 0 0-.06.785v4.768h-2.35v-4.8c0-.254-.004-.503-.018-.752a2.074 2.074 0 0 0-.143-.688 1.052 1.052 0 0 0-.415-.503c-.194-.125-.476-.19-.854-.19-.111 0-.259.024-.439.074-.18.051-.36.143-.53.282-.171.138-.319.337-.439.595-.12.259-.18.6-.18 1.02v4.966H5.46V7.81zm15.693 15.64V.55H21.72V0H24v24h-2.28v-.55z"/></svg>

After

Width:  |  Height:  |  Size: 939 B

17
renovate.json Normal file
View file

@ -0,0 +1,17 @@
{
"extends": [
"config:best-practices"
],
"packageRules": [
{
"matchUpdateTypes": [
"minor",
"patch",
"pin",
"digest"
],
"automerge": true
}
],
"osvVulnerabilityAlerts": true
}

View file

@ -43,3 +43,5 @@ p {
justify-content: space-evenly;
width: 50%;
}

View file

@ -1,29 +0,0 @@
import './app.css'
import ButtonGroup from "./buttonGroup.jsx";
function App() {
return (
<>
<h1>Octubre</h1>
<h2>Home of projects</h2>
<p> This website is yet under construction :) 👷 </p>
<p>
This is a linking page. Click on one of the buttons to go to the specified project, website or subdomain.
</p>
<div className="buttonGroup">
<ButtonGroup buttons={[ ["Home", "https://home.octubre.be"], ["Cloud", "https://cloud.octubre.be"], ["Me", "https://me.octubre.be"], ["Chat", "https://chat.octubre.be"], ["Archive", "https://archive.octubre.be"], ["Dev", "https://dev.octubre.be"], ["Blog", "https://blog.octubre.be"], ["Status", "https://status.octubre.be"], ["Log", "https://log.octubre.be"]]}/>
</div>
<h3>Contact</h3>
<p>
Please register any bugs of this website on <a href={"https://github.com/JeCheeseSmith/Octubre/issues"}> GitHub</a>.
</p>
</>
)
}
export default App

49
src/app.tsx Normal file
View file

@ -0,0 +1,49 @@
import './app.css';
import ButtonGroup from "./buttons/buttonGroup.tsx";
import SocialButtons from "./buttons/Socials.tsx";
import { useAuth } from 'oidc-react';
function App() {
const auth = useAuth();
console.log(auth.userData);
return (
<>
<h1>Octubre</h1>
<h2>Home of projects</h2>
<p>
This is a linking page. Click on one of the buttons to go to the specified project, website or subdomain.
</p>
{auth.userData && <div className="buttonGroup">
<ButtonGroup
buttons={[["Home", "https://home.octubre.be", "Home Automation Platform using Home Assistant"], ["Cloud", "https://cloud.octubre.be", "Personal Office Infrastructure using Nextcloud"], ["Media", "https://media.octubre.be", "Multimedia management solution using Immich"]]}/>
</div>}
<div className="buttonGroup">
<ButtonGroup
buttons={[["Blog", "https://blog.octubre.be", "Blog about this hobby project and it's development roadmap"], ["Portfolio", "https://me.octubre.be", "My portfolio page including Github Projects"], ["Chat", "https://chat.octubre.be", "Federated chat instance using Matrix & Element"], ["Log 👷", "https://log.octubre.be", "Update log linked to the blog - Under construction"], ["Status", "https://status.octubre.be", "External status page of the different Octubre services"], ["Git", "https://git.octubre.be", "Forgejo based gitserver, alternative for my Github account"],["Fandom", "https://fandom.octubre.be", 'Website dedicated to fanart & creations about things I like'], ["Archive", "https://archive.octubre.be", "Separate website to host old, no longer maintained packages & websites"], ["Dev", "https://dev.octubre.be", "Development subdomain for alfa & beta releases"]]}/>
</div>
{auth.userData && <div className="buttonGroup">
<ButtonGroup
buttons={[["Syncthing", "https://octubre.be/syncthing/", "Backup Synchronisation Service"], ["BOINC", "https://octubre.be/boinc/", "Share computing power for science!"], ["FAH", "https://octubre.be/fah", "Share computing power for science!"], ["Stats", "https://octubre.be/stats", "Anonymously keep track of visits"], ["irc", "https://irc.octubre.be", "Internet Relay Chat service using thelounge software"], ["", "https://octubre.be", ""]]}/>
</div>}
<h3>Contact</h3>
<p>
Feel free to reach out to me! 📬
</p>
<SocialButtons/>
<footer>
Don't have a good day, have a great day! 😊
</footer>
<br/>
</>
)
}
export default App

View file

@ -1,12 +0,0 @@
<html>
<head> <title>Archive</title> </head>
<h1>Archief pagina van oude websites</h1>
<body>
Website dedicated to host old versions of this website, serving as a small internet archive.
<a href="https://archive.octubre.be/portfolio">Kunst- & cultuurportfolio 6e Middelbaar | Previously hosted on webnode</a>
</body>
</html>

View file

@ -1,10 +0,0 @@
<html>
<head> <title>Archive</title> </head>
<h1>Archief pagina van oude websites</h1>
<body>
<a href="https://archive.octubre.be/portfolio/index.html">Kunst- & cultuurportfolio></a>
</body>
</html>

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,25 +0,0 @@
button {
border-radius: 8px;
border: 1px solid transparent;
margin: 0.5vw;
padding: 10px 10px;
text-align: center;
width: 150px;
font-size: 20px;
font-weight: 500;
font-family: inherit;
background-color: #1a1a1a;
cursor: pointer;
transition: border-color 0.25s;
}
button:hover {
border-color: rgb(255, 102, 0);
}
button:focus,
button:focus-visible {
outline: 4px auto -webkit-focus-ring-color;
}

View file

@ -0,0 +1,89 @@
.controlButtonContainer{
position: relative; /* Needed for absolute positioning of the tooltip */
display: inline-block;
}
.controlButton {
border-radius: 8px;
border: 2px solid var(--border-color);
margin: 0.5vw;
padding: 10px 10px;
text-align: center;
width: 150px;
font-size: 20px;
font-weight: 500;
font-family: inherit;
color: var(--foreground-color);
background-color: var(--on-background-color-primary);
cursor: pointer;
transition: border-color 0.25s;
}
.controlButton:hover {
border-color: var(--primary-color);
}
.controlButton:focus,
.controlButton:focus-visible {
outline: 4px auto -webkit-focus-ring-color;
}
.controlButtonNote {
position: absolute;
left: 10%;
top: 100%;
background-color: var(--on-background-color-secondary);
color: var(--foreground-color);
padding: 5px 10px;
border-radius: 5px;
white-space: nowrap;
z-index: 1000; /* Ensure it appears above other elements */
border: 2px solid var(--border-color);
}
.controlButtonNoteRight {
position: absolute;
left: 100%;
top: 0;
background-color: var(--on-background-color-secondary);
color: var(--foreground-color);
padding: 5px 10px;
border-radius: 5px;
white-space: nowrap;
z-index: 1000; /* Ensure it appears above other elements */
}
/* Title & Shortcut in One Row */
.tooltipHeader {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 14px;
font-weight: bold;
border-bottom: 1px solid var(--on-background-color-3);
padding-bottom: 4px;
}
/* Title on the Left */
.tooltipTitle {
color: var(--primary-color);
font-family: inherit;
}
/* Shortcut on the Right */
.tooltipShortcut {
background: var(--on-background-color-3);
padding: 2px 6px;
border-radius: 4px;
font-size: 12px;
}
/* Note Below */
.tooltipNote {
font-size: 12px;
margin-top: 4px;
color: var(--foreground-color);
font-family: inherit;
}

View file

@ -0,0 +1,24 @@
.socialContainer {
display: inline-block;
gap: 1rem;
justify-content: center;
margin-bottom: 3vh;
}
.socialButton {
color: rgb(64, 64, 64);
transition: color 0.3s;
}
.socialButton:hover {
color: rgb(255, 102, 0); /* = #FF6600 */
}
.matrixIcon {
margin-top: 2vh;
filter: invert(14%) sepia(0%) saturate(4178%) hue-rotate(139deg) brightness(125%) contrast(72%);
}
.matrixIcon:hover {
filter: invert(49%) sepia(84%) saturate(3557%) hue-rotate(0deg) brightness(102%) contrast(105%); /*Thanks to https://codepen.io/sosuke/pen/Pjoqqp for */
}

69
src/buttons/Socials.tsx Normal file
View file

@ -0,0 +1,69 @@
import React from 'react';
import styles from './Socials.module.css'; // Optional CSS
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import {
faEnvelope,
} from '@fortawesome/free-solid-svg-icons';
import {
faLinkedin,
faGithub,
} from '@fortawesome/free-brands-svg-icons';
interface SocialButton {
icon: any;
label: string;
href: string;
}
const socialButtons: SocialButton[] = [
{
icon: faEnvelope,
label: 'Email',
href: 'mailto:kars.van.velzen@gmail.com',
},
{
icon: faLinkedin,
label: 'LinkedIn',
href: 'https://www.linkedin.com/in/kars-van-velzen',
},
{
icon: faGithub,
label: 'GitHub',
href: 'https://github.com/JeCheeseSmith',
},
// {
// icon: "custom-matrix",
// label: 'Matrix',
// href: '',
// },
];
const SocialButtons: React.FC = () => {
return (
<div className={styles.socialContainer}>
{socialButtons.map((btn) => (
<a
key={btn.label}
href={btn.href}
target="_blank"
rel="noopener noreferrer"
aria-label={btn.label}
className={styles.socialButton}
>
<FontAwesomeIcon icon={btn.icon} size="2xl"/>
</a>
))}
<a key={"Matrix"}
href={"https://matrix.to/#/@jecheesesmith:octubre.be"}
target="_blank"
rel="noopener noreferrer"
aria-label={"Matrix"}
className={styles.socialButton}>
<img src="/matrix.svg" className={styles.matrixIcon} alt={"Matrix Logo"}/>
</a>
</div>
);
};
export default SocialButtons;

51
src/buttons/button.tsx Normal file
View file

@ -0,0 +1,51 @@
import { useState } from 'react';
import styles from './Button.module.css';
import * as React from "react";
interface ButtonProps {
note?: string;
onClick: () => void;
clicked?: boolean;
title: string;
right?: boolean;
text?: string;
style?: React.CSSProperties;
}
const Button: React.FC<ButtonProps> = ({
note = '',
onClick,
title,
right = false,
text = '',
style,
}) => {
const [isHovered, setIsHovered] = useState(false);
const controlButtonNote = right ? styles.controlButtonNoteRight : styles.controlButtonNote;
return (
<div className={styles.controlButtonContainer} style={style}>
<button
aria-label={note}
className={styles.controlButton}
onMouseEnter={() => setIsHovered(true)}
onMouseLeave={() => setIsHovered(false)}
onClick={onClick}
>
{text}
</button>
{isHovered && note!='' &&
<span className={controlButtonNote}>
<div className={styles.tooltipHeader}>
<span className={styles.tooltipTitle}>{title}</span>
<span className={styles.tooltipShortcut}>{''}</span>
</div>
<p className={styles.tooltipNote}>{note}</p>
</span>
}
</div>
);
};
export default Button;

View file

@ -1,7 +1,7 @@
import "./button.css";
import Button from "./button.jsx";
// eslint-disable-next-line react/prop-types
const ButtonGroup = ({ buttons }) => {
const ButtonGroup = ({ buttons }: { buttons: string[][] }) => {
// @ts-ignore
const openInNewTab = url => {
window.open(url, '_blank', 'noopener,noreferrer');
};
@ -9,9 +9,8 @@ const ButtonGroup = ({ buttons }) => {
<>
{/* eslint-disable-next-line react/prop-types */}
{buttons.map((buttonLabel, i) => (
<button key={i} name={buttonLabel[0]} onClick={() => openInNewTab(buttonLabel[1])}>
{buttonLabel[0]}
</button>
<Button key={i} text={buttonLabel[0]} onClick={() => openInNewTab(buttonLabel[1])} note={buttonLabel[2]}
title={buttonLabel[1]}/>
))}
</>
);

View file

@ -0,0 +1,7 @@
.Header{
display: flex;
justify-content: flex-end;
width: 100%;
text-align: right; /* override parent's center */
gap: 1rem;
}

22
src/header/Header.tsx Normal file
View file

@ -0,0 +1,22 @@
import styles from './themeSwitch.module.css';
import styles2 from './Header.module.css';
import ThemeSwitch from "./themeSwitch.tsx";
import { useAuth } from 'oidc-react';
const Header = () => {
const auth = useAuth();
return (
<div>
<div className={styles2.Header}>
<ThemeSwitch />
<button className={styles.button} onClick={() => auth.signIn()}>
Log in
</button>
</div>
</div>
);
};
export default Header;

View file

@ -0,0 +1,14 @@
.button {
border: 2px solid var(--border-color);
color: var(--foreground-color);
background-color: var(--on-background-color-primary);
font-size: 1rem;
cursor: pointer;
border-radius: 6px;
transition: background 0.3s, color 0.3s;
}
.button:hover {
border-color: var(--primary-color);
}

View file

@ -0,0 +1,21 @@
import { useTheme } from './useTheme.ts';
import styles from './themeSwitch.module.css';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faMoon, faSun } from '@fortawesome/free-solid-svg-icons';
const ThemeToggleButton = () => {
const [theme, toggleTheme] = useTheme();
return (
<button className={styles.button} onClick={toggleTheme} aria-label="Toggle dark mode">
{theme === 'dark' ? (
<FontAwesomeIcon icon={faSun}/>
) : (
<FontAwesomeIcon icon={faMoon}/>
)}
</button>
);
};
export default ThemeToggleButton;

25
src/header/useTheme.ts Normal file
View file

@ -0,0 +1,25 @@
import { useEffect, useState } from 'react';
type Theme = 'light' | 'dark';
export const useTheme = (): [Theme, () => void] => {
const getInitialTheme = (): Theme => {
const stored = localStorage.getItem('theme');
if (stored === 'light' || stored === 'dark') return stored;
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
return prefersDark ? 'dark' : 'light';
};
const [theme, setTheme] = useState<Theme>(getInitialTheme);
useEffect(() => {
document.body.classList.remove('light', 'dark');
document.body.classList.add(theme);
localStorage.setItem('theme', theme);
}, [theme]);
const toggleTheme = () => setTheme((prev) => (prev === 'light' ? 'dark' : 'light'));
return [theme, toggleTheme];
};

View file

@ -2,11 +2,35 @@
font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
color-scheme: light dark;
color: rgba(255, 255, 255, 0.87);
background-color: #242424;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.light {
background-color: white;
color: #000000;
--foreground-color: #000000;
--background-color: white;
--on-background-color-primary: white;
--on-background-color-secondary: #f9f9f9;
--on-background-color-3: #000000;
--primary-color: rgb(255, 102, 0);
--border-color: rgb(64, 64, 64);
}
.dark {
color: rgba(255, 255, 255, 0.87);
background-color: #242424;
--foreground-color: rgba(255, 255, 255, 0.87);
--background-color: #242424;
--on-background-color-primary: #1a1a1a;
--on-background-color-secondary: rgb(64, 64, 64);
--on-background-color-3: rgba(255, 255, 255, 0.2);
--primary-color: rgb(255, 102, 0);
--border-color: transparent;
}

View file

@ -1,10 +0,0 @@
import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import App from './app.jsx'
import './main.css'
createRoot(document.getElementById('root')).render(
<StrictMode>
<App />
</StrictMode>,
)

26
src/main.tsx Normal file
View file

@ -0,0 +1,26 @@
import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import App from './app.tsx'
import './main.css'
import {AuthProvider} from 'oidc-react';
import Header from "./header/Header.tsx";
const oidcConfig = {
onSignIn: () => {
console.log('hi');
},
authority: 'https://auth.octubre.be',
clientId: '0WU8Mb9NfKQPvB29U0di3GGXVxv5uvolvOgcJiusjSw8eb0O8ghfVcLHLAg8MkGv',
redirectUri: 'https://octubre.be',
autoSignIn: false,
autoSignOut: false
};
createRoot(document.getElementById('root')!).render(
<StrictMode>
<AuthProvider {...oidcConfig}>
<Header/>
<App/>
</AuthProvider>
</StrictMode>
)

7
src/vite-env.d.ts vendored Normal file
View file

@ -0,0 +1,7 @@
/// <reference types="vite/client" />
declare module '*.svg' {
import * as React from 'react';
export const ReactComponent: React.FC<React.SVGProps<SVGSVGElement>>;
const src: string;
export default src;
}

29
tsconfig.json Normal file
View file

@ -0,0 +1,29 @@
{
"files": [],
"compilerOptions": {
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
"target": "ES2020",
"useDefineForClassFields": true,
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"module": "ESNext",
"skipLibCheck": true,
/* Bundler mode */
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"isolatedModules": true,
"moduleDetection": "force",
"noEmit": true,
"jsx": "react-jsx",
/* Linting */
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedSideEffectImports": true
},
"include": [
"src"
]
}

View file

@ -1,7 +0,0 @@
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react()],
})

14
vite.config.ts Normal file
View file

@ -0,0 +1,14 @@
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import svgr from 'vite-plugin-svgr';
export default defineConfig({
plugins: [
react(),
svgr({
svgrOptions: {
icon: true,
}
})
]
});