Compare commits

..

109 Commits

Author SHA1 Message Date
1243a93020 Merge pull request 'Migrate Renovate config' (#578) from renovate/migrate-config into main
All checks were successful
Laravel / laravel-tests (push) Successful in 4m25s
renovate / renovate (push) Successful in 40s
Reviewed-on: #578
2026-02-03 11:01:18 +00:00
Renovate Bot
78747e1f64 Migrate config renovate.json
All checks were successful
Laravel / laravel-tests (pull_request) Successful in 4m30s
2026-02-03 10:50:20 +00:00
84f08b548e Update .gitea/workflows/laravel.yml
All checks were successful
Laravel / laravel-tests (push) Successful in 4m40s
renovate / renovate (push) Successful in 1m1s
2026-02-03 10:40:15 +00:00
462bce226d Merge pull request 'Update ghcr.io/renovatebot/renovate Docker tag to v43.2.3' (#577) from renovate/ghcr.io-renovatebot-renovate-43.x into main
Some checks failed
Laravel / laravel-tests (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-02-03 10:39:57 +00:00
Renovate Bot
2c3ae4ee86 Update ghcr.io/renovatebot/renovate Docker tag to v43.2.3
Some checks failed
Laravel / laravel-tests (pull_request) Failing after 4m41s
2026-02-03 10:39:55 +00:00
f4d6277646 Update .gitea/workflows/laravel.yml
Some checks failed
Laravel / laravel-tests (push) Failing after 4m57s
renovate / renovate (push) Has been cancelled
2026-02-03 10:34:11 +00:00
5e47287593 Update .gitea/workflows/laravel.yml
Some checks failed
Laravel / laravel-tests (push) Failing after 4m44s
renovate / renovate (push) Successful in 42s
2026-02-03 09:31:13 +00:00
dd5eb6782d disable posts
Some checks failed
Laravel / laravel-tests (push) Failing after 5m5s
renovate / renovate (push) Successful in 45s
2026-02-03 19:20:29 +10:00
0312e1dbea Merge pull request 'Update ghcr.io/renovatebot/renovate Docker tag to v43' (#574) from renovate/ghcr.io-renovatebot-renovate-43.x into main
Some checks failed
Laravel / laravel-tests (push) Failing after 6m29s
renovate / renovate (push) Successful in 1m10s
Reviewed-on: #574
2026-02-03 08:54:32 +00:00
b29ea655ba Merge branch 'main' into renovate/ghcr.io-renovatebot-renovate-43.x 2026-02-03 08:54:21 +00:00
Renovate Bot
8d06374bef Update ghcr.io/renovatebot/renovate Docker tag to v43 2026-02-03 08:53:24 +00:00
5ca0afc385 updated rules
Some checks failed
Laravel / laravel-tests (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-02-03 18:53:22 +10:00
cc5a0de05d php 8.4 2026-02-03 18:52:22 +10:00
fe84e20645 disconnect github 2026-02-03 18:52:02 +10:00
2ba8881f3b Add .gitea/workflows/laravel.yml
Some checks failed
Laravel / laravel-tests (push) Failing after 2m54s
renovate / renovate (push) Successful in 46s
2026-02-03 08:49:50 +00:00
ce5c97290f Update .gitea/workflows/renovate.yaml
Some checks are pending
renovate / renovate (push) Waiting to run
2026-02-03 08:41:28 +00:00
Renovate Bot
0c7407c11b Update ghcr.io/renovatebot/renovate Docker tag to v37.440.7
Some checks failed
renovate / renovate (push) Has been cancelled
2026-02-03 08:40:50 +00:00
fe5ab7b0bf Update .gitea/workflows/renovate.yaml
Some checks failed
renovate / renovate (push) Failing after 20s
2026-02-03 08:36:12 +00:00
954b83ebba Update renovate-config.json
Some checks failed
renovate / renovate (push) Has been cancelled
2026-02-03 08:36:00 +00:00
9bfe23df9c Update .gitea/workflows/renovate.yaml
Some checks failed
renovate / renovate (push) Failing after 16s
2026-02-03 08:34:58 +00:00
5f78a9e500 Update renovate-config.cjs
Some checks failed
renovate / renovate (push) Failing after 16s
2026-02-03 08:34:30 +00:00
d47672dbe3 Update .gitea/workflows/renovate.yaml
Some checks failed
renovate / renovate (push) Failing after 13s
2026-02-03 08:31:17 +00:00
c3b898d99e Update .gitea/workflows/renovate.yaml
Some checks failed
renovate / renovate (push) Failing after 14s
2026-02-03 08:29:27 +00:00
b13b22c359 Update .gitea/workflows/renovate.yaml
Some checks failed
renovate / renovate (push) Failing after 21s
2026-02-03 08:27:28 +00:00
fa505f56ee Update .gitea/workflows/renovate.yaml
Some checks failed
renovate / renovate (push) Failing after 19s
2026-02-03 08:25:51 +00:00
464c7d5aa1 Update .gitea/workflows/renovate.yaml
Some checks failed
renovate / renovate (push) Failing after 24s
2026-02-03 08:23:55 +00:00
260b794111 Add renovate-config.js
Some checks failed
renovate / renovate (push) Failing after 2m40s
2026-02-03 08:18:55 +00:00
e2567c1b97 Update .gitea/workflows/renovate.yaml
Some checks are pending
renovate / renovate (push) Has started running
2026-02-03 08:18:29 +00:00
7302a36067 Update .gitea/workflows/renovate.yaml
Some checks failed
renovate / renovate (push) Failing after 22s
2026-02-03 08:10:39 +00:00
ac7b02f320 dependency updates
Some checks failed
renovate / renovate (push) Failing after 22s
2026-02-03 18:07:39 +10:00
0fbeb192c1 Add .gitea/workflows/renovate.yaml
Some checks failed
renovate / renovate (push) Failing after 55s
2026-02-03 07:42:37 +00:00
5c3788eb6d Add renovate.json
Some checks failed
Laravel / laravel-tests (push) Failing after 3m39s
2026-02-03 07:39:32 +00:00
James Collins
f01051107e Merge pull request #572 from STEMMechanics/dependabot/composer/livewire/livewire-4.1.2
Bump livewire/livewire from 4.1.0 to 4.1.2
2026-02-03 15:19:46 +10:00
dependabot[bot]
cf029bc86e Bump livewire/livewire from 4.1.0 to 4.1.2
Bumps [livewire/livewire](https://github.com/livewire/livewire) from 4.1.0 to 4.1.2.
- [Release notes](https://github.com/livewire/livewire/releases)
- [Commits](https://github.com/livewire/livewire/compare/v4.1.0...v4.1.2)

---
updated-dependencies:
- dependency-name: livewire/livewire
  dependency-version: 4.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-03 05:08:46 +00:00
James Collins
17ab10c1c5 Merge pull request #571 from STEMMechanics/dependabot/npm_and_yarn/autoprefixer-10.4.24
Bump autoprefixer from 10.4.23 to 10.4.24
2026-02-02 10:47:23 +10:00
dependabot[bot]
dc5c387f7a Bump autoprefixer from 10.4.23 to 10.4.24
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.23 to 10.4.24.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.23...10.4.24)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-version: 10.4.24
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-02 00:44:17 +00:00
James Collins
3b4d2b2784 Merge pull request #570 from STEMMechanics/dependabot/composer/psy/psysh-0.12.19
Bump psy/psysh from 0.12.18 to 0.12.19
2026-01-31 08:35:50 +10:00
dependabot[bot]
3b3dc276fc Bump psy/psysh from 0.12.18 to 0.12.19
Bumps [psy/psysh](https://github.com/bobthecow/psysh) from 0.12.18 to 0.12.19.
- [Release notes](https://github.com/bobthecow/psysh/releases)
- [Commits](https://github.com/bobthecow/psysh/compare/v0.12.18...v0.12.19)

---
updated-dependencies:
- dependency-name: psy/psysh
  dependency-version: 0.12.19
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-30 22:31:55 +00:00
James Collins
ee460ec076 Merge pull request #569 from STEMMechanics/dependabot/npm_and_yarn/tiptap/extension-text-align-3.18.0
Bump @tiptap/extension-text-align from 3.17.1 to 3.18.0
2026-01-30 11:20:28 +10:00
James Collins
24e7c6a008 Merge pull request #568 from STEMMechanics/dependabot/npm_and_yarn/tiptap/extension-image-3.18.0
Bump @tiptap/extension-image from 3.17.1 to 3.18.0
2026-01-30 11:20:16 +10:00
dependabot[bot]
1a6a1dab47 Bump @tiptap/extension-image from 3.17.1 to 3.18.0
Bumps [@tiptap/extension-image](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-image) from 3.17.1 to 3.18.0.
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/develop/packages/extension-image/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.18.0/packages/extension-image)

---
updated-dependencies:
- dependency-name: "@tiptap/extension-image"
  dependency-version: 3.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-30 00:52:33 +00:00
dependabot[bot]
c85031ab49 Bump @tiptap/extension-text-align from 3.17.1 to 3.18.0
Bumps [@tiptap/extension-text-align](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-text-align) from 3.17.1 to 3.18.0.
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/develop/packages/extension-text-align/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.18.0/packages/extension-text-align)

---
updated-dependencies:
- dependency-name: "@tiptap/extension-text-align"
  dependency-version: 3.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-30 00:52:32 +00:00
James Collins
24efcab8da Merge pull request #567 from STEMMechanics/dependabot/npm_and_yarn/tiptap/extension-typography-3.18.0
Bump @tiptap/extension-typography from 3.17.1 to 3.18.0
2026-01-30 10:51:48 +10:00
James Collins
182e4e8de8 Merge pull request #565 from STEMMechanics/dependabot/npm_and_yarn/tiptap/extension-subscript-3.18.0
Bump @tiptap/extension-subscript from 3.17.1 to 3.18.0
2026-01-30 10:51:36 +10:00
James Collins
6b62e45acf Merge pull request #566 from STEMMechanics/dependabot/npm_and_yarn/tiptap/starter-kit-3.18.0
Bump @tiptap/starter-kit from 3.17.1 to 3.18.0
2026-01-30 10:51:23 +10:00
dependabot[bot]
a37f744caa Bump @tiptap/extension-typography from 3.17.1 to 3.18.0
Bumps [@tiptap/extension-typography](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-typography) from 3.17.1 to 3.18.0.
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/develop/packages/extension-typography/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.18.0/packages/extension-typography)

---
updated-dependencies:
- dependency-name: "@tiptap/extension-typography"
  dependency-version: 3.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-30 00:43:34 +00:00
dependabot[bot]
8eca69335f Bump @tiptap/starter-kit from 3.17.1 to 3.18.0
Bumps [@tiptap/starter-kit](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/starter-kit) from 3.17.1 to 3.18.0.
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/develop/packages/starter-kit/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.18.0/packages/starter-kit)

---
updated-dependencies:
- dependency-name: "@tiptap/starter-kit"
  dependency-version: 3.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-30 00:43:22 +00:00
dependabot[bot]
87e70704c1 Bump @tiptap/extension-subscript from 3.17.1 to 3.18.0
Bumps [@tiptap/extension-subscript](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-subscript) from 3.17.1 to 3.18.0.
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/develop/packages/extension-subscript/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.18.0/packages/extension-subscript)

---
updated-dependencies:
- dependency-name: "@tiptap/extension-subscript"
  dependency-version: 3.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-30 00:43:10 +00:00
James Collins
db1821bcef Merge pull request #564 from STEMMechanics/copilot/add-code-styling-setup
Add Laravel Pint configuration for Shift compatibility
2026-01-29 15:16:17 +10:00
copilot-swe-agent[bot]
62583c4869 Fix pint.json: remove incorrect braces rule setting
Co-authored-by: nomadjimbob <26953208+nomadjimbob@users.noreply.github.com>
2026-01-29 05:13:01 +00:00
copilot-swe-agent[bot]
066b7b1790 Add code style documentation to README
Co-authored-by: nomadjimbob <26953208+nomadjimbob@users.noreply.github.com>
2026-01-29 05:12:18 +00:00
copilot-swe-agent[bot]
d38422e16c Add Laravel Pint configuration and composer scripts
Co-authored-by: nomadjimbob <26953208+nomadjimbob@users.noreply.github.com>
2026-01-29 05:11:55 +00:00
copilot-swe-agent[bot]
ed22521e6f Initial plan 2026-01-29 05:10:08 +00:00
James Collins
3218f55a31 Merge pull request #562 from STEMMechanics/dependabot/npm_and_yarn/tiptap/extension-underline-3.18.0
Bump @tiptap/extension-underline from 3.17.1 to 3.18.0
2026-01-29 14:00:50 +10:00
dependabot[bot]
be1fa8f432 Bump @tiptap/extension-underline from 3.17.1 to 3.18.0
Bumps [@tiptap/extension-underline](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-underline) from 3.17.1 to 3.18.0.
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/develop/packages/extension-underline/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.18.0/packages/extension-underline)

---
updated-dependencies:
- dependency-name: "@tiptap/extension-underline"
  dependency-version: 3.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 04:00:02 +00:00
James Collins
c0c572397a Merge pull request #561 from STEMMechanics/dependabot/npm_and_yarn/tiptap/extension-link-3.18.0
Bump @tiptap/extension-link from 3.17.1 to 3.18.0
2026-01-29 13:59:10 +10:00
James Collins
049d4849aa Merge pull request #560 from STEMMechanics/dependabot/npm_and_yarn/tiptap/extension-superscript-3.18.0
Bump @tiptap/extension-superscript from 3.17.1 to 3.18.0
2026-01-29 13:58:58 +10:00
James Collins
e89656367f Merge pull request #559 from STEMMechanics/dependabot/composer/phpunit/phpunit-12.5.8
Bump phpunit/phpunit from 10.5.62 to 12.5.8
2026-01-29 13:58:41 +10:00
dependabot[bot]
e910ef7e84 Bump phpunit/phpunit from 10.5.62 to 12.5.8
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 10.5.62 to 12.5.8.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/12.5.8/ChangeLog-12.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/10.5.62...12.5.8)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-version: 12.5.8
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 03:58:02 +00:00
dependabot[bot]
db0e927056 Bump @tiptap/extension-link from 3.17.1 to 3.18.0
Bumps [@tiptap/extension-link](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-link) from 3.17.1 to 3.18.0.
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/develop/packages/extension-link/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.18.0/packages/extension-link)

---
updated-dependencies:
- dependency-name: "@tiptap/extension-link"
  dependency-version: 3.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 03:57:20 +00:00
James Collins
cec55028d6 Merge pull request #557 from STEMMechanics/dependabot/composer/livewire/livewire-4.1.0 2026-01-29 13:57:08 +10:00
James Collins
0ae09c40ae Merge pull request #556 from STEMMechanics/dependabot/npm_and_yarn/tiptap/extension-highlight-3.18.0
Bump @tiptap/extension-highlight from 3.17.1 to 3.18.0
2026-01-29 13:56:18 +10:00
James Collins
1cf2ec1ce7 Merge pull request #555 from STEMMechanics/dependabot/composer/laravel/framework-12.49.0
Bump laravel/framework from 12.48.1 to 12.49.0
2026-01-29 13:56:06 +10:00
dependabot[bot]
693df3a05b Bump @tiptap/extension-superscript from 3.17.1 to 3.18.0
Bumps [@tiptap/extension-superscript](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-superscript) from 3.17.1 to 3.18.0.
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/develop/packages/extension-superscript/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.18.0/packages/extension-superscript)

---
updated-dependencies:
- dependency-name: "@tiptap/extension-superscript"
  dependency-version: 3.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 00:43:35 +00:00
dependabot[bot]
c0d1913660 Bump livewire/livewire from 3.7.6 to 4.1.0
Bumps [livewire/livewire](https://github.com/livewire/livewire) from 3.7.6 to 4.1.0.
- [Release notes](https://github.com/livewire/livewire/releases)
- [Commits](https://github.com/livewire/livewire/compare/v3.7.6...v4.1.0)

---
updated-dependencies:
- dependency-name: livewire/livewire
  dependency-version: 4.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 00:43:20 +00:00
dependabot[bot]
8c387280a6 Bump @tiptap/extension-highlight from 3.17.1 to 3.18.0
Bumps [@tiptap/extension-highlight](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-highlight) from 3.17.1 to 3.18.0.
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/develop/packages/extension-highlight/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.18.0/packages/extension-highlight)

---
updated-dependencies:
- dependency-name: "@tiptap/extension-highlight"
  dependency-version: 3.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 00:43:11 +00:00
dependabot[bot]
a1ab7b6257 Bump laravel/framework from 12.48.1 to 12.49.0
Bumps [laravel/framework](https://github.com/laravel/framework) from 12.48.1 to 12.49.0.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/12.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v12.48.1...v12.49.0)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-version: 12.49.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 00:43:07 +00:00
James Collins
36d4f08aaf Merge pull request #554 from STEMMechanics/dependabot/composer/symfony/process-7.4.5
Bump symfony/process from 7.4.4 to 7.4.5
2026-01-29 07:50:12 +10:00
dependabot[bot]
f7de4f49d3 Bump symfony/process from 7.4.4 to 7.4.5
Bumps [symfony/process](https://github.com/symfony/process) from 7.4.4 to 7.4.5.
- [Release notes](https://github.com/symfony/process/releases)
- [Changelog](https://github.com/symfony/process/blob/8.1/CHANGELOG.md)
- [Commits](https://github.com/symfony/process/compare/v7.4.4...v7.4.5)

---
updated-dependencies:
- dependency-name: symfony/process
  dependency-version: 7.4.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-28 21:39:53 +00:00
James Collins
06018c405d Merge pull request #553 from STEMMechanics/dependabot/composer/phpunit/phpunit-10.5.62
Bump phpunit/phpunit from 10.5.61 to 10.5.62
2026-01-28 16:24:47 +10:00
dependabot[bot]
03c17200a0 Bump phpunit/phpunit from 10.5.61 to 10.5.62
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 10.5.61 to 10.5.62.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/10.5.62/ChangeLog-10.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/10.5.61...10.5.62)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-version: 10.5.62
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-28 04:44:31 +00:00
519c2a0fec update to php 8.4 2026-01-28 14:43:38 +10:00
James Collins
2b8788f716 Merge pull request #552 from STEMMechanics/dependabot/npm_and_yarn/axios-1.13.4
Bump axios from 1.13.3 to 1.13.4
2026-01-28 14:33:55 +10:00
dependabot[bot]
72be071536 Bump axios from 1.13.3 to 1.13.4
Bumps [axios](https://github.com/axios/axios) from 1.13.3 to 1.13.4.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.3...v1.13.4)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.13.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-28 00:43:12 +00:00
37b923fbda use important on hidden for placeholder 2026-01-27 20:30:01 +10:00
github-actions[bot]
292901a02e Dependency update 2026-01-26 20:19:20 +00:00
github-actions[bot]
12a6629a4b Dependency update 2026-01-19 20:17:13 +00:00
9d9a8ed9f5 exclude vendor in tests 2026-01-15 08:56:12 +10:00
1a03fed3bd added snyk test 2026-01-15 08:54:06 +10:00
43e66b2004 path traversal in chunk unlink fix 2026-01-15 08:33:38 +10:00
8babb4c836 added unlink safeguard 2026-01-15 08:28:41 +10:00
4eb3dfbb64 fix potential path traversal 2026-01-15 08:23:03 +10:00
33d390a612 fix open redirect 2026-01-15 08:01:05 +10:00
cad78c30ae added peer dependency 2026-01-15 07:57:10 +10:00
f8acdae237 fix path traversal risk 2026-01-15 07:56:32 +10:00
github-actions[bot]
63582dc306 Dependency update 2026-01-12 20:17:47 +00:00
github-actions[bot]
c96fb95f27 Dependency update 2026-01-05 20:18:40 +00:00
1160c8b077 holiday message 2026-01-01 09:11:28 +10:00
a4b3405f8a vite update 2026-01-01 09:06:16 +10:00
9d5396ca9a tiptap and vite update 2026-01-01 09:02:08 +10:00
de1483d409 tiptap update 2026-01-01 09:01:15 +10:00
James Collins
a37386565a Merge pull request #530 from STEMMechanics/dependabot/npm_and_yarn/laravel-vite-plugin-2.0.1
Bump laravel-vite-plugin from 1.3.0 to 2.0.1
2026-01-01 08:46:08 +10:00
dependabot[bot]
ff8b6549ce Bump laravel-vite-plugin from 1.3.0 to 2.0.1
Bumps [laravel-vite-plugin](https://github.com/laravel/vite-plugin) from 1.3.0 to 2.0.1.
- [Release notes](https://github.com/laravel/vite-plugin/releases)
- [Changelog](https://github.com/laravel/vite-plugin/blob/2.x/CHANGELOG.md)
- [Upgrade guide](https://github.com/laravel/vite-plugin/blob/2.x/UPGRADE.md)
- [Commits](https://github.com/laravel/vite-plugin/compare/v1.3.0...v2.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-31 22:18:17 +00:00
github-actions[bot]
d550bc60e2 Dependency update 2025-12-31 21:02:22 +00:00
James Collins
307573a3a8 Update workflow to commit changes directly
Replaced the Create PR step with a Commit and push step to directly commit changes to the main branch.
2026-01-01 07:01:35 +10:00
James Collins
d9fc6c95f3 Update PHP version in dependency update workflow 2026-01-01 06:58:23 +10:00
James Collins
a65f0eead6 Add workflow for automated dependency updates 2026-01-01 06:56:13 +10:00
ca025ca2e8 dependency updates 2025-12-23 10:39:55 +10:00
74aef68edc remove posts reference 2025-12-23 10:34:05 +10:00
c0e595f88a dependency updates 2025-11-27 10:15:26 +10:00
aab4bc0d46 dependency updates 2025-11-26 10:10:57 +10:00
f2708e1325 dependency updates 2025-11-19 10:32:18 +10:00
James Collins
2e2b70ab7c Merge pull request #533 from STEMMechanics/dependabot/npm_and_yarn/multi-74f7c1f85a
Bump esbuild and vite
2025-11-19 10:28:45 +10:00
dependabot[bot]
e42d54554a Bump esbuild and vite
Bumps [esbuild](https://github.com/evanw/esbuild) to 0.25.12 and updates ancestor dependency [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). These dependencies need to be updated together.


Updates `esbuild` from 0.21.5 to 0.25.12
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.21.5...v0.25.12)

Updates `vite` from 5.4.21 to 7.2.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.2.2/packages/vite)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.25.12
  dependency-type: indirect
- dependency-name: vite
  dependency-version: 7.2.2
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-19 00:25:53 +00:00
6cb24f1500 dependency updates 2025-11-19 10:24:23 +10:00
f7cc086f37 added jenkins link 2025-11-19 10:23:05 +10:00
8463da7842 opacity fixes 2025-11-17 09:26:48 +10:00
James Collins
322d547c92 Merge pull request #526 from STEMMechanics/laravel12
laravel 12 upgrade
2025-11-17 09:09:10 +10:00
30104ece71 laravel 12 upgrade 2025-11-17 09:08:07 +10:00
28 changed files with 2704 additions and 2964 deletions

View File

@@ -3,40 +3,55 @@ name: Laravel
on:
push:
branches: ["main"]
pull_request:
jobs:
laravel-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: "8.2"
- uses: actions/checkout@v3
php-version: "8.4"
- name: Copy .env
run: php -r "file_exists('.env') || copy('.env.example', '.env');"
- name: Install Dependencies
- name: Install PHP Dependencies
run: composer install -q --no-interaction --no-progress --prefer-dist
- name: Generate key
run: php artisan key:generate
- name: Directory Permissions
run: chmod -R 777 storage bootstrap/cache
- name: Create Database
run: |
mkdir -p database
touch database/database.sqlite
- name: Execute tests (Unit and Feature tests) via PHPUnit
- name: Install Node.js
uses: actions/setup-node@v2
with:
node-version: "20"
- name: Install Node dependencies
run: npm ci
- name: Build frontend
run: npm run build
- name: Run migrations
env:
DB_CONNECTION: sqlite
DB_DATABASE: database/database.sqlite
run: php artisan migrate --force
- name: Run PHPUnit
env:
DB_CONNECTION: sqlite
DB_DATABASE: database/database.sqlite
run: vendor/bin/phpunit
- name: Install Node.js
uses: actions/setup-node@v2
with:
node-version: "16.x"
- name: Install dependencies
run: npm ci
- name: Run Vue tests
env:
LARAVEL_BYPASS_ENV_CHECK: "1"
run: npm run test

View File

@@ -0,0 +1,24 @@
name: renovate
on:
workflow_dispatch:
schedule:
- cron: "@daily"
push:
branches:
- main
jobs:
renovate:
runs-on: ubuntu-latest
container: ghcr.io/renovatebot/renovate:43.2.3
steps:
- uses: actions/checkout@v4
- run: renovate
working-directory: ${{ gitea.workspace }}
env:
RENOVATE_CONFIG_FILE: "renovate-config.json"
LOG_LEVEL: "info"
RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }}

View File

@@ -1,15 +0,0 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
- package-ecosystem: "composer"
directory: "/"
schedule:
interval: "daily"

4
.shift
View File

@@ -1,4 +0,0 @@
This file was added by Shift #161875 in order to open a
Pull Request since no other commits were made.
You should remove this file.

View File

@@ -49,6 +49,24 @@ We would like to extend our thanks to the following sponsors for funding Laravel
- **[byte5](https://byte5.de)**
- **[OP.GG](https://op.gg)**
## Code Style
This project uses [Laravel Pint](https://laravel.com/docs/pint) for code styling. Pint is an opinionated PHP code style fixer for minimalists, built on top of PHP-CS-Fixer.
To automatically fix code style issues, run:
```bash
composer pint
```
To check for code style issues without fixing them:
```bash
composer pint-test
```
The code style configuration can be found in `pint.json`.
## Contributing
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).

View File

@@ -9,11 +9,11 @@ class HomeController extends Controller
{
public function index()
{
$posts = Post::query()->orderBy('created_at', 'desc')->limit(4)->get();
// $posts = Post::query()->orderBy('created_at', 'desc')->limit(4)->get();
$workshops = Workshop::query()->where('starts_at', '>', now())->where('status', '!=', 'private')->orderBy('starts_at', 'asc')->limit(4)->get();
return view('home', [
'posts' => $posts,
// 'posts' => $posts,
'workshops' => $workshops,
]);
}

View File

@@ -111,15 +111,17 @@ class MediaController extends Controller
public function admin_store(Request $request)
{
$file = null;
$cleanupPath = null;
// Check if the endpoint received a file...
if($request->hasFile('file')) {
try {
$file = $this->upload($request);
if($file === true) {
if(is_array($file) && !empty($file['chunk'])) {
return response()->json([
'message' => 'Chunk stored',
'upload_token' => $file['token'] ?? null,
]);
} else if(!$file) {
return response()->json([
@@ -150,8 +152,20 @@ class MediaController extends Controller
}
// else check if it received a file name of a previous upload...
} else if($request->has('file')) {
$tempFileName = sys_get_temp_dir() . '/chunk-' . Auth::id() . '-' . $request->file;
} else if($request->has('upload_token') || $request->has('file')) {
$uploadToken = $request->input('upload_token', $request->input('file'));
$chunkUploads = session()->get('chunk_uploads', []);
if(!is_string($uploadToken) || !isset($chunkUploads[$uploadToken])) {
return response()->json([
'message' => 'Could not find the referenced file on the server.',
'errors' => [
'file' => 'Could not find the referenced file on the server.'
]
], 422);
}
$tempFileName = $chunkUploads[$uploadToken];
if(!file_exists($tempFileName)) {
return response()->json([
'message' => 'Could not find the referenced file on the server.',
@@ -165,7 +179,16 @@ class MediaController extends Controller
if($fileMime === false) {
$fileMime = 'application/octet-stream';
}
$file = new UploadedFile($tempFileName, $request->file, $fileMime, null, true);
$fileName = $request->input('filename', 'upload');
$fileName = Helpers::cleanFileName($fileName);
if ($fileName === '') {
$fileName = 'upload';
}
$file = new UploadedFile($tempFileName, $fileName, $fileMime, null, true);
$cleanupPath = $tempFileName;
unset($chunkUploads[$uploadToken]);
session()->put('chunk_uploads', $chunkUploads);
}
// Check there is an actual file
@@ -242,7 +265,13 @@ class MediaController extends Controller
}
}
unlink($file->getRealPath());
if(is_string($cleanupPath)) {
$realPath = realpath($cleanupPath);
$tempDir = realpath(sys_get_temp_dir());
if($realPath !== false && $tempDir !== false && str_starts_with($realPath, $tempDir . DIRECTORY_SEPARATOR)) {
@unlink($realPath);
}
}
if($request->wantsJson()) {
return response()->json([
@@ -386,6 +415,10 @@ class MediaController extends Controller
$fileName = $request->input('filename', $file->getClientOriginalName());
$fileName = Helpers::cleanFileName($fileName);
if ($fileName === '') {
$extension = strtolower($file->getClientOriginalExtension());
$fileName = 'upload' . ($extension !== '' ? '.' . $extension : '');
}
if(($request->has('filestart') || $request->has('fileappend')) && $request->has('filesize')) {
$fileSize = $request->get('filesize');
@@ -394,7 +427,25 @@ class MediaController extends Controller
throw new FileTooLargeException('The file is larger than the maximum size allowed of ' . Helpers::bytesToString($max_size));
}
$tempFilePath = sys_get_temp_dir() . '/chunk-' . Auth::id() . '-' . $fileName;
$chunkUploads = session()->get('chunk_uploads', []);
$uploadToken = $request->input('upload_token');
if($request->has('filestart')) {
$uploadToken = bin2hex(random_bytes(16));
$tempFilePath = tempnam(sys_get_temp_dir(), 'chunk-' . Auth::id() . '-');
if($tempFilePath === false) {
throw new FileInvalidException('Unable to create a temporary upload file.');
}
$chunkUploads[$uploadToken] = $tempFilePath;
session()->put('chunk_uploads', $chunkUploads);
} else {
if(!is_string($uploadToken) || !isset($chunkUploads[$uploadToken])) {
throw new FileInvalidException('Invalid upload token.');
}
$tempFilePath = $chunkUploads[$uploadToken];
}
$filemode = 'a';
if($request->has('filestart')) {
@@ -415,9 +466,17 @@ class MediaController extends Controller
$fileMime = 'application/octet-stream';
}
if(is_string($uploadToken) && isset($chunkUploads[$uploadToken])) {
unset($chunkUploads[$uploadToken]);
session()->put('chunk_uploads', $chunkUploads);
}
return new UploadedFile($tempFilePath, $fileName, $fileMime, null, true);
} else {
return true;
return [
'chunk' => true,
'token' => $uploadToken,
];
}
}

View File

@@ -34,23 +34,23 @@ class SearchController extends Controller
$workshops = $workshopQuery->orderBy('starts_at', 'desc')
->paginate(6, ['*'], 'workshop');
$postQuery = Post::query()->where('status', 'published');
$postQuery->where(function ($query) use ($search_words) {
foreach ($search_words as $word) {
$query->where(function ($subQuery) use ($word) {
$subQuery->where('title', 'like', '%' . $word . '%')
->orWhere('content', 'like', '%' . $word . '%');
});
}
});
$posts = $postQuery->orderBy('created_at', 'desc')
->paginate(6, ['*'], 'post')
->onEachSide(1);
// $postQuery = Post::query()->where('status', 'published');
// $postQuery->where(function ($query) use ($search_words) {
// foreach ($search_words as $word) {
// $query->where(function ($subQuery) use ($word) {
// $subQuery->where('title', 'like', '%' . $word . '%')
// ->orWhere('content', 'like', '%' . $word . '%');
// });
// }
// });
//
// $posts = $postQuery->orderBy('created_at', 'desc')
// ->paginate(6, ['*'], 'post')
// ->onEachSide(1);
return view('search', [
'workshops' => $workshops,
'posts' => $posts,
// 'posts' => $posts,
'search' => $search,
]);
}

View File

@@ -5,14 +5,14 @@
"keywords": ["laravel", "framework"],
"license": "MIT",
"require": {
"php": "^8.2",
"php": "^8.4",
"ext-imagick": "*",
"chillerlan/php-qrcode": "^5.0",
"gehrisandro/tailwind-merge-laravel": "^1.2",
"intervention/image": "^3.5",
"laravel/framework": "^11.0",
"laravel/framework": "^12.0",
"laravel/tinker": "^2.9",
"livewire/livewire": "^3.4",
"livewire/livewire": "^4.1",
"php-ffmpeg/php-ffmpeg": "^1.2",
"robthree/twofactorauth": "^3.0"
},
@@ -22,8 +22,7 @@
"laravel/pint": "^1.13",
"laravel/sail": "^1.26",
"mockery/mockery": "^1.6",
"nunomaduro/collision": "^8.0",
"phpunit/phpunit": "^10.5",
"phpunit/phpunit": "^12.5",
"spatie/laravel-ignition": "^2.4"
},
"autoload": {
@@ -53,6 +52,12 @@
"@php artisan key:generate --ansi",
"@php -r \"file_exists('database/database.sqlite') || touch('database/database.sqlite');\"",
"@php artisan migrate --graceful --ansi"
],
"pint": [
"./vendor/bin/pint"
],
"pint-test": [
"./vendor/bin/pint --test"
]
},
"extra": {
@@ -61,6 +66,9 @@
}
},
"config": {
"platform": {
"php": "8.4.17"
},
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true,

2214
composer.lock generated

File diff suppressed because it is too large Load Diff

2962
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -3,27 +3,29 @@
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build"
"build": "vite build",
"snyk:test": "snyk test --all-projects --exclude=vendor"
},
"devDependencies": {
"autoprefixer": "^10.4.19",
"axios": "^1.6.4",
"laravel-vite-plugin": "^1.0",
"@tailwindcss/vite": "^4.1.17",
"autoprefixer": "^10.4.24",
"axios": "^1.13.4",
"laravel-vite-plugin": "^2.0.1",
"postcss": "^8.4.38",
"tailwindcss": "^3.4.3",
"vite": "^5.0"
"vite": "^7.3.0"
},
"dependencies": {
"@tiptap/core": "^2.3.0",
"@tiptap/extension-highlight": "^2.3.0",
"@tiptap/extension-image": "^2.3.0",
"@tiptap/extension-link": "^2.3.0",
"@tiptap/extension-subscript": "^2.3.0",
"@tiptap/extension-superscript": "^2.3.0",
"@tiptap/extension-text-align": "^2.3.0",
"@tiptap/extension-typography": "^2.3.0",
"@tiptap/extension-underline": "^2.3.0",
"@tiptap/pm": "^2.3.0",
"@tiptap/starter-kit": "^2.3.0"
"@tiptap/core": "^3.10.7",
"@tiptap/extension-highlight": "^3.18.0",
"@tiptap/extension-image": "^3.18.0",
"@tiptap/extension-link": "^3.18.0",
"@tiptap/extension-subscript": "^3.18.0",
"@tiptap/extension-superscript": "^3.18.0",
"@tiptap/extension-text-align": "^3.18.0",
"@tiptap/extension-typography": "^3.18.0",
"@tiptap/extension-underline": "^3.18.0",
"@tiptap/pm": "^3.10.7",
"@tiptap/starter-kit": "^3.18.0",
"tailwindcss": "^4.1.17"
}
}

8
pint.json Normal file
View File

@@ -0,0 +1,8 @@
{
"preset": "laravel",
"rules": {
"simplified_null_return": true,
"new_with_braces": true,
"no_unused_imports": true
}
}

View File

@@ -1,6 +0,0 @@
export default {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}

View File

@@ -1,4 +1,26 @@
let SM = {
redirectIfSafe: (target) => {
if (typeof target !== 'string' || target === '') {
window.location.assign('/');
return;
}
let url;
try {
url = new URL(target, window.location.origin);
} catch (error) {
window.location.assign('/');
return;
}
if (url.origin !== window.location.origin) {
window.location.assign('/');
return;
}
window.location.assign(url.href);
},
alert: (title, text, type = 'info') =>{
const data = {
position: 'top-end',
@@ -84,7 +106,7 @@ let SM = {
axios.delete(url)
.then((response) => {
if(response.data.success){
window.location.href = response.data.redirect;
SM.redirectIfSafe(response.data.redirect);
}
})
.catch(() => {
@@ -136,7 +158,7 @@ let SM = {
}
}
const uploadFile = (file, start, title, idx, count) => {
const uploadFile = (file, start, title, idx, count, uploadToken = null) => {
const showPercentDecimals = (file.size > (1024 * 1024 * 40));
const chunkSize = 1024 * 1024 * 2;
const end = Math.min(file.size, start + chunkSize);
@@ -146,6 +168,9 @@ let SM = {
formData.append('file', chunk);
formData.append('filename', file.name);
formData.append('filesize', file.size);
if (uploadToken) {
formData.append('upload_token', uploadToken);
}
if (start === 0) {
formData.append('filestart', 'true');
@@ -183,6 +208,10 @@ let SM = {
}
}).then((response) => {
if (response.status === 200) {
if (response.data && response.data.upload_token) {
uploadToken = response.data.upload_token;
}
if (end >= file.size) {
uploadedFiles.push({ file: file, title: title, data: response.data });
@@ -205,12 +234,13 @@ let SM = {
} else {
start = 0;
idx += 1;
uploadToken = null;
}
} else {
start = end;
}
uploadFile(files[idx], start, titles[idx] || '', idx, files.length);
uploadFile(files[idx], start, titles[idx] || '', idx, files.length, uploadToken);
} else {
showError(response.data.message);
}

8
renovate-config.json Normal file
View File

@@ -0,0 +1,8 @@
{
"endpoint": "https://git.stemmechanics.com.au/api/v1",
"gitAuthor": "Renovate Bot <renovate-bot@stemmechanics.com.au>",
"platform": "gitea",
"onboardingConfigFileName": "renovate.json",
"autodiscover": true,
"optimizeForDisabled": true
}

24
renovate.json Normal file
View File

@@ -0,0 +1,24 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
],
"automerge": true,
"platformAutomerge": true,
"ignoreTests": true,
"packageRules": [
{
"matchUpdateTypes": [
"patch"
],
"automerge": true
},
{
"matchUpdateTypes": [
"minor",
"major"
],
"automerge": false
}
]
}

View File

@@ -1,6 +1,24 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
@import "tailwindcss";
@source "../**/*.{blade.php,js,php,vue}";
@theme {
/* Color tokens */
--color-primary-color: #0284C7;
--color-primary-color-dark: #0370A1;
--color-primary-color-light: #0EA5E9;
--color-danger-color: #b91c1c;
--color-danger-color-dark: #991b1b;
--color-danger-color-light: #dc2626;
--color-success-color: #16a34a;
--color-success-color-dark: #22c55e;
--color-success-color-light: #4ade80;
/* Box shadows */
--shadow-deep: 0 10px 15px rgba(0, 0, 0, 0.5);
}
html, body {
@apply bg-gray-100;

View File

@@ -1,6 +1,7 @@
import Link from "@tiptap/extension-link";
import {Editor} from "@tiptap/core";
import StarterKit from "@tiptap/starter-kit";
import Underline from "@tiptap/extension-underline";
import Highlight from "@tiptap/extension-highlight";
import TextAlign from "@tiptap/extension-text-align";
import Typography from "@tiptap/extension-typography";
@@ -49,12 +50,16 @@ document.addEventListener('alpine:init', () => {
editor = new Editor({
element: this.$refs.element,
extensions: [
StarterKit,
StarterKit.configure({
link: false,
underline: false,
}),
Highlight,
CustomLink.configure({
rel: 'noopener noreferrer',
openOnClick: 'whenNotEditable',
}),
Underline,
TextAlign.configure({
types: ['heading', 'paragraph', 'small', 'extraSmall'],
}),
@@ -65,6 +70,11 @@ document.addEventListener('alpine:init', () => {
ExtraSmall,
Box
],
editorProps: {
attributes: {
class: 'tiptap content',
},
},
content: content,
onCreate({/* editor */}) {
_this.updatedAt = Date.now()
@@ -141,6 +151,9 @@ document.addEventListener('alpine:init', () => {
unsetAllMarks() {
editor.chain().focus().unsetAllMarks().run()
},
clearNodes() {
editor.chain().focus().clearNodes().run()
},
clearNotes() {
editor.chain().focus().clearNodes().run()
},

View File

@@ -7,6 +7,7 @@
<li><a href="https://discord.gg/yNzk4x7mpD" class="text-sm hover:text-primary-color">Discord</a></li>
<li><a href="https://www.facebook.com/stemmechanics" class="text-sm hover:text-primary-color">Facebook</a></li>
<li><a href="https://www.stemcraft.com.au/" class="text-sm hover:text-primary-color">STEMCraft (Minecraft)</a></li>
<li><a href="https://jenkins.stemmechanics.com.au/" class="text-sm hover:text-primary-color">Jenkins</a></li>
<li><a href="https://youtube.com/@STEMMechanics" class="text-sm hover:text-primary-color">YouTube</a></li>
</ul>
<ul class="sm:w-1/3 flex flex-col gap-0.5 text-center sm:text-left">

View File

@@ -43,7 +43,7 @@
</div>
<div x-show="pageMenuOpen" @click.away="pageMenuOpen=false" x-cloak class="fixed left-0 top-0 h-full w-full z-20" role="menu" aria-labelledby="page-menu-button" tabindex="-1">
<div x-show="pageMenuOpen" @click="pageMenuOpen=false" class="absolute inset-0 bg-black bg-opacity-40 backdrop-blur-sm"
<div x-show="pageMenuOpen" @click="pageMenuOpen=false" class="absolute inset-0 bg-black/40 backdrop-blur-sm"
x-transition:enter="transition ease-out duration-300"
x-transition:enter-start="opacity-0"
x-transition:enter-end="opacity-100"
@@ -90,7 +90,7 @@
@click.away="userMenuOpen=false"
x-cloak
>
<div x-show="userMenuOpen" @click="userMenuOpen=false" class="fixed left-0 w-screen z-20 h-screen bg-black bg-opacity-40 backdrop-blur-sm"
<div x-show="userMenuOpen" @click="userMenuOpen=false" class="fixed left-0 w-screen z-20 h-screen bg-black/40 backdrop-blur-sm"
x-transition:enter="transition ease-out duration-300"
x-transition:enter-start="opacity-0"
x-transition:enter-end="opacity-100"
@@ -99,7 +99,7 @@
x-transition:leave-end="opacity-0"></div>
<div
x-show="userMenuOpen"
class="absolute w-full right-0 sm:right-5 sm:top-12 z-50 sm:mt-2 sm:w-64 origin-top-right sm:rounded-md bg-white py-3 px-2 shadow-lg border-t sm:ring-1 ring-black ring-opacity-25 focus:outline-none">
class="absolute w-full right-0 sm:right-5 sm:top-12 z-50 sm:mt-2 sm:w-64 origin-top-right sm:rounded-md bg-white py-3 px-2 shadow-lg border-t border-gray-200 sm:ring-1 ring-black/25 focus:outline-none">
@if(auth()->guest())
<a href="{{ route('register') }}" class="block px-4 py-2 text-sm text-gray-700 rounded transition hover:bg-sky-600 hover:text-white" role="menuitem" tabindex="-1"><i class="fa-solid fa-pen-to-square w-4 mr-2"></i>Register</a>
<a href="{{ route('login') }}" class="block px-4 py-2 text-sm text-gray-700 rounded transition hover:bg-sky-600 hover:text-white" role="menuitem" tabindex="-1"><i class="fa-solid fa-right-to-bracket w-4 mr-2"></i>Log in</a>
@@ -127,7 +127,7 @@
})
}
})">
<div class="absolute inset-0 backdrop-blur-sm bg-opacity-40 bg-black"></div>
<div class="absolute inset-0 backdrop-blur-sm bg-black/40"></div>
<div class="relative w-full mx-8 max-w-2xl bg-gray-50 p-2 rounded-lg shadow-lg" x-on:click.stop>
<form action="{{ route('search.index') }}" method="GET">
<x-ui.search type="text" name="q" label="Search..." />

View File

@@ -0,0 +1,19 @@
@props(['item' => 'results', 'search', 'message', 'title'])
@php
if(!isset($message)) {
if(!isset($search) || $search == '')
$message = "We couldn't find any $item";
else
$message = "We couldn't find any $item matching \"$search\"";
}
if(!isset($title)) {
$title = "No results found";
}
@endphp
<div class="flex flex-col items-center my-8 w-full">
<i class="text-gray-300 mb-6 text-8xl fa-solid fa-cat"></i>
<p class="text-gray-500 mt-2">No workshops coming up. Were on a short break, mostly by playing with the cat.</p>
</div>

View File

@@ -10,12 +10,12 @@
}
@endphp
<a href="{{ route('workshop.show', $workshop) }}" class="flex flex-col bg-white border rounded-lg overflow-hidden hover:shadow-lg hover:scale-[101%] transition-all relative {{ $attributes->get('class') }}">
<div class="shadow border rounded px-3 py-2 absolute top-2 left-2 flex flex-col justify-center items-center bg-white">
<a href="{{ route('workshop.show', $workshop) }}" class="flex flex-col bg-white border border-gray-200 rounded-lg overflow-hidden hover:shadow-lg hover:scale-[101%] transition-all relative {{ $attributes->get('class') }}">
<div class="shadow border border-gray-200 rounded px-3 py-2 absolute top-2 left-2 flex flex-col justify-center items-center bg-white">
<div class="text-gray-600 font-bold leading-none">{{ $workshop->starts_at->format('j') }}</div>
<div class="text-gray-600 text-xs uppercase">{{ $workshop->starts_at->format('M') }}</div>
</div>
<div class="border border-white border-opacity-50 absolute flex items-center justify-center top-5 -right-9 bg-gray-500 w-36 text-sm text-white font-bold uppercase py-1 rotate-45 h-8 sm-banner-{{ strtolower($statusClass) }}">{{ $statusTitle }}</div>
<div class="border border-white/50 absolute flex items-center justify-center top-5 -right-9 bg-gray-500 w-36 text-sm text-white font-bold uppercase py-1 rotate-45 h-8 sm-banner-{{ strtolower($statusClass) }}">{{ $statusTitle }}</div>
<img src="{{ $workshop->hero?->url }}?md" alt="{{ $workshop->title }}" class="w-full h-64 object-cover object-center">
<div class="flex-grow p-4 flex flex-col">
<h2 class="flex-grow {{ strlen($workshop->title) > 25 ? 'text-lg' : 'text-xl' }} font-bold mb-2">{{ $workshop->title }}</h2>

View File

@@ -36,7 +36,7 @@
imgElement.src = details.thumbnail;
imgElement.classList.remove('hidden');
placeholderElement.classList.add('hidden');
placeholderElement.classList.add('hidden!');
document.getElementById(name).value = value;
});

View File

@@ -12,7 +12,7 @@
<x-container>
<h2 class="text-2xl font-bold mb-6">Upcoming workshops</h2>
@if($workshops->isEmpty())
<x-none-found item="workshops" message="No workshops have been scheduled at this time" title="" />
<x-on-holiday />
@else
<div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8 w-full">
@foreach($workshops as $index => $workshop)

View File

@@ -1,23 +1,23 @@
<x-layout>
<x-mast title="Search" description='Results for "{{ $search }}"' />
<x-container>
<section class="bg-gray-100">
<h2 class="text-2xl font-bold my-6">Posts</h2>
@if($posts->isEmpty())
<x-container class="mt-8">
<x-none-found item="posts" search="{{ request()->get('search') }}" />
</x-container>
@else
<x-container class="mt-4" inner-class="grid md:grid-cols-2 lg:grid-cols-3 gap-8 w-full">
@foreach ($posts as $post)
<x-panel-post :post="$post" />
@endforeach
</x-container>
<x-container>
{{ $posts->appends(request()->except('post'))->links('', ['pageName' => 'post']) }}
</x-container>
@endif
</section>
{{-- <section class="bg-gray-100">--}}
{{-- <h2 class="text-2xl font-bold my-6">Posts</h2>--}}
{{-- @if($posts->isEmpty())--}}
{{-- <x-container class="mt-8">--}}
{{-- <x-none-found item="posts" search="{{ request()->get('search') }}" />--}}
{{-- </x-container>--}}
{{-- @else--}}
{{-- <x-container class="mt-4" inner-class="grid md:grid-cols-2 lg:grid-cols-3 gap-8 w-full">--}}
{{-- @foreach ($posts as $post)--}}
{{-- <x-panel-post :post="$post" />--}}
{{-- @endforeach--}}
{{-- </x-container>--}}
{{-- <x-container>--}}
{{-- {{ $posts->appends(request()->except('post'))->links('', ['pageName' => 'post']) }}--}}
{{-- </x-container>--}}
{{-- @endif--}}
{{-- </section>--}}
<section class="bg-gray-100">
<h2 class="text-2xl font-bold my-6">Workshops</h2>

View File

@@ -1,30 +0,0 @@
/** @type {import('tailwindcss').Config} */
export default {
content: [
"./resources/**/*.blade.php",
"./resources/**/*.js",
'./vendor/**/*.blade.php',
],
theme: {
extend: {
boxShadow: {
'deep': '0 10px 15px rgba(0, 0, 0, 0.5)',
},
colors: {
'primary-color': '#0284C7', // sky-600
'primary-color-dark': '#0370A1', // sky-500
'primary-color-light': '#0EA5E9', // sky-400
'danger-color': '#b91c1c', // red-600
'danger-color-dark': '#991b1b', // red-500
'danger-color-light': '#dc2626', // red-400
'success-color': '#16a34a', // green-600
'success-color-dark': '#22c55e', // green-500
'success-color-light': '#4ade80', // green-400
},
},
},
plugins: [],
}

View File

@@ -1,5 +1,6 @@
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import tailwindcss from '@tailwindcss/vite'
export default defineConfig({
plugins: [
@@ -7,5 +8,6 @@ export default defineConfig({
input: ['resources/css/app.css', 'resources/js/app.js'],
refresh: true,
}),
tailwindcss(),
],
});