Commit Graph

66 Commits

Author SHA1 Message Date
lukas 140f3d2bd6 Add caching tests 2026-05-12 08:21:48 +02:00
lukas 245a4f5b3e Add component improvement doc 2026-05-12 08:10:46 +02:00
lukas cd9f0b4111 Caching 1/? 2026-05-12 08:10:33 +02:00
lukas f82c61ef1e Add toast notification system
Django CI/CD / test (push) Successful in 35s
Django CI/CD / build-and-push (push) Successful in 54s
Add more toast types
2026-05-11 20:22:23 +02:00
lukas 0986e59fe7 Improve styles
Django CI/CD / test (push) Successful in 30s
Django CI/CD / build-and-push (push) Successful in 1m4s
2026-02-18 23:30:30 +01:00
lukas 996c0107c9 Housekeeping
* Updated flowbite to 4.x
* Start revamping styles
* Remove unused GraphQL code
* Make some templates more robuts
2026-02-17 22:14:16 +01:00
lukas 4e3a5ef682 Make buttons use pointer cursor 2026-01-30 11:45:42 +01:00
lukas 016f307240 Upgrade to Tailwind v4 2026-01-29 13:17:04 +01:00
lukas 06096d471e Improve dark/light mode 2026-01-27 19:28:05 +01:00
lukas b29e4edd72 Continue making use of improved duration handling
Django CI/CD / test (push) Successful in 1m5s
Django CI/CD / build-and-push (push) Successful in 2m22s
2025-03-25 23:38:04 +01:00
lukas 89de85c00d Introduce game status, playevents
Django CI/CD / test (push) Successful in 1m10s
Django CI/CD / build-and-push (push) Successful in 2m21s
2025-03-22 20:59:23 +01:00
lukas 843eed64d6 Add search field to game list
Django CI/CD / test (push) Successful in 1m7s
Django CI/CD / build-and-push (push) Successful in 2m1s
2025-02-10 18:20:46 +01:00
lukas 2ab497fd54 Also theme password fields 2025-02-07 20:20:33 +01:00
lukas 34148466c7 Improve forms
Django CI/CD / test (push) Successful in 1m17s
Django CI/CD / build-and-push (push) Successful in 2m10s
2025-02-04 20:09:25 +01:00
lukas 637e3e6493 Specifying name on NameWithIcon now works 2025-02-01 10:01:56 +01:00
lukas 6bd8271291 Remove Edition
Django CI/CD / test (push) Failing after 54s
Django CI/CD / build-and-push (push) Has been skipped
2025-01-29 22:05:06 +01:00
lukas e571feadef Add platform to Game 2025-01-29 18:42:13 +01:00
lukas ba6028e43d Add emulated property to sessions
Django CI/CD / test (push) Successful in 1m16s
Django CI/CD / build-and-push (push) Has been cancelled
2025-01-29 13:43:35 +01:00
lukas c2853a3ecc purchases can now refer to multiple editions
Django CI/CD / test (push) Successful in 1m3s
Django CI/CD / build-and-push (push) Successful in 2m36s
allows purchases to be for more than one game
2025-01-08 21:00:19 +01:00
lukas fc0d8db8e8 consistently format prices everywhere
Django CI/CD / test (push) Successful in 1m7s
Django CI/CD / build-and-push (push) Successful in 2m10s
2024-11-15 22:53:07 +01:00
lukas 6b7a96dc06 make PopoverTruncated customizable 2024-11-13 21:28:17 +01:00
lukas 5c5fd5f26a truncate: strip trailing whitespace 2024-11-13 21:07:26 +01:00
lukas 7181b6472c fix mistakenly hardcoded value in truncate() 2024-11-13 21:06:52 +01:00
lukas a3ed93c154 handle non-existent icons
Django CI/CD / test (push) Successful in 1m15s
Django CI/CD / build-and-push (push) Has been cancelled
2024-11-09 21:30:13 +00:00
lukas f8d621e710 fix stat dropdown
Django CI/CD / test (push) Successful in 1m16s
Django CI/CD / build-and-push (push) Successful in 2m7s
2024-10-16 18:31:12 +02:00
lukas 0759ad0804 make purchase price a float 2024-10-16 17:45:23 +02:00
lukas b0b1bb2d42 add icon field to platform, use everywhere 2024-10-16 17:45:23 +02:00
lukas c40764a02f fix bug in Component
A leftover from when there was only the A component function,
this bug was not found earlier because we used
templates instead of tags most of the time.
2024-09-14 10:40:03 +02:00
lukas 58cfaca1a9 add table header actions
Django CI/CD / test (push) Successful in 1m3s
Django CI/CD / build-and-push (push) Successful in 2m23s
2024-09-08 21:03:37 +02:00
lukas 5eee7176d4 add streak-releted basic functionality 2024-09-04 21:58:56 +02:00
lukas 98c9c1faee move time-related functionality out of views.general
Django CI/CD / test (push) Successful in 58s
Django CI/CD / build-and-push (push) Successful in 1m52s
2024-09-04 21:55:22 +02:00
lukas 4358708262 add links to add a new X to: game, edition, purchase, session, device, platform
Django CI/CD / test (push) Successful in 55s
Django CI/CD / build-and-push (push) Successful in 1m57s
2024-09-03 15:48:58 +02:00
lukas e067e65bce linkify game, edition, purchase, session references
Django CI/CD / test (push) Successful in 1m0s
Django CI/CD / build-and-push (push) Has been cancelled
also add link styles for links in a table row
2024-09-02 20:04:21 +02:00
lukas b8258e2937 replace slippers with django-cotton
Django CI/CD / test (push) Successful in 59s
Django CI/CD / build-and-push (push) Successful in 2m4s
main reason: slippers cannot pass request via context inside its
components, making it annoying to use template takes that take request.
more reasons: not actively worked on, no named slots, having to define
components in components.yaml + new components do not get registered
without restarting server
2024-09-02 17:43:41 +02:00
lukas 3099f02145 list editions 2024-08-11 20:21:27 +02:00
lukas d84b67c460 improve pagination 2024-08-09 11:47:10 +02:00
lukas 25deac6ea9 add more types 2024-08-08 21:19:43 +02:00
lukas 3de40ccad3 create purchase list without paging 2024-08-08 20:17:43 +02:00
lukas e19caf47bf Make game overview more appealing
Django CI/CD / build-and-push (push) Blocked by required conditions
Django CI/CD / test (push) Has been cancelled
2024-07-09 23:03:03 +02:00
lukas 72998ffc02 Fix incorrect font name 2024-07-09 20:38:03 +02:00
lukas ba44814474 Improve game links
Django CI/CD / test (push) Successful in 1m6s
Django CI/CD / build-and-push (push) Successful in 1m56s
2024-07-09 19:40:47 +02:00
lukas 44c70a5ee7 Formatting
Django CI/CD / test (push) Successful in 1m21s
Django CI/CD / build-and-push (push) Successful in 1m57s
2024-06-03 18:19:11 +02:00
lukas dc1a9d5c4f Make sure attribute chains are evaluated safely 2024-05-30 14:26:38 +02:00
lukas d02a60675f Render notes as Markdown
Django CI/CD / test (push) Failing after 1m5s
Django CI/CD / build-and-push (push) Has been skipped
2024-02-09 21:37:39 +01:00
lukas 9fccdfbff0 Make links colorful 2023-11-20 23:07:11 +01:00
lukas c44d8bf427 Improve time-related stuff
continuous-integration/drone/push Build is passing
Add created_at to all models
Add modified_at to Session
Get rid of custom now() function
Make sure aware datetime is used everywhere
2023-11-15 19:14:09 +01:00
lukas 8783d1fc8e Name and related_purchase validation for non-games 2023-11-15 13:04:47 +01:00
lukas ae079e36ec Add purchase types 2023-11-14 19:27:00 +01:00
lukas 3b37f2c3f0 Fix edge case in format_duration
continuous-integration/drone/push Build is passing
Fixes #65

```python
def test_specific_precise_if_unncessary(self):
        delta = timedelta(hours=2, minutes=40)
        result = format_duration(delta, "%02.0H:%02.0m")
        self.assertEqual(result, "02:40")
```
This test fails by returning "03:40" instead. The problem is in the way `format_duration` handles fractional hours.
To fix it, we need to switch between using hours and fractional hours
depending on if minutes are present in the formatted string.
2023-11-10 20:07:41 +01:00
lukas c52cd822ae Use safe_division in more places 2023-11-09 10:06:14 +01:00