🗑️ Refactor Meetup model by removing unused $fillable fields and updating dependencies in composer.lock

- Removed unnecessary `city_id` and `created_by` attributes from `Meetup` model.
- Updated multiple dependencies in `composer.lock`, including `guzzlehttp/guzzle`, `laravel/framework`, and other libraries to the latest versions.
- Verified all updates maintain compatibility with existing functionality.
This commit is contained in:
HolgerHatGarKeineNode
2026-05-31 22:55:24 +02:00
parent 52cf81abca
commit 1d2a8ed456
16 changed files with 1826 additions and 319 deletions
-2
View File
@@ -22,12 +22,10 @@ class City extends Model
/** @var list<string> */
protected $fillable = [
'name',
'country_id',
'latitude',
'longitude',
'osm_relation',
'simplified_geojson',
'created_by',
];
/**
-2
View File
@@ -15,8 +15,6 @@ class Country extends Model
/** @var list<string> */
protected $fillable = [
'name',
'code',
'language_codes',
];
/**
-2
View File
@@ -25,9 +25,7 @@ class Course extends Model implements HasMedia
protected $fillable = [
'name',
'description',
'lecturer_id',
'duration_minutes',
'created_by',
];
/**
-3
View File
@@ -16,9 +16,6 @@ class CourseEvent extends Model
protected $fillable = [
'from',
'to',
'course_id',
'venue_id',
'created_by',
];
/**
-2
View File
@@ -30,8 +30,6 @@ class Lecturer extends Model implements HasMedia
'npub',
'pubkey',
'website',
'active',
'created_by',
];
/**
-2
View File
@@ -26,13 +26,11 @@ class Meetup extends Model implements HasMedia
/** @var list<string> */
protected $fillable = [
'name',
'city_id',
'description',
'website',
'nostr_pubkey',
'github_data',
'simplified_geojson',
'created_by',
];
/**
-3
View File
@@ -15,14 +15,11 @@ class MeetupEvent extends Model
/** @var list<string> */
protected $fillable = [
'start',
'meetup_id',
'location',
'description',
'link',
'attendees',
'might_attendees',
'nostr_status',
'created_by',
];
/**
-1
View File
@@ -31,7 +31,6 @@ class Venue extends Model implements HasMedia
'description',
'address',
'website',
'created_by',
];
/**
Generated
+160 -143
View File
@@ -1350,16 +1350,16 @@
},
{
"name": "guzzlehttp/guzzle",
"version": "7.10.0",
"version": "7.10.4",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
"reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4"
"reference": "aec528da477062d3af11f51e6b33402be233b21f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4",
"reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/aec528da477062d3af11f51e6b33402be233b21f",
"reference": "aec528da477062d3af11f51e6b33402be233b21f",
"shasum": ""
},
"require": {
@@ -1377,8 +1377,9 @@
"bamarni/composer-bin-plugin": "^1.8.2",
"ext-curl": "*",
"guzzle/client-integration-tests": "3.0.2",
"guzzlehttp/test-server": "^0.3.2",
"php-http/message-factory": "^1.1",
"phpunit/phpunit": "^8.5.39 || ^9.6.20",
"phpunit/phpunit": "^8.5.52 || ^9.6.34",
"psr/log": "^1.1 || ^2.0 || ^3.0"
},
"suggest": {
@@ -1456,7 +1457,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
"source": "https://github.com/guzzle/guzzle/tree/7.10.0"
"source": "https://github.com/guzzle/guzzle/tree/7.10.4"
},
"funding": [
{
@@ -1472,20 +1473,20 @@
"type": "tidelift"
}
],
"time": "2025-08-23T22:36:01+00:00"
"time": "2026-05-22T19:00:53+00:00"
},
{
"name": "guzzlehttp/promises",
"version": "2.3.0",
"version": "2.4.1",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
"reference": "481557b130ef3790cf82b713667b43030dc9c957"
"reference": "09e8a212562fb1fb6a512c4156ed71525969d6c2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957",
"reference": "481557b130ef3790cf82b713667b43030dc9c957",
"url": "https://api.github.com/repos/guzzle/promises/zipball/09e8a212562fb1fb6a512c4156ed71525969d6c2",
"reference": "09e8a212562fb1fb6a512c4156ed71525969d6c2",
"shasum": ""
},
"require": {
@@ -1493,7 +1494,7 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"phpunit/phpunit": "^8.5.44 || ^9.6.25"
"phpunit/phpunit": "^8.5.52 || ^9.6.34"
},
"type": "library",
"extra": {
@@ -1539,7 +1540,7 @@
],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
"source": "https://github.com/guzzle/promises/tree/2.3.0"
"source": "https://github.com/guzzle/promises/tree/2.4.1"
},
"funding": [
{
@@ -1555,20 +1556,20 @@
"type": "tidelift"
}
],
"time": "2025-08-22T14:34:08+00:00"
"time": "2026-05-20T22:57:30+00:00"
},
{
"name": "guzzlehttp/psr7",
"version": "2.9.0",
"version": "2.10.1",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
"reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884"
"reference": "73ab136360b5dfd858006eae9795e8fe43c80361"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/7d0ed42f28e42d61352a7a79de682e5e67fec884",
"reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/73ab136360b5dfd858006eae9795e8fe43c80361",
"reference": "73ab136360b5dfd858006eae9795e8fe43c80361",
"shasum": ""
},
"require": {
@@ -1583,9 +1584,9 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"http-interop/http-factory-tests": "0.9.0",
"http-interop/http-factory-tests": "1.1.0",
"jshttp/mime-db": "1.54.0.1",
"phpunit/phpunit": "^8.5.44 || ^9.6.25"
"phpunit/phpunit": "^8.5.52 || ^9.6.34"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
@@ -1656,7 +1657,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
"source": "https://github.com/guzzle/psr7/tree/2.9.0"
"source": "https://github.com/guzzle/psr7/tree/2.10.1"
},
"funding": [
{
@@ -1672,20 +1673,20 @@
"type": "tidelift"
}
],
"time": "2026-03-10T16:41:02+00:00"
"time": "2026-05-20T09:27:36+00:00"
},
{
"name": "guzzlehttp/uri-template",
"version": "v1.0.5",
"version": "v1.0.6",
"source": {
"type": "git",
"url": "https://github.com/guzzle/uri-template.git",
"reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1"
"reference": "eef7f87bab6f204eba3c39224d8075c70c637946"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/uri-template/zipball/4f4bbd4e7172148801e76e3decc1e559bdee34e1",
"reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1",
"url": "https://api.github.com/repos/guzzle/uri-template/zipball/eef7f87bab6f204eba3c39224d8075c70c637946",
"reference": "eef7f87bab6f204eba3c39224d8075c70c637946",
"shasum": ""
},
"require": {
@@ -1694,7 +1695,7 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"phpunit/phpunit": "^8.5.44 || ^9.6.25",
"phpunit/phpunit": "^8.5.52 || ^9.6.34",
"uri-template/tests": "1.0.0"
},
"type": "library",
@@ -1742,7 +1743,7 @@
],
"support": {
"issues": "https://github.com/guzzle/uri-template/issues",
"source": "https://github.com/guzzle/uri-template/tree/v1.0.5"
"source": "https://github.com/guzzle/uri-template/tree/v1.0.6"
},
"funding": [
{
@@ -1758,7 +1759,7 @@
"type": "tidelift"
}
],
"time": "2025-08-22T14:27:06+00:00"
"time": "2026-05-23T22:00:21+00:00"
},
{
"name": "jean85/pretty-package-versions",
@@ -1822,16 +1823,16 @@
},
{
"name": "laravel/framework",
"version": "v13.9.0",
"version": "v13.11.2",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "a0c6ad03b380287015287d8d5a0fa2459e2332fd"
"reference": "4148042bf6ee01edd05408f1f66d91b231f85c25"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/a0c6ad03b380287015287d8d5a0fa2459e2332fd",
"reference": "a0c6ad03b380287015287d8d5a0fa2459e2332fd",
"url": "https://api.github.com/repos/laravel/framework/zipball/4148042bf6ee01edd05408f1f66d91b231f85c25",
"reference": "4148042bf6ee01edd05408f1f66d91b231f85c25",
"shasum": ""
},
"require": {
@@ -2042,20 +2043,20 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2026-05-13T15:38:40+00:00"
"time": "2026-05-20T11:46:02+00:00"
},
{
"name": "laravel/nightwatch",
"version": "1.26.1",
"version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/nightwatch.git",
"reference": "9212390822f80e6e3e4f399ad7818c551d94af71"
"reference": "d0f9cbe7364ffb9e4577c558a8fe7cded4d07a31"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/nightwatch/zipball/9212390822f80e6e3e4f399ad7818c551d94af71",
"reference": "9212390822f80e6e3e4f399ad7818c551d94af71",
"url": "https://api.github.com/repos/laravel/nightwatch/zipball/d0f9cbe7364ffb9e4577c558a8fe7cded4d07a31",
"reference": "d0f9cbe7364ffb9e4577c558a8fe7cded4d07a31",
"shasum": ""
},
"require": {
@@ -2136,20 +2137,20 @@
"issues": "https://github.com/laravel/nightwatch/issues",
"source": "https://github.com/laravel/nightwatch"
},
"time": "2026-04-13T03:38:38+00:00"
"time": "2026-05-21T01:59:31+00:00"
},
{
"name": "laravel/prompts",
"version": "v0.3.17",
"version": "v0.3.18",
"source": {
"type": "git",
"url": "https://github.com/laravel/prompts.git",
"reference": "6a82ac19a28b916ae0885828795dbd4c59d9a818"
"reference": "a19af51bb144bf87f08397921fa619f85c7d4e72"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/prompts/zipball/6a82ac19a28b916ae0885828795dbd4c59d9a818",
"reference": "6a82ac19a28b916ae0885828795dbd4c59d9a818",
"url": "https://api.github.com/repos/laravel/prompts/zipball/a19af51bb144bf87f08397921fa619f85c7d4e72",
"reference": "a19af51bb144bf87f08397921fa619f85c7d4e72",
"shasum": ""
},
"require": {
@@ -2193,9 +2194,9 @@
"description": "Add beautiful and user-friendly forms to your command-line applications.",
"support": {
"issues": "https://github.com/laravel/prompts/issues",
"source": "https://github.com/laravel/prompts/tree/v0.3.17"
"source": "https://github.com/laravel/prompts/tree/v0.3.18"
},
"time": "2026-04-20T16:07:33+00:00"
"time": "2026-05-19T00:47:18+00:00"
},
{
"name": "laravel/reverb",
@@ -4926,16 +4927,16 @@
},
{
"name": "power-components/livewire-powergrid",
"version": "v6.10.1",
"version": "v6.10.3",
"source": {
"type": "git",
"url": "https://github.com/Power-Components/livewire-powergrid.git",
"reference": "19245083438fa0571f03418e0b719e1e0ebb0428"
"reference": "77557ae0d59b32715c73ebcfc0c3ba3612d44d37"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Power-Components/livewire-powergrid/zipball/19245083438fa0571f03418e0b719e1e0ebb0428",
"reference": "19245083438fa0571f03418e0b719e1e0ebb0428",
"url": "https://api.github.com/repos/Power-Components/livewire-powergrid/zipball/77557ae0d59b32715c73ebcfc0c3ba3612d44d37",
"reference": "77557ae0d59b32715c73ebcfc0c3ba3612d44d37",
"shasum": ""
},
"require": {
@@ -4992,7 +4993,7 @@
"homepage": "https://github.com/power-components/livewire-powergrid",
"support": {
"issues": "https://github.com/Power-Components/livewire-powergrid/issues",
"source": "https://github.com/Power-Components/livewire-powergrid/tree/v6.10.1"
"source": "https://github.com/Power-Components/livewire-powergrid/tree/v6.10.3"
},
"funding": [
{
@@ -5000,7 +5001,7 @@
"type": "github"
}
],
"time": "2026-05-04T17:42:52+00:00"
"time": "2026-05-23T13:11:25+00:00"
},
{
"name": "psr/clock",
@@ -5416,16 +5417,16 @@
},
{
"name": "psy/psysh",
"version": "v0.12.22",
"version": "v0.12.23",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
"reference": "3be75d5b9244936dd4ac62ade2bfb004d13acf0f"
"reference": "4dcc0f08047d52bbde475eda481146fd8e27e1a4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/3be75d5b9244936dd4ac62ade2bfb004d13acf0f",
"reference": "3be75d5b9244936dd4ac62ade2bfb004d13acf0f",
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/4dcc0f08047d52bbde475eda481146fd8e27e1a4",
"reference": "4dcc0f08047d52bbde475eda481146fd8e27e1a4",
"shasum": ""
},
"require": {
@@ -5489,9 +5490,9 @@
],
"support": {
"issues": "https://github.com/bobthecow/psysh/issues",
"source": "https://github.com/bobthecow/psysh/tree/v0.12.22"
"source": "https://github.com/bobthecow/psysh/tree/v0.12.23"
},
"time": "2026-03-22T23:03:24+00:00"
"time": "2026-05-23T13:41:31+00:00"
},
{
"name": "pusher/pusher-php-server",
@@ -7660,16 +7661,16 @@
},
{
"name": "spatie/laravel-package-tools",
"version": "1.93.0",
"version": "1.93.1",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-package-tools.git",
"reference": "0d097bce95b2bf6802fb1d83e1e753b0f5a948e7"
"reference": "d5552849801f2642aea710557463234b59ef65eb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/0d097bce95b2bf6802fb1d83e1e753b0f5a948e7",
"reference": "0d097bce95b2bf6802fb1d83e1e753b0f5a948e7",
"url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/d5552849801f2642aea710557463234b59ef65eb",
"reference": "d5552849801f2642aea710557463234b59ef65eb",
"shasum": ""
},
"require": {
@@ -7709,7 +7710,7 @@
],
"support": {
"issues": "https://github.com/spatie/laravel-package-tools/issues",
"source": "https://github.com/spatie/laravel-package-tools/tree/1.93.0"
"source": "https://github.com/spatie/laravel-package-tools/tree/1.93.1"
},
"funding": [
{
@@ -7717,7 +7718,7 @@
"type": "github"
}
],
"time": "2026-02-21T12:49:54+00:00"
"time": "2026-05-19T14:06:37+00:00"
},
{
"name": "spatie/laravel-signal-aware-command",
@@ -9026,16 +9027,16 @@
},
{
"name": "symfony/http-kernel",
"version": "v8.0.11",
"version": "v8.0.12",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "20d3680373f4b791903c09e74b45402b4aeda71c"
"reference": "c00291734c59c05c54c5a3abc2ab18e99b070157"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/20d3680373f4b791903c09e74b45402b4aeda71c",
"reference": "20d3680373f4b791903c09e74b45402b4aeda71c",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/c00291734c59c05c54c5a3abc2ab18e99b070157",
"reference": "c00291734c59c05c54c5a3abc2ab18e99b070157",
"shasum": ""
},
"require": {
@@ -9106,7 +9107,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/http-kernel/tree/v8.0.11"
"source": "https://github.com/symfony/http-kernel/tree/v8.0.12"
},
"funding": [
{
@@ -9126,20 +9127,20 @@
"type": "tidelift"
}
],
"time": "2026-05-13T18:07:14+00:00"
"time": "2026-05-20T09:47:36+00:00"
},
{
"name": "symfony/mailer",
"version": "v8.0.8",
"version": "v8.0.12",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
"reference": "ca5f6edaf8780ece814404b58a4482b22b509c56"
"reference": "5266d594e83593dff3492b5655ff6e8f38d67cfc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/mailer/zipball/ca5f6edaf8780ece814404b58a4482b22b509c56",
"reference": "ca5f6edaf8780ece814404b58a4482b22b509c56",
"url": "https://api.github.com/repos/symfony/mailer/zipball/5266d594e83593dff3492b5655ff6e8f38d67cfc",
"reference": "5266d594e83593dff3492b5655ff6e8f38d67cfc",
"shasum": ""
},
"require": {
@@ -9186,7 +9187,7 @@
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/mailer/tree/v8.0.8"
"source": "https://github.com/symfony/mailer/tree/v8.0.12"
},
"funding": [
{
@@ -9206,20 +9207,20 @@
"type": "tidelift"
}
],
"time": "2026-03-30T15:14:47+00:00"
"time": "2026-05-20T07:22:03+00:00"
},
{
"name": "symfony/mime",
"version": "v8.0.9",
"version": "v8.0.12",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
"reference": "a9fcb293650c054b62a5b406f4e92e7b711ea333"
"reference": "7d9a72bbf0a9cb169ed1cbbbbbf709a592207fc1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/mime/zipball/a9fcb293650c054b62a5b406f4e92e7b711ea333",
"reference": "a9fcb293650c054b62a5b406f4e92e7b711ea333",
"url": "https://api.github.com/repos/symfony/mime/zipball/7d9a72bbf0a9cb169ed1cbbbbbf709a592207fc1",
"reference": "7d9a72bbf0a9cb169ed1cbbbbbf709a592207fc1",
"shasum": ""
},
"require": {
@@ -9272,7 +9273,7 @@
"mime-type"
],
"support": {
"source": "https://github.com/symfony/mime/tree/v8.0.9"
"source": "https://github.com/symfony/mime/tree/v8.0.12"
},
"funding": [
{
@@ -9292,7 +9293,7 @@
"type": "tidelift"
}
],
"time": "2026-04-29T15:02:55+00:00"
"time": "2026-05-20T07:22:03+00:00"
},
{
"name": "symfony/options-resolver",
@@ -10348,16 +10349,16 @@
},
{
"name": "symfony/routing",
"version": "v8.0.9",
"version": "v8.0.12",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
"reference": "75d1bd8e5da3424e4db2fc3ff0222cb4d0c73038"
"reference": "c7f22a665faa3e5212b8f042e0c5831a6b85492f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/75d1bd8e5da3424e4db2fc3ff0222cb4d0c73038",
"reference": "75d1bd8e5da3424e4db2fc3ff0222cb4d0c73038",
"url": "https://api.github.com/repos/symfony/routing/zipball/c7f22a665faa3e5212b8f042e0c5831a6b85492f",
"reference": "c7f22a665faa3e5212b8f042e0c5831a6b85492f",
"shasum": ""
},
"require": {
@@ -10404,7 +10405,7 @@
"url"
],
"support": {
"source": "https://github.com/symfony/routing/tree/v8.0.9"
"source": "https://github.com/symfony/routing/tree/v8.0.12"
},
"funding": [
{
@@ -10424,7 +10425,7 @@
"type": "tidelift"
}
],
"time": "2026-04-29T15:02:55+00:00"
"time": "2026-05-20T07:22:03+00:00"
},
{
"name": "symfony/service-contracts",
@@ -11692,16 +11693,16 @@
},
{
"name": "laravel/boost",
"version": "v2.4.7",
"version": "v2.4.8",
"source": {
"type": "git",
"url": "https://github.com/laravel/boost.git",
"reference": "cebd69eb8ebcefd27653ba95407ef8be965ec239"
"reference": "d11d720cf9537f8d236a11d973e99563a598ec9c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/boost/zipball/cebd69eb8ebcefd27653ba95407ef8be965ec239",
"reference": "cebd69eb8ebcefd27653ba95407ef8be965ec239",
"url": "https://api.github.com/repos/laravel/boost/zipball/d11d720cf9537f8d236a11d973e99563a598ec9c",
"reference": "d11d720cf9537f8d236a11d973e99563a598ec9c",
"shasum": ""
},
"require": {
@@ -11710,7 +11711,7 @@
"illuminate/contracts": "^11.45.3|^12.41.1|^13.0",
"illuminate/routing": "^11.45.3|^12.41.1|^13.0",
"illuminate/support": "^11.45.3|^12.41.1|^13.0",
"laravel/mcp": "^0.5.1|^0.6.0|^0.7.0",
"laravel/mcp": "^0.5.1|^0.6.0|~0.7.0,<0.7.1",
"laravel/prompts": "^0.3.10",
"laravel/roster": "^0.5.0",
"php": "^8.2"
@@ -11754,7 +11755,7 @@
"issues": "https://github.com/laravel/boost/issues",
"source": "https://github.com/laravel/boost"
},
"time": "2026-05-18T12:23:29+00:00"
"time": "2026-05-19T20:09:50+00:00"
},
{
"name": "laravel/mcp",
@@ -13589,16 +13590,16 @@
},
{
"name": "sebastian/comparator",
"version": "7.1.6",
"version": "7.1.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "c769009dee98f494e0edc3fd4f4087501688f11e"
"reference": "7c65c1e79836812819705b473a90c12399542485"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/c769009dee98f494e0edc3fd4f4087501688f11e",
"reference": "c769009dee98f494e0edc3fd4f4087501688f11e",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/7c65c1e79836812819705b473a90c12399542485",
"reference": "7c65c1e79836812819705b473a90c12399542485",
"shasum": ""
},
"require": {
@@ -13606,10 +13607,10 @@
"ext-mbstring": "*",
"php": ">=8.3",
"sebastian/diff": "^7.0",
"sebastian/exporter": "^7.0"
"sebastian/exporter": "^7.0.3"
},
"require-dev": {
"phpunit/phpunit": "^12.2"
"phpunit/phpunit": "^12.5.25"
},
"suggest": {
"ext-bcmath": "For comparing BcMath\\Number objects"
@@ -13657,7 +13658,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
"security": "https://github.com/sebastianbergmann/comparator/security/policy",
"source": "https://github.com/sebastianbergmann/comparator/tree/7.1.6"
"source": "https://github.com/sebastianbergmann/comparator/tree/7.1.8"
},
"funding": [
{
@@ -13677,7 +13678,7 @@
"type": "tidelift"
}
],
"time": "2026-04-14T08:23:15+00:00"
"time": "2026-05-21T04:45:25+00:00"
},
{
"name": "sebastian/complexity",
@@ -13806,23 +13807,23 @@
},
{
"name": "sebastian/environment",
"version": "8.1.0",
"version": "8.1.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
"reference": "b121608b28a13f721e76ffbbd386d08eff58f3f6"
"reference": "334bc42a97ec6fc44c59001dc3467e0d739a20e9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/b121608b28a13f721e76ffbbd386d08eff58f3f6",
"reference": "b121608b28a13f721e76ffbbd386d08eff58f3f6",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/334bc42a97ec6fc44c59001dc3467e0d739a20e9",
"reference": "334bc42a97ec6fc44c59001dc3467e0d739a20e9",
"shasum": ""
},
"require": {
"php": ">=8.3"
},
"require-dev": {
"phpunit/phpunit": "^12.0"
"phpunit/phpunit": "^12.5.25"
},
"suggest": {
"ext-posix": "*"
@@ -13858,7 +13859,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
"security": "https://github.com/sebastianbergmann/environment/security/policy",
"source": "https://github.com/sebastianbergmann/environment/tree/8.1.0"
"source": "https://github.com/sebastianbergmann/environment/tree/8.1.1"
},
"funding": [
{
@@ -13878,29 +13879,29 @@
"type": "tidelift"
}
],
"time": "2026-04-15T12:13:01+00:00"
"time": "2026-05-21T08:45:32+00:00"
},
{
"name": "sebastian/exporter",
"version": "7.0.2",
"version": "7.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
"reference": "016951ae10980765e4e7aee491eb288c64e505b7"
"reference": "c5e21b5de653ce0a769fb36f5cdfcb5e7a32cf23"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/016951ae10980765e4e7aee491eb288c64e505b7",
"reference": "016951ae10980765e4e7aee491eb288c64e505b7",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/c5e21b5de653ce0a769fb36f5cdfcb5e7a32cf23",
"reference": "c5e21b5de653ce0a769fb36f5cdfcb5e7a32cf23",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": ">=8.3",
"sebastian/recursion-context": "^7.0"
"sebastian/recursion-context": "^7.0.1"
},
"require-dev": {
"phpunit/phpunit": "^12.0"
"phpunit/phpunit": "^12.5.25"
},
"type": "library",
"extra": {
@@ -13948,7 +13949,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
"security": "https://github.com/sebastianbergmann/exporter/security/policy",
"source": "https://github.com/sebastianbergmann/exporter/tree/7.0.2"
"source": "https://github.com/sebastianbergmann/exporter/tree/7.0.3"
},
"funding": [
{
@@ -13968,7 +13969,7 @@
"type": "tidelift"
}
],
"time": "2025-09-24T06:16:11+00:00"
"time": "2026-05-20T04:37:17+00:00"
},
{
"name": "sebastian/global-state",
@@ -14046,24 +14047,24 @@
},
{
"name": "sebastian/lines-of-code",
"version": "4.0.0",
"version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
"reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f"
"reference": "d543b8ef219dcd8da262cbb958639a96bedba10e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/97ffee3bcfb5805568d6af7f0f893678fc076d2f",
"reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f",
"url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d543b8ef219dcd8da262cbb958639a96bedba10e",
"reference": "d543b8ef219dcd8da262cbb958639a96bedba10e",
"shasum": ""
},
"require": {
"nikic/php-parser": "^5.0",
"nikic/php-parser": "^5.7.0",
"php": ">=8.3"
},
"require-dev": {
"phpunit/phpunit": "^12.0"
"phpunit/phpunit": "^12.5.25"
},
"type": "library",
"extra": {
@@ -14092,15 +14093,27 @@
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
"security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
"source": "https://github.com/sebastianbergmann/lines-of-code/tree/4.0.0"
"source": "https://github.com/sebastianbergmann/lines-of-code/tree/4.0.1"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
},
{
"url": "https://liberapay.com/sebastianbergmann",
"type": "liberapay"
},
{
"url": "https://thanks.dev/u/gh/sebastianbergmann",
"type": "thanks_dev"
},
{
"url": "https://tidelift.com/funding/github/packagist/sebastian/lines-of-code",
"type": "tidelift"
}
],
"time": "2025-02-07T04:57:28+00:00"
"time": "2026-05-19T16:22:07+00:00"
},
{
"name": "sebastian/object-enumerator",
@@ -14294,23 +14307,23 @@
},
{
"name": "sebastian/type",
"version": "6.0.3",
"version": "6.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
"reference": "e549163b9760b8f71f191651d22acf32d56d6d4d"
"reference": "82ff822c2edc46724be9f7411d3163021f602773"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/e549163b9760b8f71f191651d22acf32d56d6d4d",
"reference": "e549163b9760b8f71f191651d22acf32d56d6d4d",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/82ff822c2edc46724be9f7411d3163021f602773",
"reference": "82ff822c2edc46724be9f7411d3163021f602773",
"shasum": ""
},
"require": {
"php": ">=8.3"
},
"require-dev": {
"phpunit/phpunit": "^12.0"
"phpunit/phpunit": "^12.5.25"
},
"type": "library",
"extra": {
@@ -14339,7 +14352,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
"security": "https://github.com/sebastianbergmann/type/security/policy",
"source": "https://github.com/sebastianbergmann/type/tree/6.0.3"
"source": "https://github.com/sebastianbergmann/type/tree/6.0.4"
},
"funding": [
{
@@ -14359,7 +14372,7 @@
"type": "tidelift"
}
],
"time": "2025-08-09T06:57:12+00:00"
"time": "2026-05-20T06:45:45+00:00"
},
{
"name": "sebastian/version",
@@ -14469,16 +14482,16 @@
},
{
"name": "symfony/yaml",
"version": "v8.0.11",
"version": "v8.0.12",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "48046fbd5567bd1717f278eaa2cfc3131f489984"
"reference": "2a36f4b8405d41fa31799b06874dbd45c1b16c30"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/48046fbd5567bd1717f278eaa2cfc3131f489984",
"reference": "48046fbd5567bd1717f278eaa2cfc3131f489984",
"url": "https://api.github.com/repos/symfony/yaml/zipball/2a36f4b8405d41fa31799b06874dbd45c1b16c30",
"reference": "2a36f4b8405d41fa31799b06874dbd45c1b16c30",
"shasum": ""
},
"require": {
@@ -14520,7 +14533,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/yaml/tree/v8.0.11"
"source": "https://github.com/symfony/yaml/tree/v8.0.12"
},
"funding": [
{
@@ -14540,7 +14553,7 @@
"type": "tidelift"
}
],
"time": "2026-05-13T12:07:53+00:00"
"time": "2026-05-20T07:22:03+00:00"
},
{
"name": "ta-tikoma/phpunit-architecture-test",
@@ -14653,16 +14666,16 @@
},
{
"name": "webmozart/assert",
"version": "2.3.0",
"version": "2.4.0",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
"reference": "eb0d790f735ba6cff25c683a85a1da0eadeff9e4"
"reference": "9007ea6f45ecf352a9422b36644e4bfc039b9155"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozarts/assert/zipball/eb0d790f735ba6cff25c683a85a1da0eadeff9e4",
"reference": "eb0d790f735ba6cff25c683a85a1da0eadeff9e4",
"url": "https://api.github.com/repos/webmozarts/assert/zipball/9007ea6f45ecf352a9422b36644e4bfc039b9155",
"reference": "9007ea6f45ecf352a9422b36644e4bfc039b9155",
"shasum": ""
},
"require": {
@@ -14678,7 +14691,11 @@
},
"type": "library",
"extra": {
"psalm": {
"pluginClass": "Webmozart\\Assert\\PsalmPlugin"
},
"branch-alias": {
"dev-master": "2.0-dev",
"dev-feature/2-0": "2.0-dev"
}
},
@@ -14709,9 +14726,9 @@
],
"support": {
"issues": "https://github.com/webmozarts/assert/issues",
"source": "https://github.com/webmozarts/assert/tree/2.3.0"
"source": "https://github.com/webmozarts/assert/tree/2.4.0"
},
"time": "2026-04-11T10:33:05+00:00"
"time": "2026-05-20T13:07:01+00:00"
}
],
"aliases": [],
+711
View File
@@ -0,0 +1,711 @@
/**
* Einundzwanzig Reveal.js Theme
*
* Übernimmt die Design-Tokens aus resources/css/theme.css
*/
@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@400;600;700;900&display=swap');
:root {
/* Brand */
--eu-orange: #FF5C00;
--eu-orange-light: #FF8A4C;
--eu-green-success: #22C55E;
--eu-purple-accent: #7c3aed;
--eu-green-nostr: #4a7c59;
/* Backgrounds (dark) */
--eu-bg-page: #0A0A0B;
--eu-bg-surface: #111113;
--eu-bg-elevated: #1A1A1D;
/* Borders */
--eu-border-default: #2A2A2E;
--eu-border-subtle: #1F1F23;
/* Text */
--eu-text-primary: #FFFFFF;
--eu-text-secondary: #ADADB0;
--eu-text-tertiary: #8B8B90;
--eu-text-muted: rgba(255, 255, 255, 0.8);
/* Reveal overrides */
--r-background-color: var(--eu-bg-page);
--r-main-font: 'Inconsolata', 'Menlo', 'Monaco', monospace;
--r-main-font-size: 28px;
--r-main-color: var(--eu-text-primary);
--r-heading-font: 'Inconsolata', monospace;
--r-heading-color: var(--eu-text-primary);
--r-heading-letter-spacing: -0.02em;
--r-heading-text-shadow: none;
--r-heading-text-transform: none;
--r-heading-font-weight: 700;
--r-link-color: var(--eu-orange);
--r-link-color-hover: var(--eu-orange-light);
--r-selection-background-color: var(--eu-orange);
--r-selection-color: var(--eu-bg-page);
--r-code-font: 'Inconsolata', monospace;
}
.reveal-viewport {
background: var(--eu-bg-page);
background-image:
radial-gradient(ellipse 80% 60% at 50% 0%, rgba(255, 92, 0, 0.08), transparent 60%),
radial-gradient(ellipse 60% 40% at 90% 100%, rgba(74, 124, 89, 0.05), transparent 60%);
}
.reveal {
font-family: var(--r-main-font);
color: var(--eu-text-primary);
}
.reveal .slides {
text-align: left;
}
.reveal .slides > section,
.reveal .slides > section > section {
padding: 20px 20px;
}
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4 {
color: var(--eu-text-primary);
font-weight: 700;
letter-spacing: -0.02em;
margin-bottom: 0.5em;
text-transform: none;
}
.reveal h1 { font-size: 2.2em; font-weight: 900; }
.reveal h2 { font-size: 1.5em; margin-bottom: 0.4em; }
.reveal h3 { font-size: 1.2em; }
.reveal .accent,
.reveal .orange {
color: var(--eu-orange);
}
.reveal .muted {
color: var(--eu-text-secondary);
}
.reveal .small {
font-size: 0.7em;
color: var(--eu-text-tertiary);
}
.reveal p {
color: var(--eu-text-muted);
line-height: 1.4;
margin: 0.4em 0;
}
.reveal ul,
.reveal ol {
color: var(--eu-text-muted);
line-height: 1.4;
margin: 0.4em 0 0.4em 1.2em;
}
.reveal li {
margin: 0.2em 0;
}
.reveal ul li::marker {
color: var(--eu-orange);
}
.reveal ol li::marker {
color: var(--eu-orange);
font-weight: 700;
}
.reveal code {
background: var(--eu-bg-elevated);
border: 1px solid var(--eu-border-default);
color: var(--eu-orange-light);
padding: 0.1em 0.4em;
border-radius: 4px;
font-size: 0.85em;
}
.reveal pre {
background: var(--eu-bg-elevated);
border: 1px solid var(--eu-border-default);
border-radius: 8px;
box-shadow: none;
width: 100%;
font-size: 0.55em;
}
.reveal pre code {
background: transparent;
border: none;
padding: 1.2em 1.4em;
color: var(--eu-text-primary);
border-radius: 0;
}
/* Custom utility components */
.eu-card {
background: var(--eu-bg-surface);
border: 1px solid var(--eu-border-default);
border-radius: 10px;
padding: 0.7em 0.9em;
}
.eu-card-elevated {
background: var(--eu-bg-elevated);
border: 1px solid var(--eu-border-default);
border-radius: 10px;
padding: 0.7em 0.9em;
}
.eu-grid-2 {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0.8em;
align-items: stretch;
}
.eu-grid-3 {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 0.8em;
align-items: stretch;
}
.eu-grid-2 .eu-card,
.eu-grid-3 .eu-card,
.eu-grid-2 .eu-card-elevated,
.eu-grid-3 .eu-card-elevated {
display: flex;
flex-direction: column;
}
.eu-grid-3 .eu-card,
.eu-grid-3 .eu-card-elevated {
font-size: 0.8em;
}
.eu-feature-icon {
font-size: 1.8em;
color: var(--eu-orange);
margin-bottom: 0.3em;
line-height: 1;
}
.eu-feature-title {
font-weight: 700;
color: var(--eu-text-primary);
margin-bottom: 0.3em;
}
.eu-feature-desc {
color: var(--eu-text-secondary);
font-size: 0.85em;
}
.eu-badge {
display: inline-block;
background: var(--eu-orange);
color: var(--eu-bg-page);
padding: 0.15em 0.7em;
border-radius: 999px;
font-weight: 700;
font-size: 0.7em;
letter-spacing: 0.04em;
text-transform: uppercase;
}
.eu-badge.green {
background: var(--eu-green-nostr);
color: var(--eu-text-primary);
}
.eu-badge.purple {
background: var(--eu-purple-accent);
color: var(--eu-text-primary);
}
.eu-tag {
display: inline-block;
background: var(--eu-bg-elevated);
border: 1px solid var(--eu-border-default);
color: var(--eu-text-secondary);
padding: 0.2em 0.7em;
border-radius: 6px;
font-size: 0.7em;
margin-right: 0.3em;
}
.eu-meme-frame {
background: var(--eu-bg-elevated);
border: 2px dashed var(--eu-orange);
border-radius: 16px;
padding: 1em 1.2em;
position: relative;
}
.eu-ascii-art {
font-family: 'Inconsolata', monospace;
color: var(--eu-orange);
font-size: 0.38em;
line-height: 1.1;
white-space: pre;
text-align: center;
}
.eu-emoji-art {
font-size: 5em;
text-align: center;
line-height: 1;
}
.eu-divider {
border: none;
border-top: 1px solid var(--eu-border-default);
margin: 1em 0;
}
.reveal blockquote {
background: var(--eu-bg-surface);
border-left: 4px solid var(--eu-orange);
border-radius: 0 8px 8px 0;
box-shadow: none;
padding: 0.8em 1.2em;
font-style: italic;
color: var(--eu-text-muted);
}
.reveal section img {
background: transparent;
border: none;
box-shadow: none;
border-radius: 8px;
}
.reveal .controls {
color: var(--eu-orange);
}
.reveal .progress {
color: var(--eu-orange);
background: var(--eu-bg-surface);
}
.reveal .slide-number {
color: var(--eu-text-tertiary);
background: transparent;
font-family: var(--r-main-font);
}
.eu-title-slide {
text-align: center !important;
display: flex !important;
flex-direction: column;
align-items: center;
justify-content: center;
}
.eu-title-slide h1 {
font-size: 3em;
line-height: 1.1;
margin-top: 0.4em;
}
.eu-title-slide .subtitle {
color: var(--eu-text-secondary);
font-size: 1.1em;
margin-top: 0.5em;
letter-spacing: 0.1em;
}
.eu-title-slide img {
max-width: 60%;
height: auto;
}
.eu-two-col {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 2em;
align-items: center;
}
.eu-step {
display: flex;
gap: 0.7em;
align-items: flex-start;
margin-bottom: 0.5em;
}
.eu-step-num {
flex-shrink: 0;
width: 1.6em;
height: 1.6em;
border-radius: 999px;
background: var(--eu-orange);
color: var(--eu-bg-page);
display: flex;
align-items: center;
justify-content: center;
font-weight: 900;
font-size: 0.85em;
}
.eu-step-body {
flex: 1;
color: var(--eu-text-muted);
line-height: 1.3;
}
.eu-step-body strong {
color: var(--eu-text-primary);
display: block;
margin-bottom: 0.05em;
}
/* ----------------------------------------
Mock-UI: Browser-Fenster im Look der App
----------------------------------------- */
.eu-app-frame {
background: var(--eu-bg-surface);
border: 1px solid var(--eu-border-default);
border-radius: 14px;
overflow: hidden;
font-size: 0.68em;
line-height: 1.4;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
}
.eu-app-frame-bar {
background: var(--eu-bg-elevated);
border-bottom: 1px solid var(--eu-border-default);
padding: 0.5em 0.9em;
display: flex;
align-items: center;
gap: 0.5em;
}
.eu-app-frame-dots {
display: flex;
gap: 0.35em;
}
.eu-app-frame-dot {
width: 0.7em;
height: 0.7em;
border-radius: 999px;
background: var(--eu-border-default);
}
.eu-app-frame-url {
flex: 1;
background: var(--eu-bg-page);
border: 1px solid var(--eu-border-default);
border-radius: 6px;
padding: 0.2em 0.7em;
color: var(--eu-text-tertiary);
font-size: 0.85em;
text-align: center;
}
.eu-app-frame-nav {
background: var(--eu-bg-surface);
border-bottom: 1px solid var(--eu-border-default);
padding: 0.5em 1em;
display: flex;
align-items: center;
gap: 1em;
color: var(--eu-text-secondary);
font-size: 0.85em;
}
.eu-app-frame-nav .brand {
color: var(--eu-text-primary);
font-weight: 900;
letter-spacing: 0.05em;
}
.eu-app-frame-nav .nav-item.active {
color: var(--eu-orange);
font-weight: 700;
}
.eu-app-frame-body {
padding: 1em 1.2em;
}
.eu-app-h1 {
color: var(--eu-text-primary);
font-weight: 700;
font-size: 1.5em;
margin-bottom: 0.7em;
}
/* News-Item, Projekt-Item etc. */
.eu-app-list-item {
background: var(--eu-bg-elevated);
border: 1px solid var(--eu-border-default);
border-radius: 8px;
padding: 0.7em 0.9em;
margin-bottom: 0.5em;
display: flex;
align-items: flex-start;
gap: 0.7em;
}
.eu-app-list-item .icon {
color: var(--eu-orange);
flex-shrink: 0;
width: 1.6em;
height: 1.6em;
border-radius: 6px;
background: rgba(255, 92, 0, 0.12);
display: flex;
align-items: center;
justify-content: center;
}
.eu-app-list-item .body {
flex: 1;
min-width: 0;
}
.eu-app-list-item .title {
color: var(--eu-text-primary);
font-weight: 700;
}
.eu-app-list-item .meta {
color: var(--eu-text-tertiary);
font-size: 0.85em;
margin-top: 0.1em;
}
.eu-app-filter-row {
display: flex;
flex-wrap: wrap;
gap: 0.4em;
margin-bottom: 0.8em;
}
.eu-app-chip {
background: var(--eu-bg-elevated);
border: 1px solid var(--eu-border-default);
border-radius: 999px;
padding: 0.2em 0.8em;
color: var(--eu-text-secondary);
font-size: 0.85em;
}
.eu-app-chip.active {
background: var(--eu-orange);
color: var(--eu-bg-page);
border-color: var(--eu-orange);
font-weight: 700;
}
.eu-app-button {
display: inline-flex;
align-items: center;
gap: 0.4em;
background: var(--eu-orange);
color: var(--eu-bg-page);
border: none;
border-radius: 8px;
padding: 0.35em 0.9em;
font-weight: 700;
font-size: 0.9em;
}
.eu-app-button.ghost {
background: transparent;
color: var(--eu-text-primary);
border: 1px solid var(--eu-border-default);
}
.eu-app-status-badge {
display: inline-block;
padding: 0.15em 0.6em;
border-radius: 999px;
font-size: 0.75em;
font-weight: 700;
}
.eu-app-status-badge.green {
background: rgba(34, 197, 94, 0.15);
color: var(--eu-green-success);
}
.eu-app-status-badge.orange {
background: rgba(255, 92, 0, 0.15);
color: var(--eu-orange);
}
/* Vorteils-Karten im Stil des Originals */
.eu-benefit-card {
border-radius: 10px;
padding: 0.8em 1em;
border: 1px solid;
display: flex;
gap: 0.7em;
align-items: flex-start;
}
.eu-benefit-card .ico {
width: 2em;
height: 2em;
border-radius: 999px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
font-size: 0.9em;
}
.eu-benefit-card.amber {
background: linear-gradient(135deg, rgba(252, 211, 77, 0.08), rgba(251, 146, 60, 0.06));
border-color: rgba(252, 211, 77, 0.25);
}
.eu-benefit-card.amber .ico {
background: rgba(180, 83, 9, 0.4);
color: #fbbf24;
}
.eu-benefit-card.emerald {
background: linear-gradient(135deg, rgba(52, 211, 153, 0.08), rgba(20, 184, 166, 0.06));
border-color: rgba(52, 211, 153, 0.25);
}
.eu-benefit-card.emerald .ico {
background: rgba(6, 95, 70, 0.4);
color: #34d399;
}
.eu-benefit-card.violet {
background: linear-gradient(135deg, rgba(167, 139, 250, 0.08), rgba(139, 92, 246, 0.06));
border-color: rgba(167, 139, 250, 0.25);
}
.eu-benefit-card.violet .ico {
background: rgba(76, 29, 149, 0.4);
color: #a78bfa;
}
.eu-benefit-card .title {
color: var(--eu-text-primary);
font-weight: 700;
margin-bottom: 0.15em;
}
.eu-benefit-card .desc {
color: var(--eu-text-secondary);
font-size: 0.85em;
}
.eu-code-inline {
background: var(--eu-bg-page);
border: 1px solid var(--eu-border-default);
border-radius: 4px;
padding: 0.1em 0.4em;
font-size: 0.8em;
color: var(--eu-orange-light);
}
.eu-section-label {
color: var(--eu-orange);
font-weight: 700;
font-size: 0.75em;
letter-spacing: 0.15em;
margin-bottom: 0.3em;
}
/* ----------------------------------------
Form-Elemente (Mock-Formular)
----------------------------------------- */
.eu-form-row {
margin-bottom: 0.6em;
}
.eu-form-label {
display: block;
color: var(--eu-text-secondary);
font-size: 0.8em;
margin-bottom: 0.25em;
}
.eu-form-input,
.eu-form-textarea {
width: 100%;
background: var(--eu-bg-page);
border: 1px solid var(--eu-border-default);
border-radius: 6px;
padding: 0.4em 0.7em;
color: var(--eu-text-primary);
font-family: 'Inconsolata', monospace;
font-size: 0.95em;
}
.eu-form-input.placeholder,
.eu-form-textarea.placeholder {
color: var(--eu-text-tertiary);
}
.eu-form-textarea {
min-height: 3em;
line-height: 1.4;
}
.eu-form-dropzone {
border: 2px dashed var(--eu-orange);
background: rgba(255, 92, 0, 0.05);
border-radius: 10px;
padding: 0.7em;
text-align: center;
color: var(--eu-text-secondary);
font-size: 0.85em;
}
.eu-highlight-ring {
position: relative;
box-shadow: 0 0 0 3px var(--eu-orange);
border-radius: 8px;
animation: euPulse 1.6s ease-in-out infinite;
}
@keyframes euPulse {
0%, 100% { box-shadow: 0 0 0 2px var(--eu-orange); }
50% { box-shadow: 0 0 0 5px rgba(255, 92, 0, 0.5); }
}
.eu-callout-arrow {
color: var(--eu-orange);
font-weight: 900;
font-size: 0.9em;
margin-top: 0.4em;
display: flex;
align-items: center;
gap: 0.4em;
}
.eu-vote-card {
background: var(--eu-bg-elevated);
border: 1px solid var(--eu-border-default);
border-radius: 8px;
padding: 0.5em 0.8em;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 0.3em;
}
.eu-vote-card .num {
color: var(--eu-orange);
font-weight: 700;
}
Binary file not shown.
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.9 KiB

+795
View File
@@ -0,0 +1,795 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>EINUNDZWANZIG VEREINS PORTAL + NOSTR</title>
<link rel="icon" type="image/jpeg" href="img/einundzwanzig-alpha.jpg">
<!-- Reveal.js core + dark theme as base -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/dist/reset.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/dist/reveal.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/dist/theme/black.css" id="theme">
<!-- Code highlighting -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/plugin/highlight/monokai.css">
<!-- FontAwesome (gleiche Lib wie das Projekt) -->
<script src="https://kit.fontawesome.com/866fd3d0ab.js" crossorigin="anonymous"></script>
<!-- Einundzwanzig Brand Theme -->
<link rel="stylesheet" href="css/einundzwanzig-theme.css">
</head>
<body>
<div class="reveal">
<div class="slides">
<!-- =========================================================
SLIDE 1 — Titel
============================================================== -->
<section class="eu-title-slide" data-background-color="#0A0A0B">
<img src="img/einundzwanzig-horizontal-inverted.svg" alt="EINUNDZWANZIG Logo">
<h1>VEREINS&nbsp;PORTAL <span class="orange">+ NOSTR</span></h1>
<p class="subtitle">Wie der Verein seine Mitglieder organisiert.</p>
</section>
<!-- =========================================================
SLIDE 2 — Was ist das Vereinsportal?
============================================================== -->
<section data-background-color="#0A0A0B">
<h2><span class="orange">Was</span> ist das Vereinsportal?</h2>
<blockquote>
Das Vereinsportal ist der <strong>digitale Schreibtisch</strong>
für jedes Einundzwanzig&#8209;Mitglied.
</blockquote>
<div class="eu-grid-3" style="margin-top: 0.8em;">
<div class="eu-card">
<div class="eu-feature-icon"><i class="fa-solid fa-newspaper"></i></div>
<div class="eu-feature-title">Informieren</div>
<div class="eu-feature-desc">News aus dem Verein lesen</div>
</div>
<div class="eu-card">
<div class="eu-feature-icon"><i class="fa-solid fa-hand-holding-heart"></i></div>
<div class="eu-feature-title">Mitwirken</div>
<div class="eu-feature-desc">Projekte vorschlagen &amp; unterstützen</div>
</div>
<div class="eu-card">
<div class="eu-feature-icon"><i class="fa-solid fa-gift"></i></div>
<div class="eu-feature-title">Profitieren</div>
<div class="eu-feature-desc">Mitglieder&#8209;Vorteile einlösen</div>
</div>
</div>
</section>
<!-- =========================================================
SLIDE 3 — Feature-Übersicht (kompakte Liste)
============================================================== -->
<section data-background-color="#0A0A0B">
<h2>Was kann ich <span class="orange">konkret</span> machen?</h2>
<div class="eu-grid-2" style="margin-top: 0.6em;">
<div class="eu-card">
<strong><i class="fa-solid fa-newspaper orange"></i>&nbsp; News lesen</strong>
<div class="muted small">Updates vom Vorstand &mdash; kein Newsletter.</div>
</div>
<div class="eu-card">
<strong><i class="fa-solid fa-identification orange"></i>&nbsp; Mein Mitgliederstatus</strong>
<div class="muted small">Mitglied? Seit wann? Welche Rolle?</div>
</div>
<div class="eu-card">
<strong><i class="fa-solid fa-gift orange"></i>&nbsp; Vorteile einlösen</strong>
<div class="muted small">Rabatte und Angebote von Partnern.</div>
</div>
<div class="eu-card">
<strong><i class="fa-solid fa-heart orange"></i>&nbsp; Projekte unterstützen</strong>
<div class="muted small">Förderanträge sehen, einreichen, priorisieren.</div>
</div>
<div class="eu-card">
<strong><i class="fa-solid fa-users-gear orange"></i>&nbsp; Mitglieder verwalten</strong>
<div class="muted small">Nur für Vorstand.</div>
</div>
</div>
</section>
<!-- =========================================================
SLIDE 4 — Wie logge ich mich ein? (Teaser)
============================================================== -->
<section data-background-color="#0A0A0B">
<h2>Wie logge ich mich <span class="orange">ein</span>?</h2>
<p>Sonst überall im Internet:</p>
<ul>
<li>E-Mail eintippen</li>
<li>Passwort ausdenken &amp; vergessen</li>
<li>"Passwort zurücksetzen"&#8209;Mail&hellip;</li>
</ul>
<p style="margin-top: 1em;">Bei Einundzwanzig: <strong class="orange">Login per Nostr</strong>.</p>
<p class="muted small">Keine E-Mail, kein Passwort, kein Anbieter dazwischen.</p>
</section>
<!-- =========================================================
SLIDE 5 — Spaß 1: Fax-Login
============================================================== -->
<section data-background-color="#0A0A0B">
<div class="eu-meme-frame">
<h2 style="margin-top: 0;">Option 1: <span class="orange">Das Fax-Login</span> &trade;</h2>
<div class="eu-two-col" style="margin-top: 0.6em; gap: 1.2em;">
<div class="eu-emoji-art">📠</div>
<div>
<ol style="margin-left: 1em;">
<li>Du rufst die Fax-Nummer von <strong>Markus Turm</strong> an</li>
<li>Er faxt dir dein <em>persönliches Login-Passwort</em></li>
<li>Du faxt die unterschriebene Anmeldung zurück</li>
<li>4&ndash;6 Wochen Bearbeitungszeit</li>
<li>Eingeloggt! <span class="orange">(Vielleicht.)</span></li>
</ol>
</div>
</div>
</div>
</section>
<!-- =========================================================
SLIDE 6 — Spaß 2: Nostr-Bändchen
============================================================== -->
<section data-background-color="#0A0A0B">
<div class="eu-meme-frame">
<h2 style="margin-top: 0;">Option 2: <span class="orange">Das Nostr-Bändchen</span> &trade;</h2>
<div class="eu-two-col" style="margin-top: 0.6em; gap: 1.2em;">
<div class="eu-emoji-art">📿</div>
<div>
<ol style="margin-left: 1em;">
<li>Du bestellst dein offizielles <strong>Einundzwanzig Nostr&#8209;Bändchen</strong></li>
<li>Wir versenden es per Brieftaube 🕊️</li>
<li>Du klatschst das Bändchen ans Handy&hellip;</li>
<li><strong class="orange">*BIIIP*</strong> &mdash; eingeloggt!</li>
<li>Limitierte Auflage: <strong>21 Stück</strong></li>
</ol>
</div>
</div>
</div>
</section>
<!-- =========================================================
SLIDE 7 — Übergang: Jetzt ernsthaft
============================================================== -->
<section data-background-color="#0A0A0B" style="text-align: center;">
<p class="muted" style="letter-spacing: 0.2em;">SPASS&nbsp;BEISEITE</p>
<h1 style="margin-top: 0.3em;">So funktioniert <span class="orange">Nostr&#8209;Login</span> wirklich.</h1>
<p class="muted" style="margin-top: 0.8em;">Zwei echte Wege &mdash; einer am Desktop, einer am Handy.</p>
</section>
<!-- =========================================================
SLIDE 8 — Was ist Nostr (vereinfacht)
============================================================== -->
<section data-background-color="#0A0A0B">
<h2>Kurz: Was ist <span class="orange">Nostr</span>?</h2>
<p>Ein <strong>offenes Protokoll</strong> für Identität im Internet &mdash; <strong>ohne</strong> Firma dahinter.</p>
<p style="margin-top: 0.6em;">Statt eines Accounts hast du <strong>zwei Schlüssel</strong>:</p>
<div class="eu-grid-2" style="margin-top: 0.4em;">
<div class="eu-card">
<strong class="orange"><i class="fa-solid fa-key"></i>&nbsp; Öffentlicher Schlüssel</strong>
<div class="muted small">Dein "Benutzername". Darf jeder sehen.</div>
</div>
<div class="eu-card">
<strong class="orange"><i class="fa-solid fa-lock"></i>&nbsp; Privater Schlüssel</strong>
<div class="muted small">Dein "Passwort". Bleibt <em>immer</em> bei dir.</div>
</div>
</div>
<blockquote style="margin-top: 0.8em;">
Du beweist deine Identität, ohne deinen privaten Schlüssel jemals an die Webseite zu schicken.
</blockquote>
</section>
<!-- =========================================================
SLIDE 9 — Methode 1: Browser-Extension
============================================================== -->
<section data-background-color="#0A0A0B">
<span class="eu-badge">Weg 1 &mdash; Desktop</span>
<h2 style="margin-top: 0.3em;"><i class="fa-solid fa-puzzle-piece orange"></i>&nbsp; Browser-Extension</h2>
<p class="muted">Für alle, die das Portal am Rechner nutzen.</p>
<div class="eu-two-col" style="margin-top: 0.6em; gap: 1.5em;">
<div>
<p><strong>Beliebte Extensions:</strong></p>
<ul>
<li><strong>Alby</strong> &mdash; mit Bitcoin-Wallet</li>
<li><strong>nos2x</strong> &mdash; minimal, nur Nostr</li>
</ul>
<p class="small muted" style="margin-top: 0.6em;">
Die Extension speichert deinen Schlüssel sicher im Browser.
</p>
</div>
<div>
<p><strong>So läufts ab:</strong></p>
<div class="eu-step">
<div class="eu-step-num">1</div>
<div class="eu-step-body">"Mit Nostr verbinden" klicken</div>
</div>
<div class="eu-step">
<div class="eu-step-num">2</div>
<div class="eu-step-body">Pop-up der Extension bestätigen</div>
</div>
<div class="eu-step">
<div class="eu-step-num">3</div>
<div class="eu-step-body"><strong>Eingeloggt.</strong></div>
</div>
</div>
</div>
</section>
<!-- =========================================================
SLIDE 10 — Methode 2: Mobile mit Amber
============================================================== -->
<section data-background-color="#0A0A0B">
<span class="eu-badge green">Weg 2 &mdash; Mobile</span>
<h2 style="margin-top: 0.3em;"><i class="fa-solid fa-mobile-screen orange"></i>&nbsp; Login mit Amber-App</h2>
<p class="muted">Für alle am Handy &mdash; mit der App <strong>Amber</strong> (Android).</p>
<div class="eu-two-col" style="margin-top: 0.6em; gap: 1.5em;">
<div>
<p><strong>Was macht Amber?</strong></p>
<p class="muted small">
Amber ist wie ein kleiner Tresor auf deinem Handy.
Er bewahrt deinen Schlüssel sicher auf und fragt dich,
bevor jemand etwas damit machen darf.
</p>
</div>
<div>
<p><strong>So läufts ab:</strong></p>
<div class="eu-step">
<div class="eu-step-num">1</div>
<div class="eu-step-body">Im Portal: QR&#8209;Code anzeigen lassen</div>
</div>
<div class="eu-step">
<div class="eu-step-num">2</div>
<div class="eu-step-body">Mit Amber den QR&#8209;Code scannen</div>
</div>
<div class="eu-step">
<div class="eu-step-num">3</div>
<div class="eu-step-body">Amber fragt: "Login erlauben?" &rarr; OK</div>
</div>
<div class="eu-step">
<div class="eu-step-num">4</div>
<div class="eu-step-body"><strong>Eingeloggt.</strong></div>
</div>
</div>
</div>
</section>
<!-- =========================================================
SLIDE 11 — Was passiert im Hintergrund (vereinfacht)
============================================================== -->
<section data-background-color="#0A0A0B">
<h2>Was passiert im <span class="orange">Hintergrund</span>?</h2>
<p class="muted">Egal welcher Weg &mdash; immer dieselben 3 Schritte:</p>
<div class="eu-grid-3" style="margin-top: 0.6em;">
<div class="eu-card-elevated">
<div class="eu-feature-icon"><i class="fa-solid fa-1"></i></div>
<div class="eu-feature-title">Frage</div>
<div class="eu-feature-desc">
Das Portal stellt dir eine Zufallsfrage &mdash; nur für dich.
</div>
</div>
<div class="eu-card-elevated">
<div class="eu-feature-icon"><i class="fa-solid fa-2"></i></div>
<div class="eu-feature-title">Unterschrift</div>
<div class="eu-feature-desc">
Dein Gerät unterschreibt die Frage mit deinem Schlüssel.
</div>
</div>
<div class="eu-card-elevated">
<div class="eu-feature-icon"><i class="fa-solid fa-3"></i></div>
<div class="eu-feature-title">Prüfung</div>
<div class="eu-feature-desc">
Das Portal prüft die Unterschrift &mdash; passt sie, bist du drin.
</div>
</div>
</div>
<p class="small muted" style="margin-top: 1em; text-align: center;">
<i class="fa-solid fa-shield-halved orange"></i>&nbsp;
Dein Schlüssel verlässt nie dein Gerät.
</p>
</section>
<!-- =========================================================
SLIDE 12 — Welche Methode?
============================================================== -->
<section data-background-color="#0A0A0B">
<h2><span class="orange">Welche</span> Methode für mich?</h2>
<div class="eu-grid-2" style="margin-top: 0.6em;">
<div class="eu-card">
<span class="eu-badge">Browser-Extension</span>
<p style="margin-top: 0.5em;"><strong>Am besten wenn&hellip;</strong></p>
<ul>
<li>Du das Portal am Rechner nutzt</li>
<li>Du Alby ohnehin hast</li>
<li>Du es schnell &amp; einfach magst</li>
</ul>
</div>
<div class="eu-card">
<span class="eu-badge green">Amber-App</span>
<p style="margin-top: 0.5em;"><strong>Am besten wenn&hellip;</strong></p>
<ul>
<li>Du am Handy unterwegs bist</li>
<li>Du an wechselnden Rechnern arbeitest</li>
<li>Dir maximale Sicherheit wichtig ist</li>
</ul>
</div>
</div>
</section>
<!-- =========================================================
SLIDE 13 — Live-Demo
============================================================== -->
<section data-background-color="#0A0A0B" style="text-align: center;">
<img src="img/einundzwanzig-horizontal-inverted.svg" alt="Einundzwanzig Logo" style="max-width: 40%; margin-bottom: 1em;">
<h1 style="font-size: 2em;">Jetzt: <span class="orange">Live-Demo</span></h1>
<p class="muted" style="margin-top: 1em;">
Wir öffnen das Portal und loggen uns ein.
</p>
</section>
<!-- =========================================================
SLIDE 14 — Übergang: jetzt die Features
============================================================== -->
<section data-background-color="#0A0A0B" style="text-align: center;">
<img src="img/einundzwanzig-horizontal-inverted.svg" alt="Einundzwanzig Logo" style="max-width: 40%; margin-bottom: 1em;">
<h1 style="font-size: 2em;">Was steckt <span class="orange">drin</span>?</h1>
<p class="muted" style="margin-top: 1em;">
Ein Rundgang durch die Features des Portals.
</p>
</section>
<!-- =========================================================
SLIDE 15 — Feature: News
============================================================== -->
<section data-background-color="#0A0A0B">
<div class="eu-section-label">FEATURE 1 / 5</div>
<h2 style="margin-top: 0;"><i class="fa-solid fa-newspaper orange"></i>&nbsp; News</h2>
<p class="muted">Alle Vereins-Updates an einem Ort &mdash; nach Kategorien gefiltert.</p>
<div class="eu-app-frame" style="margin-top: 0.6em;">
<div class="eu-app-frame-bar">
<div class="eu-app-frame-dots">
<span class="eu-app-frame-dot"></span>
<span class="eu-app-frame-dot"></span>
<span class="eu-app-frame-dot"></span>
</div>
<div class="eu-app-frame-url">einundzwanzig.space / association / news</div>
</div>
<div class="eu-app-frame-body">
<div class="eu-app-h1">News</div>
<div class="eu-app-filter-row">
<span class="eu-app-chip active">Alle</span>
<span class="eu-app-chip">Vorstand</span>
<span class="eu-app-chip">Projekte</span>
<span class="eu-app-chip">Events</span>
</div>
<div class="eu-app-list-item">
<div class="icon"><i class="fa-solid fa-bullhorn"></i></div>
<div class="body">
<div class="title">Protokoll der Mitgliederversammlung 2026</div>
<div class="meta">Vorstand &middot; vor 2 Tagen &middot; PDF</div>
</div>
</div>
<div class="eu-app-list-item">
<div class="icon"><i class="fa-solid fa-rocket"></i></div>
<div class="body">
<div class="title">Neues Förderprojekt freigegeben</div>
<div class="meta">Projekte &middot; vor 1 Woche</div>
</div>
</div>
<div class="eu-app-list-item">
<div class="icon"><i class="fa-solid fa-calendar"></i></div>
<div class="body">
<div class="title">Save the Date: Sommercamp 2026</div>
<div class="meta">Events &middot; vor 2 Wochen</div>
</div>
</div>
</div>
</div>
</section>
<!-- =========================================================
SLIDE 16 — Feature: Mein Mitgliederstatus / Profil
============================================================== -->
<section data-background-color="#0A0A0B">
<div class="eu-section-label">FEATURE 2 / 5</div>
<h2 style="margin-top: 0;"><i class="fa-solid fa-id-card orange"></i>&nbsp; Mein Mitgliederstatus</h2>
<p class="muted">Profil sehen und Mitgliedsbeitrag mit Lightning bezahlen &mdash; direkt im Portal.</p>
<div class="eu-app-frame" style="margin-top: 0.6em;">
<div class="eu-app-frame-bar">
<div class="eu-app-frame-dots">
<span class="eu-app-frame-dot"></span>
<span class="eu-app-frame-dot"></span>
<span class="eu-app-frame-dot"></span>
</div>
<div class="eu-app-frame-url">einundzwanzig.space / association / profile</div>
</div>
<div class="eu-app-frame-body">
<div style="display: flex; gap: 1em; align-items: center; margin-bottom: 0.8em;">
<div style="width: 3em; height: 3em; border-radius: 999px; background: var(--eu-bg-elevated); border: 1px solid var(--eu-border-default); display: flex; align-items: center; justify-content: center; font-size: 1.4em;">
<i class="fa-solid fa-user orange"></i>
</div>
<div>
<div style="color: var(--eu-text-primary); font-weight: 700;">satoshi@einundzwanzig.space</div>
<div style="color: var(--eu-text-tertiary); font-size: 0.85em;">Mitglied seit 2024</div>
</div>
<div style="margin-left: auto;">
<span class="eu-app-status-badge green"><i class="fa-solid fa-check"></i>&nbsp; Aktiv</span>
</div>
</div>
<div class="eu-app-list-item">
<div class="icon"><i class="fa-solid fa-bolt"></i></div>
<div class="body">
<div class="title">Mitgliedsbeitrag 2026</div>
<div class="meta">21 000 Sats &middot; bezahlt am 14.01.2026</div>
</div>
<span class="eu-app-status-badge green">Bezahlt</span>
</div>
<div class="eu-app-list-item">
<div class="icon"><i class="fa-solid fa-receipt"></i></div>
<div class="body">
<div class="title">Beitrag 2027</div>
<div class="meta">Bereit zur Zahlung &mdash; Rechnung erstellen</div>
</div>
<button class="eu-app-button"><i class="fa-solid fa-bolt"></i>&nbsp; Pay</button>
</div>
</div>
</div>
</section>
<!-- =========================================================
SLIDE 17 — Feature: Vorteile
============================================================== -->
<section data-background-color="#0A0A0B">
<div class="eu-section-label">FEATURE 3 / 5</div>
<h2 style="margin-top: 0;"><i class="fa-solid fa-gift orange"></i>&nbsp; Vorteile deiner Mitgliedschaft</h2>
<p class="muted">Drei exklusive Services, die nur Mitglieder freischalten können.</p>
<div class="eu-app-frame" style="margin-top: 0.6em;">
<div class="eu-app-frame-bar">
<div class="eu-app-frame-dots">
<span class="eu-app-frame-dot"></span>
<span class="eu-app-frame-dot"></span>
<span class="eu-app-frame-dot"></span>
</div>
<div class="eu-app-frame-url">einundzwanzig.space / association / benefits</div>
</div>
<div class="eu-app-frame-body">
<div class="eu-grid-3" style="gap: 0.6em;">
<div class="eu-benefit-card amber">
<div class="ico"><i class="fa-solid fa-bolt"></i></div>
<div>
<div class="title">Nostr Relay</div>
<div class="desc">Schreib-Rechte auf dem Premium-Relay des Vereins.</div>
</div>
</div>
<div class="eu-benefit-card emerald">
<div class="ico"><i class="fa-solid fa-check-circle"></i></div>
<div>
<div class="title">NIP-05 Verifizierung</div>
<div class="desc">Lesbarer Name: <span class="eu-code-inline">du@einundzwanzig.space</span></div>
</div>
</div>
<div class="eu-benefit-card violet">
<div class="ico"><i class="fa-solid fa-tower-observation"></i></div>
<div>
<div class="title">Lightning Watchtower</div>
<div class="desc">Schützt deine Lightning-Channels, wenn du offline bist.</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- =========================================================
SLIDE 18 — Feature: Projekt-Unterstützungen
============================================================== -->
<section data-background-color="#0A0A0B">
<div class="eu-section-label">FEATURE 4 / 5</div>
<h2 style="margin-top: 0;"><i class="fa-solid fa-heart orange"></i>&nbsp; Projekt-Unterstützungen</h2>
<p class="muted">Projekte einreichen, prüfen und gemeinsam fördern.</p>
<div class="eu-app-frame" style="margin-top: 0.6em;">
<div class="eu-app-frame-bar">
<div class="eu-app-frame-dots">
<span class="eu-app-frame-dot"></span>
<span class="eu-app-frame-dot"></span>
<span class="eu-app-frame-dot"></span>
</div>
<div class="eu-app-frame-url">einundzwanzig.space / association / project-support</div>
</div>
<div class="eu-app-frame-body">
<div style="display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.7em;">
<div class="eu-app-filter-row" style="margin: 0;">
<span class="eu-app-chip active">Alle</span>
<span class="eu-app-chip">Neu</span>
<span class="eu-app-chip">Unterstützt</span>
</div>
<button class="eu-app-button"><i class="fa-solid fa-plus"></i>&nbsp; Projekt einreichen</button>
</div>
<div class="eu-app-list-item">
<div class="icon"><i class="fa-solid fa-graduation-cap"></i></div>
<div class="body">
<div class="title">Bitcoin-Workshop für Schulen</div>
<div class="meta">Eingereicht von Carla &middot; 500 000 Sats benötigt</div>
</div>
<span class="eu-app-status-badge green">Unterstützt</span>
</div>
<div class="eu-app-list-item">
<div class="icon"><i class="fa-solid fa-microphone"></i></div>
<div class="body">
<div class="title">Podcast-Equipment für Lokalgruppe</div>
<div class="meta">Eingereicht von Tom &middot; 250 000 Sats benötigt</div>
</div>
<span class="eu-app-status-badge orange">Neu</span>
</div>
</div>
</div>
</section>
<!-- =========================================================
SLIDE 19 — Feature: Mitgliederverwaltung (Vorstand)
============================================================== -->
<section data-background-color="#0A0A0B">
<div class="eu-section-label">FEATURE 5 / 5 &mdash; NUR&nbsp;VORSTAND</div>
<h2 style="margin-top: 0;"><i class="fa-solid fa-users-gear orange"></i>&nbsp; Mitglieder verwalten</h2>
<p class="muted">Überblick über alle Mitglieder, Beitragsstatus und Aufnahme&#8209;Anträge.</p>
<div class="eu-app-frame" style="margin-top: 0.6em;">
<div class="eu-app-frame-bar">
<div class="eu-app-frame-dots">
<span class="eu-app-frame-dot"></span>
<span class="eu-app-frame-dot"></span>
<span class="eu-app-frame-dot"></span>
</div>
<div class="eu-app-frame-url">einundzwanzig.space / association / members / admin</div>
</div>
<div class="eu-app-frame-body">
<div class="eu-app-list-item">
<div class="icon"><i class="fa-solid fa-user"></i></div>
<div class="body">
<div class="title">Alice</div>
<div class="meta">alice@einundzwanzig.space &middot; Beitrag 2026 bezahlt</div>
</div>
<span class="eu-app-status-badge green">Aktiv</span>
</div>
<div class="eu-app-list-item">
<div class="icon"><i class="fa-solid fa-user"></i></div>
<div class="body">
<div class="title">Bob</div>
<div class="meta">bob@einundzwanzig.space &middot; Beitrag offen</div>
</div>
<span class="eu-app-status-badge orange">Erinnerung</span>
</div>
<div class="eu-app-list-item">
<div class="icon"><i class="fa-solid fa-user-plus"></i></div>
<div class="body">
<div class="title">Carla</div>
<div class="meta">Möchte <strong>aktives Mitglied</strong> werden &mdash; Bewerbung prüfen</div>
</div>
<button class="eu-app-button ghost">Aktives Mitglied werden</button>
</div>
</div>
</div>
</section>
<!-- =========================================================
SLIDE 20 — Übergang: Beispiel Projekt einreichen
============================================================== -->
<section data-background-color="#0A0A0B" style="text-align: center;">
<img src="img/einundzwanzig-horizontal-inverted.svg" alt="Einundzwanzig Logo" style="max-width: 35%; margin-bottom: 1em;">
<h1 style="font-size: 1.8em;">Beispiel: <span class="orange">Projekt einreichen</span></h1>
<p class="muted" style="margin-top: 1em;">
In 3 Schritten zur eigenen Projekt&#8209;Unterstützung.
</p>
<p class="small" style="margin-top: 0.6em;">
<i class="fa-solid fa-wallet orange"></i>&nbsp; Echtes Beispiel aus dem Portal: <strong>Sparrow Wallet</strong>
</p>
</section>
<!-- =========================================================
SLIDE 21 — Schritt 1: Liste mit "Projekt einreichen"
============================================================== -->
<section data-background-color="#0A0A0B">
<div class="eu-section-label">SCHRITT 1 / 3</div>
<h2 style="margin-top: 0;">Auf der Projekt&#8209;Seite auf <span class="orange">"Projekt einreichen"</span> klicken</h2>
<div class="eu-app-frame" style="margin-top: 0.6em;">
<div class="eu-app-frame-bar">
<div class="eu-app-frame-dots">
<span class="eu-app-frame-dot"></span>
<span class="eu-app-frame-dot"></span>
<span class="eu-app-frame-dot"></span>
</div>
<div class="eu-app-frame-url">verein.einundzwanzig.space / association / project-support</div>
</div>
<div class="eu-app-frame-body">
<div style="display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.7em;">
<div class="eu-app-filter-row" style="margin: 0;">
<span class="eu-app-chip active">Alle</span>
<span class="eu-app-chip">Neu</span>
<span class="eu-app-chip">Unterstützt</span>
</div>
<button class="eu-app-button eu-highlight-ring"><i class="fa-solid fa-plus"></i>&nbsp; Projekt einreichen</button>
</div>
<div class="eu-app-list-item">
<div class="icon"><i class="fa-solid fa-shield-halved"></i></div>
<div class="body">
<div class="title">Peer2Peer Rights Foundation</div>
<div class="meta">Chris @ seedor_io &middot; 10 000 000 Sats</div>
</div>
<span class="eu-app-status-badge green">Unterstützt</span>
</div>
<div class="eu-app-list-item">
<div class="icon"><i class="fa-solid fa-microphone"></i></div>
<div class="body">
<div class="title">STANDUP</div>
<div class="meta">DrShift &middot; 5 500 000 Sats</div>
</div>
<span class="eu-app-status-badge green">Unterstützt</span>
</div>
<div class="eu-app-list-item">
<div class="icon"><i class="fa-solid fa-people-group"></i></div>
<div class="body">
<div class="title">21Meetup</div>
<div class="meta">M.W. &middot; 2 500 000 Sats</div>
</div>
<span class="eu-app-status-badge orange">Neu</span>
</div>
</div>
</div>
</section>
<!-- =========================================================
SLIDE 22 — Schritt 2: Formular ausfüllen
============================================================== -->
<section data-background-color="#0A0A0B">
<div class="eu-section-label">SCHRITT 2 / 3</div>
<h2 style="margin-top: 0;">Formular ausfüllen &mdash; <span class="orange">fertig in 30 Sekunden</span></h2>
<div class="eu-app-frame" style="margin-top: 0.5em;">
<div class="eu-app-frame-bar">
<div class="eu-app-frame-dots">
<span class="eu-app-frame-dot"></span>
<span class="eu-app-frame-dot"></span>
<span class="eu-app-frame-dot"></span>
</div>
<div class="eu-app-frame-url">verein.einundzwanzig.space / project-support / create</div>
</div>
<div class="eu-app-frame-body" style="display: grid; grid-template-columns: 1.5fr 1fr; gap: 1em;">
<div>
<div class="eu-form-row">
<label class="eu-form-label">Name</label>
<div class="eu-form-input">Sparrow Wallet</div>
</div>
<div class="eu-form-row">
<label class="eu-form-label">Website</label>
<div class="eu-form-input">https://sparrowwallet.com</div>
</div>
<div class="eu-form-row">
<label class="eu-form-label">Unterstützung (Sats)</label>
<div class="eu-form-input">2 100 000</div>
</div>
<div class="eu-form-row">
<label class="eu-form-label">Beschreibung</label>
<div class="eu-form-textarea">Bitcoin&#8209;only Desktop&#8209;Wallet mit Fokus auf Bedienbarkeit. UTXO&#8209;Verwaltung, Multi&#8209;Sig, viel in Workshops genutzt.</div>
</div>
</div>
<div>
<div class="eu-form-row">
<label class="eu-form-label">Bild</label>
<div class="eu-form-dropzone">
<i class="fa-solid fa-image" style="font-size: 1.4em; color: var(--eu-orange);"></i>
<div style="margin-top: 0.3em;">Bild ablegen oder klicken</div>
</div>
</div>
<button class="eu-app-button eu-highlight-ring" style="width: 100%; justify-content: center; margin-top: 0.6em;">
<i class="fa-solid fa-paper-plane"></i>&nbsp; Speichern
</button>
</div>
</div>
</div>
</section>
<!-- =========================================================
SLIDE 23 — Schritt 3: Eingereicht & zur Abstimmung
============================================================== -->
<section data-background-color="#0A0A0B">
<div class="eu-section-label">SCHRITT 3 / 3</div>
<h2 style="margin-top: 0;">Eingereicht &mdash; jetzt <span class="orange">stimmt die Community ab</span></h2>
<div class="eu-app-frame" style="margin-top: 0.5em;">
<div class="eu-app-frame-bar">
<div class="eu-app-frame-dots">
<span class="eu-app-frame-dot"></span>
<span class="eu-app-frame-dot"></span>
<span class="eu-app-frame-dot"></span>
</div>
<div class="eu-app-frame-url">verein.einundzwanzig.space / project-support / sparrow-wallet</div>
</div>
<div class="eu-app-frame-body" style="display: grid; grid-template-columns: 1.6fr 1fr; gap: 1em;">
<div>
<div style="color: var(--eu-purple-accent); font-weight: 700; font-size: 0.8em; text-transform: uppercase; margin-bottom: 0.2em;">22.12.2024</div>
<div style="color: var(--eu-text-primary); font-weight: 700; font-size: 1.3em; margin-bottom: 0.4em;">Sparrow Wallet</div>
<p class="muted small" style="margin-top: 0;">
Bitcoin&#8209;only Desktop&#8209;Wallet mit UTXO&#8209;Verwaltung und Multi&#8209;Sig.
</p>
<div style="display: flex; gap: 0.5em; align-items: center; margin-top: 0.6em;">
<span style="background: rgba(34, 197, 94, 0.15); color: var(--eu-green-success); font-size: 0.75em; font-weight: 700; padding: 0.2em 0.7em; border-radius: 999px; text-transform: uppercase;">
2 100 000 Sats
</span>
<span class="eu-tag">sparrowwallet.com</span>
</div>
<div class="muted small" style="margin-top: 0.6em;">
Eingereicht von <strong style="color: var(--eu-text-primary);">gmblr247</strong>
</div>
</div>
<div>
<div style="color: var(--eu-text-secondary); font-size: 0.75em; font-weight: 700; margin-bottom: 0.3em;">ABSTIMMUNG</div>
<div class="eu-vote-card">
<span><i class="fa-solid fa-thumbs-up" style="color: var(--eu-green-success);"></i>&nbsp; Vorstand</span>
<span class="num">5</span>
</div>
<div class="eu-vote-card">
<span><i class="fa-solid fa-thumbs-up" style="color: var(--eu-green-success);"></i>&nbsp; Mitglieder</span>
<span class="num">8</span>
</div>
<button class="eu-app-button" style="width: 100%; justify-content: center; margin-top: 0.5em;">
<i class="fa-solid fa-thumbs-up"></i>&nbsp; Zustimmen
</button>
</div>
</div>
</div>
</section>
</div>
</div>
<!-- Reveal.js Scripts -->
<script src="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/dist/reveal.js"></script>
<script src="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/plugin/notes/notes.js"></script>
<script src="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/plugin/highlight/highlight.js"></script>
<script>
Reveal.initialize({
hash: true,
slideNumber: 'c/t',
controls: true,
progress: true,
transition: 'slide',
transitionSpeed: 'default',
backgroundTransition: 'fade',
width: 1280,
height: 800,
margin: 0.04,
center: true,
plugins: [RevealNotes, RevealHighlight],
});
</script>
</body>
</html>
+159 -159
View File
@@ -145,89 +145,89 @@
resolved "https://registry.yarnpkg.com/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz#4a822d10f6f0e316be4d67b4d4f8c9a124b073bd"
integrity sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==
"@oxc-project/types@=0.130.0":
version "0.130.0"
resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.130.0.tgz#a7825148711dc28805c46cfc21d94b63a4d41e88"
integrity sha512-ibD2usx9JRu7f5pu2tMKMI4cpA4NgXJQoYRP4pQ7Pxmn1l6k/53qWtQWZayhYy3X4QZkt90Ot+mJEaeXouio6Q==
"@oxc-project/types@=0.132.0":
version "0.132.0"
resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.132.0.tgz#d77243df4fe1a0a1e60e12ac6240fa898d2363ff"
integrity sha512-FESMOxil5Se014ui/Eq8fT5uHJo6nIRwH0PfJrZJXs6Gek3ZVFOrpUv3YIZT20m+extU98Hg1Ym72U58rlsxUQ==
"@rolldown/binding-android-arm64@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.1.tgz#7b250c89f16d74affd581dbe38f702e8c2c644d3"
integrity sha512-fJI3I0r3C3Oj/zdBCpaCmBRZYf07xpaq4yCfDDoSFm+beWNzbIl26puW8RraUdugoJw/95zerNOn6jasAhzSmg==
"@rolldown/binding-android-arm64@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.2.tgz#ebe1264e43ba5bb224c58c85e0ac238f87e5ad14"
integrity sha512-ZS4D1JPGn/MYQN/SYDWftIE/nVsM8j/AFOYEzAoOE2O3NktQOZru+/vYXGbR/qtdLdIfGCP0lcoJiYVzsEz+iQ==
"@rolldown/binding-darwin-arm64@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.1.tgz#cd4de96687e6522062984b0503fbffbbc9220023"
integrity sha512-cKnAhWEsV7TPcA/5EAteDp6KcJZBQ2G+BqE7zayMMi7kMvwRsbv7WT9aOnn0WNl4SKEIf43vjS31iUPu80nzXg==
"@rolldown/binding-darwin-arm64@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.2.tgz#f972fb71bc03840629bee923babbb7048d14a5d0"
integrity sha512-vdFA9+C/rekyGce7WqHs/xoT0ioZEWaOFyZLIV1mEeNFaFDUQrPIo8Vs2GvJ6eetb3rzDUtUBgzto3ExpXJB3w==
"@rolldown/binding-darwin-x64@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.1.tgz#5b0a631e3784d5a7741dd93097dcf6dfca029960"
integrity sha512-YKrVwQjIRBPo+5G/u03wGjbdy4q7pyzCe93DK9VJ7zkVmeg8LJ7GbgsiHWdR4xSoe4CAXRD7Bcjgbtr64bkXNg==
"@rolldown/binding-darwin-x64@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.2.tgz#da1c062c135e1e50067084be5ab8055cc1e05b29"
integrity sha512-BewSOwTHazv77DTYiAZXSqqKZ4KP/KonFisDMVU7PImxoWfB2aepnPhd2E4SWz3zDzYgDNbs6jBmTdgNnF02GA==
"@rolldown/binding-freebsd-x64@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.1.tgz#d82e561079db89f796438f56ec11bb3565ee1875"
integrity sha512-z/oBsREo46SsFqBwYtFe0kpJeBijAT48O/WXLI4suiCLBkr03RTtTJMCzSdDd2znlh8VJizL09XVkQgk8IZonw==
"@rolldown/binding-freebsd-x64@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.2.tgz#a4c8532072705ce597c0d75418513709b75b3f1d"
integrity sha512-m41o7M0YWtUdqk61Tb+jnKb2rN++iRdIASlExkUoKfIAH30DOHCB8fVLzSUpbWHHU8esmEioY62PxzexE8MBuA==
"@rolldown/binding-linux-arm-gnueabihf@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.1.tgz#f2645afff4253c7b46b80ba14af5fd3fc18d45dc"
integrity sha512-ik8q7GM11zxvYxFc2PeDcT6TBvhCQMaUxfph/M5l9sKuTs/Sjg3L+Byw0F7w0ZVLBZmx30P+gG0ECzzN+MFcmQ==
"@rolldown/binding-linux-arm-gnueabihf@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.2.tgz#78f3bd274a1bab07356017d728b70289f04011c1"
integrity sha512-jcojB9H7W/jS29pMKWAK1N+fU99vXodHDTatS3b3y/XSOCiHo0kkA74pL3jJmkoQtYpOCxDvaKs1fo2Ij/1X5w==
"@rolldown/binding-linux-arm64-gnu@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.1.tgz#a16b97f175e7b115c5ece77c7b648d0c868f4486"
integrity sha512-QoSx2EkyrrdZ6kcyE8stqZ62t0Yra8Fs5ia9lOxJrh6TMQJK7gQKmscdTHf7pOXKREKrVwOtJcQG3qVSfc866A==
"@rolldown/binding-linux-arm64-gnu@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.2.tgz#4dc530aed0b554762ffc1a5e4f016b8be495eea0"
integrity sha512-1jn6qDU5iiOgFgygDzKUuKP0maTi0/f1+sBLgvij/76C77Nm3ts6ufz9Bjg5q5dduxiUIxtq86JIoBvo1xQ4Ig==
"@rolldown/binding-linux-arm64-musl@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.1.tgz#e695aec4ef2c8713c9d959b42a208059891276da"
integrity sha512-uwNwFpwKeNiZawfAWBgg0VIztPTV3ihhh1vV334h9ivnNLorxnQMU6Fz8wG1Zb4Qh9LC1/MkcyT3YlDXG3Rsgg==
"@rolldown/binding-linux-arm64-musl@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.2.tgz#56043cdf4768ea3184bb08a3f45b24f183003877"
integrity sha512-QVLO/czFMdoMFSqlX3bcswcJNm/23r+qoa/jgtmFc/qEp6/jXmIkDjF/XIo8dPfGaiwy1xfQn8o77L79GeXFgw==
"@rolldown/binding-linux-ppc64-gnu@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.1.tgz#4a9edf16112cbe99cdd396c60efac39cbd1758ac"
integrity sha512-zY1bul7OWr7DFBiJ++wofXvnr8B45ce3QsQUhKrIhXsygAh7bTkwyeM1bi1a2g5C/yC/N8TZyGDEoMfm/l9mpg==
"@rolldown/binding-linux-ppc64-gnu@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.2.tgz#92eba998d5cd9e4cfc8b95407b4b80f46dacadf4"
integrity sha512-hgO5Abm0w5UL6FEa2iFnZqo2KlK7TQ5QhV5x09hujBf7t5KzHQ1VmfPuTpqRy/rNlSxua3eWH374xxiVrP+lcA==
"@rolldown/binding-linux-s390x-gnu@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.1.tgz#314aa3ec1ce8251501d865f98fb91e42a1e671e4"
integrity sha512-0frlsT/f4Ft6I7SMESTKnF3cZsdicQn1dCMkF/jT9wDLE+gGoiQfv1nmT9e+s7s/fekvvy6tZM2jHvI2tkbJDQ==
"@rolldown/binding-linux-s390x-gnu@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.2.tgz#50b0e95dc3c22af1ecd1669ad7e6030e6860819e"
integrity sha512-fy8rXxuYEu602abC8MUNaPjYLIFzReOaEIEMKMUa0rFEUxNpVXhs15KSSQ4qlqSaM7B6rcj9rDZgADh/IGDzLQ==
"@rolldown/binding-linux-x64-gnu@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.1.tgz#7c51f13cf1141c503ee162830b4fc692d91640be"
integrity sha512-XABVmGp9Tg0WspTVvwduTc4fpqy6JnAUrSQe6OuyqD/03nI7r0O9OWUkMIwFrjKAIqolvqoA4ZrJppgwE0Gxmw==
"@rolldown/binding-linux-x64-gnu@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.2.tgz#d9fd5af004a373a2d26a09ce8fb66bd0927cbc0b"
integrity sha512-0+bOkiQ779+r1WpoHOWHqncvyySci0vKph+myNDYb+im6meJAzHQXay6oEgnkHuUGouM1LKTZwqKpBow6Kj7CQ==
"@rolldown/binding-linux-x64-musl@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.1.tgz#b7213936bbc9310b02a34f71cefd25f9e71f329b"
integrity sha512-bV4fzswuzVcKD90o/VM6QqKxnxlDq0g2BISDLNVmxrnhpv1DDbyPhCIjYfvzYLV+MvkKKnQt2Q6AO86SEBULUQ==
"@rolldown/binding-linux-x64-musl@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.2.tgz#c0ad80adf4d4df430d0ec309e97924db85065c3c"
integrity sha512-mjSkrzZK5Qsl0a9d1JgILOiuZOSDTVdKENcSXBoqbzSrspLR/4/IRVDo5wd2GgZjNss/viBFJdeq+j7qH2nypw==
"@rolldown/binding-openharmony-arm64@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.1.tgz#006e88acde4f12b41a4c72292685c9dc9e6a3627"
integrity sha512-/Mh0Zhq3OP7fVs0kcQHZP6lZEthMGTaSf8UBQYSFEZDWGXXlEC+nJ6EqenaK2t4LBXMe3A+K/G2BVXXdtOr4PQ==
"@rolldown/binding-openharmony-arm64@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.2.tgz#341fc254ef7759f865bb219beb5cea6f5c9a44f6"
integrity sha512-1v5vHasdfQAZoEHakBV72LIFAC9JjnymsiKxp+GEr/ma3+NJCPSaYK+qavInOovJkgwFrs7GccX2d6IgDA3Z5w==
"@rolldown/binding-wasm32-wasi@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.1.tgz#033525c84da217418232f35be19f1ddc0af4f31e"
integrity sha512-+1xc9X45l8ufsBAm6Gjvx2qDRIY9lTVt0cgWNcJ+1gdhXvkbxePA60yRTwSTuXL09CMhyJmjpV7E3NoyxbqFQQ==
"@rolldown/binding-wasm32-wasi@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.2.tgz#65f9389f74168fd54e67b12d0630fb90348051f0"
integrity sha512-mb1VobWn6NheziTk5/WEaR6AKVbrwT5sOi6C7zk3gy/pD1qtJfU1j4PgTo2NJnOtbL9Dl3Aeei8w9jJ7qC2jZQ==
dependencies:
"@emnapi/core" "1.10.0"
"@emnapi/runtime" "1.10.0"
"@napi-rs/wasm-runtime" "^1.1.4"
"@rolldown/binding-win32-arm64-msvc@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.1.tgz#febbf109cf1b5837e21369f0e0d2fefca1519c39"
integrity sha512-1D+UqZdfnuR+Jy1GgMJwi85bD40H21uNmOPRWQhw4oRSuolZ/B5rixZ45DK2KXOTCvmVCecauWgEhbw8bI7tOw==
"@rolldown/binding-win32-arm64-msvc@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.2.tgz#17e80f3402308f12c76ff4172768d51715b522ac"
integrity sha512-SqKonF56vA/L2yHwHYcEp2P34URpOZ7d1fS635cTkpDnUtEGdUbhI6NzsPdqeSWvAAeGDrxjWjNmibDIdFf9/A==
"@rolldown/binding-win32-x64-msvc@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.1.tgz#dfb32a67ccb0deaa3c9a57f6cb4890b5697dfa2c"
integrity sha512-INAycaWuhlOK3wk4mRHGsdgwYWmd9cChdPdE9bwWmy6rn9VqVNYNFGhOdXrofXUxwHIncSiPNb8tNm8knDVIeQ==
"@rolldown/binding-win32-x64-msvc@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.2.tgz#875cfa37f26d11692dbe28b8331499c97aa99d1f"
integrity sha512-v7qRI7gXLRINcOGXt+7YmAZ6iFuyZVMIoXAxhd8oP+DR9dLfL9GfNIx7PLMxmhZdvq8waUJBQiWN9EKNy+TRBQ==
"@rolldown/pluginutils@^1.0.0":
version "1.0.1"
@@ -276,13 +276,13 @@
"@types/hast" "^3.0.4"
hast-util-to-html "^9.0.5"
"@shikijs/core@4.0.2":
version "4.0.2"
resolved "https://registry.yarnpkg.com/@shikijs/core/-/core-4.0.2.tgz#386a00acc6965ced582e9066bfb237de7ee99174"
integrity sha512-hxT0YF4ExEqB8G/qFdtJvpmHXBYJ2lWW7qTHDarVkIudPFE6iCIrqdgWxGn5s+ppkGXI0aEGlibI0PAyzP3zlw==
"@shikijs/core@4.1.0":
version "4.1.0"
resolved "https://registry.yarnpkg.com/@shikijs/core/-/core-4.1.0.tgz#c7e9d0531f6339478c415168b375ad04b8f22ba6"
integrity sha512-jLJtSJeuFffqX6/inRE1zqU5aFv2hrszvYgq3OjbAgFRZiWv7abKMDdQzYxuSDfmUPQozZvI/kuy6VMTvnvqTQ==
dependencies:
"@shikijs/primitive" "4.0.2"
"@shikijs/types" "4.0.2"
"@shikijs/primitive" "4.1.0"
"@shikijs/types" "4.1.0"
"@shikijs/vscode-textmate" "^10.0.2"
"@types/hast" "^3.0.4"
hast-util-to-html "^9.0.5"
@@ -296,14 +296,14 @@
"@shikijs/vscode-textmate" "^10.0.2"
oniguruma-to-es "^4.3.4"
"@shikijs/engine-javascript@4.0.2":
version "4.0.2"
resolved "https://registry.yarnpkg.com/@shikijs/engine-javascript/-/engine-javascript-4.0.2.tgz#d49b766c23fb6e71c19b9a797ff5357c8a61db5e"
integrity sha512-7PW0Nm49DcoUIQEXlJhNNBHyoGMjalRETTCcjMqEaMoJRLljy1Bi/EGV3/qLBgLKQejdspiiYuHGQW6dX94Nag==
"@shikijs/engine-javascript@4.1.0":
version "4.1.0"
resolved "https://registry.yarnpkg.com/@shikijs/engine-javascript/-/engine-javascript-4.1.0.tgz#428383da53b89a1c2cf49d617c452591dac58bc2"
integrity sha512-YquhawCUgaBfhsS72e2Y/dI59gCBNPHu3fEO/tvLaXrTssxZrY5ddjtNLTwndrMgPo8b3IscE+xoICDzpTmlFQ==
dependencies:
"@shikijs/types" "4.0.2"
"@shikijs/types" "4.1.0"
"@shikijs/vscode-textmate" "^10.0.2"
oniguruma-to-es "^4.3.4"
oniguruma-to-es "^4.3.6"
"@shikijs/engine-oniguruma@3.23.0":
version "3.23.0"
@@ -313,12 +313,12 @@
"@shikijs/types" "3.23.0"
"@shikijs/vscode-textmate" "^10.0.2"
"@shikijs/engine-oniguruma@4.0.2":
version "4.0.2"
resolved "https://registry.yarnpkg.com/@shikijs/engine-oniguruma/-/engine-oniguruma-4.0.2.tgz#41ed06adcc4a4e6f49e05643dfe0d772dbb19c2b"
integrity sha512-UpCB9Y2sUKlS9z8juFSKz7ZtysmeXCgnRF0dlhXBkmQnek7lAToPte8DkxmEYGNTMii72zU/lyXiCB6StuZeJg==
"@shikijs/engine-oniguruma@4.1.0":
version "4.1.0"
resolved "https://registry.yarnpkg.com/@shikijs/engine-oniguruma/-/engine-oniguruma-4.1.0.tgz#3f292d71028ada44756b23c3cb66b4e4517542d3"
integrity sha512-axLpjVs45YBvvINa+dJF+NPW+KtFkNXsFr4SDw2BMj9GdeMnGxVB9PQb2xXlJYovslt/nz6giedAyOANkfc7hg==
dependencies:
"@shikijs/types" "4.0.2"
"@shikijs/types" "4.1.0"
"@shikijs/vscode-textmate" "^10.0.2"
"@shikijs/langs@3.23.0":
@@ -328,19 +328,19 @@
dependencies:
"@shikijs/types" "3.23.0"
"@shikijs/langs@4.0.2":
version "4.0.2"
resolved "https://registry.yarnpkg.com/@shikijs/langs/-/langs-4.0.2.tgz#1ac31a223d74729cf230441f9bb7d7975384101f"
integrity sha512-KaXby5dvoeuZzN0rYQiPMjFoUrz4hgwIE+D6Du9owcHcl6/g16/yT5BQxSW5cGt2MZBz6Hl0YuRqf12omRfUUg==
"@shikijs/langs@4.1.0":
version "4.1.0"
resolved "https://registry.yarnpkg.com/@shikijs/langs/-/langs-4.1.0.tgz#3f1dc97d8d7b0caf17e854e3864b6ccf1c1c112d"
integrity sha512-nwOMruEkbgdZfQ/b8CgpNBVOpvG1k0N5tbmgiFeqsan401+x3ILqlzZJowSla4Agmq4hG2Uf2wh5jLTEhR8VSg==
dependencies:
"@shikijs/types" "4.0.2"
"@shikijs/types" "4.1.0"
"@shikijs/primitive@4.0.2":
version "4.0.2"
resolved "https://registry.yarnpkg.com/@shikijs/primitive/-/primitive-4.0.2.tgz#4efa1efab1b828c20563c2097d2effa5ac79bf04"
integrity sha512-M6UMPrSa3fN5ayeJwFVl9qWofl273wtK1VG8ySDZ1mQBfhCpdd8nEx7nPZ/tk7k+TYcpqBZzj/AnwxT9lO+HJw==
"@shikijs/primitive@4.1.0":
version "4.1.0"
resolved "https://registry.yarnpkg.com/@shikijs/primitive/-/primitive-4.1.0.tgz#16418a0bfdae374d3675a3aa96e3bfec8a2d8b1f"
integrity sha512-zx2/2Uwj2q9X3KSyYREEhXO23xBw5WUhP4orK2lE4r+t9JGITmEe0JH+wPmJhqHpOT2bRRs6lAL945+LDvOAGw==
dependencies:
"@shikijs/types" "4.0.2"
"@shikijs/types" "4.1.0"
"@shikijs/vscode-textmate" "^10.0.2"
"@types/hast" "^3.0.4"
@@ -351,12 +351,12 @@
dependencies:
"@shikijs/types" "3.23.0"
"@shikijs/themes@4.0.2":
version "4.0.2"
resolved "https://registry.yarnpkg.com/@shikijs/themes/-/themes-4.0.2.tgz#24c5c059e89a8e7630fb40a240bc6b5a336bb080"
integrity sha512-mjCafwt8lJJaVSsQvNVrJumbnnj1RI8jbUKrPKgE6E3OvQKxnuRoBaYC51H4IGHePsGN/QtALglWBU7DoKDFnA==
"@shikijs/themes@4.1.0":
version "4.1.0"
resolved "https://registry.yarnpkg.com/@shikijs/themes/-/themes-4.1.0.tgz#8ad5be7eff1794ed72dc07766cb5fc6d164c9c18"
integrity sha512-emCcTnUM7yO2wltYbaxm+yLvcCI4+h8XBKc4KmJ7EZUXoSGjcCHifkI//R4OFit9ewpg7H2/9tjOuXrT2v/Knw==
dependencies:
"@shikijs/types" "4.0.2"
"@shikijs/types" "4.1.0"
"@shikijs/types@3.23.0":
version "3.23.0"
@@ -366,10 +366,10 @@
"@shikijs/vscode-textmate" "^10.0.2"
"@types/hast" "^3.0.4"
"@shikijs/types@4.0.2":
version "4.0.2"
resolved "https://registry.yarnpkg.com/@shikijs/types/-/types-4.0.2.tgz#75180a19acf124b37f48b53a9e6373de2e2e4f28"
integrity sha512-qzbeRooUTPnLE+sHD/Z8DStmaDgnbbc/pMrU203950aRqjX/6AFHeDYT+j00y2lPdz0ywJKx7o/7qnqTivtlXg==
"@shikijs/types@4.1.0":
version "4.1.0"
resolved "https://registry.yarnpkg.com/@shikijs/types/-/types-4.1.0.tgz#3dfbede55280906b5f1db34838da69ba72ee5c03"
integrity sha512-3EQWX54fMpniOrDblzAhiwiJwpiTMW6+B9DWyUd9ska483tbayFYuw47UxwuPknI31bKnySfVQ/QW+jFL4rFdA==
dependencies:
"@shikijs/vscode-textmate" "^10.0.2"
"@types/hast" "^3.0.4"
@@ -572,9 +572,9 @@ base64-js@^1.3.1:
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
baseline-browser-mapping@^2.10.12:
version "2.10.31"
resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.31.tgz#9c6825f052601ce6974a90dd49683b1726887b0b"
integrity sha512-MujYO3eP72uvmSE0i4wltsodRfIpZATP3jvzRNRGGxgzId7aVocVJJV3nf01qnzzKFGxQVC9bpWxl5cjxTr/7Q==
version "2.10.32"
resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.32.tgz#b6b553a4285fdd606327a617de36a5351e3aaa64"
integrity sha512-wbPvpyjJPC0zdfdKXxqEL3Ea+bOMD/87X4lftiJkkaBiuG6ALQy1SLmEd7BSmVCuwCQsBrCamgBoLyfFDD1EPg==
browserslist@^4.28.2:
version "4.28.2"
@@ -674,9 +674,9 @@ concurrently@^9.2.1:
yargs "17.7.2"
date-fns@^4.1.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-4.2.1.tgz#94092832dc4711781540e29102b35da84f8c378c"
integrity sha512-37RhSdxaG1suen6VDCza6rNrQfooyQh57HFVPwQGEq2QWliVLzPQZ8Oa017weOu+HZCnzI7N3Pf/wyoBKfEqrA==
version "4.3.0"
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-4.3.0.tgz#95663b78f2be5ce664eb6606d94582acc39c77ba"
integrity sha512-OYcL+3N/jyWbYdFGqoMAhytDgxP9pbYPUUiRCOgn4Fewaadk9l/Wam4Avciiyp2BgkpfQyBV9B+ehnVJych+eQ==
debug@^4.3.7:
version "4.4.3"
@@ -708,9 +708,9 @@ dotenv@^16.0.3:
integrity sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==
electron-to-chromium@^1.5.328:
version "1.5.357"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.357.tgz#fb4ecbf08fe0082b7278d12d1f5da386436575b9"
integrity sha512-NHlTIQDK8fmVwHwuIzmXYEJ1Ewq3D9wDNc0cWXxDGysP6Pb21giwGNkxiTifyKy/4SoPuN5l6GLP1W9Sv7zB2g==
version "1.5.361"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.361.tgz#b993bc7b34ea83f348aa1787a608ecf12e39b909"
integrity sha512-Q6Hts7N9FnJc5LeGRINFvLhCI9xZmNtTDe5ZbcVezQz7cU4a8Aua3GH1b8J2XY8Al9PF+OCwYqhgsOOheMdvkA==
emoji-regex@^8.0.0:
version "8.0.0"
@@ -718,9 +718,9 @@ emoji-regex@^8.0.0:
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
enhanced-resolve@^5.21.0:
version "5.21.4"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.21.4.tgz#dfc764a3fd9db04be03ba9c99c950aa650b365c8"
integrity sha512-wE4fDO8OjJhrPFH69HUQStq5oKvGRTNXEyW+k5C/pUQLASSsTu7obd2V3GvCDgPcY9AWjhJ4jz9Kh7iRvrxhJg==
version "5.22.0"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.22.0.tgz#43c5caad657c6fce58fc6142e5ca6fa8528ed460"
integrity sha512-xYcDWrpELkFzz9SpZ3PlI6Eu6eD93Yf0WLDRxikGhWJ3MAir2SNZTIVCVZqZ/NUyx8AdMc2gT9C0gPiw18kG+A==
dependencies:
graceful-fs "^4.2.4"
tapable "^2.3.3"
@@ -973,20 +973,20 @@ ms@^2.1.3:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
nanoid@^3.3.11:
nanoid@^3.3.12:
version "3.3.12"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.12.tgz#ab3d912e217a6d0a514f00a72a16543a28982c05"
integrity sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==
node-releases@^2.0.36:
version "2.0.44"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.44.tgz#212c9b983f5bb70d311dd68c27d55dd0e65d1ca7"
integrity sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==
version "2.0.46"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.46.tgz#d188a129a83f5e03a101aacb58f260f2ee8faaa1"
integrity sha512-GYVXHE2KnrzAfsAjl4uP++evGFCrAU1jta4ubEjIG7YWt/64Gqv66a30yKwWczVjA6j3bM4nBwH7Pk1JmDHaxQ==
nostr-tools@^2.23.0:
version "2.23.3"
resolved "https://registry.yarnpkg.com/nostr-tools/-/nostr-tools-2.23.3.tgz#1a7501988b72499cf27c8f3951f00d11d9ac6025"
integrity sha512-AALyt9k8xPdF4UV2mlLJ2mgCn4kpTB0DZ8t2r6wjdUh6anfx2cTVBsHUlo9U0EY/cKC5wcNyiMAmRJV5OVEalA==
version "2.23.5"
resolved "https://registry.yarnpkg.com/nostr-tools/-/nostr-tools-2.23.5.tgz#46fa68a35cf6e918c4f59208a2ed7585c72a68a0"
integrity sha512-Fa7ZlUdjfUW1P4E7H3yBexhOHYi18XNyvd2n7eNHkYR085xADX6Y8V8Vm7nT/XQajaFOBrptXmVIGkJ2E4vfVw==
dependencies:
"@noble/ciphers" "2.1.1"
"@noble/curves" "2.0.1"
@@ -1006,7 +1006,7 @@ oniguruma-parser@^0.12.2:
resolved "https://registry.yarnpkg.com/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz#e27ca446f7fcf0969662a3ab9b4f43176d62b139"
integrity sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==
oniguruma-to-es@^4.3.4:
oniguruma-to-es@^4.3.4, oniguruma-to-es@^4.3.6:
version "4.3.6"
resolved "https://registry.yarnpkg.com/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz#43e640280241b0d687a314e7a641d476407a1c4d"
integrity sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==
@@ -1045,12 +1045,12 @@ postcss-value-parser@^4.2.0:
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
postcss@^8.4.41, postcss@^8.5.14:
version "8.5.14"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.14.tgz#a66c2d7808fadf69ebb5b84a03f8bafd76c4919c"
integrity sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==
postcss@^8.4.41, postcss@^8.5.15:
version "8.5.15"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.15.tgz#d1eaf677a324e9ec02196da2d3fecf4a0b9a735c"
integrity sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==
dependencies:
nanoid "^3.3.11"
nanoid "^3.3.12"
picocolors "^1.1.1"
source-map-js "^1.2.1"
@@ -1090,29 +1090,29 @@ require-directory@^2.1.1:
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
rolldown@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.1.tgz#2e2e839106dc47951e42dbba414f0f0ecf97ac68"
integrity sha512-X0KQHljNnEkWNqqiz9zJrGunh1B0HgOxLXvnFpCOcadzcy5qohZ3tqMEUg00vncoRovXuK3ZqCT9KnnKzoInFQ==
rolldown@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.2.tgz#ea2c786c5f063d08fd22b49e51997f15ec532bbd"
integrity sha512-oZx5zVDtVB44AW3eaifgDml1gWRDZGvjcfdxonE4swNPG98PrrXjaO/KrnUjzlMnztCCRVlUueA1kCXhARGk6g==
dependencies:
"@oxc-project/types" "=0.130.0"
"@oxc-project/types" "=0.132.0"
"@rolldown/pluginutils" "^1.0.0"
optionalDependencies:
"@rolldown/binding-android-arm64" "1.0.1"
"@rolldown/binding-darwin-arm64" "1.0.1"
"@rolldown/binding-darwin-x64" "1.0.1"
"@rolldown/binding-freebsd-x64" "1.0.1"
"@rolldown/binding-linux-arm-gnueabihf" "1.0.1"
"@rolldown/binding-linux-arm64-gnu" "1.0.1"
"@rolldown/binding-linux-arm64-musl" "1.0.1"
"@rolldown/binding-linux-ppc64-gnu" "1.0.1"
"@rolldown/binding-linux-s390x-gnu" "1.0.1"
"@rolldown/binding-linux-x64-gnu" "1.0.1"
"@rolldown/binding-linux-x64-musl" "1.0.1"
"@rolldown/binding-openharmony-arm64" "1.0.1"
"@rolldown/binding-wasm32-wasi" "1.0.1"
"@rolldown/binding-win32-arm64-msvc" "1.0.1"
"@rolldown/binding-win32-x64-msvc" "1.0.1"
"@rolldown/binding-android-arm64" "1.0.2"
"@rolldown/binding-darwin-arm64" "1.0.2"
"@rolldown/binding-darwin-x64" "1.0.2"
"@rolldown/binding-freebsd-x64" "1.0.2"
"@rolldown/binding-linux-arm-gnueabihf" "1.0.2"
"@rolldown/binding-linux-arm64-gnu" "1.0.2"
"@rolldown/binding-linux-arm64-musl" "1.0.2"
"@rolldown/binding-linux-ppc64-gnu" "1.0.2"
"@rolldown/binding-linux-s390x-gnu" "1.0.2"
"@rolldown/binding-linux-x64-gnu" "1.0.2"
"@rolldown/binding-linux-x64-musl" "1.0.2"
"@rolldown/binding-openharmony-arm64" "1.0.2"
"@rolldown/binding-wasm32-wasi" "1.0.2"
"@rolldown/binding-win32-arm64-msvc" "1.0.2"
"@rolldown/binding-win32-x64-msvc" "1.0.2"
rxjs@7.8.2:
version "7.8.2"
@@ -1141,16 +1141,16 @@ shiki@^3.13.0:
"@types/hast" "^3.0.4"
shiki@^4.0.0:
version "4.0.2"
resolved "https://registry.yarnpkg.com/shiki/-/shiki-4.0.2.tgz#d81495df11e1cb8a05907310a6d051e054435586"
integrity sha512-eAVKTMedR5ckPo4xne/PjYQYrU3qx78gtJZ+sHlXEg5IHhhoQhMfZVzetTYuaJS0L2Ef3AcCRzCHV8T0WI6nIQ==
version "4.1.0"
resolved "https://registry.yarnpkg.com/shiki/-/shiki-4.1.0.tgz#4cc1cf75f350b41419708cb03bcf2c7b8ccb4550"
integrity sha512-l/ABZPUR5v70jI10EzqfMS/I96vjSGv2y0ihUV+WYFzv0EfvW4s54m0Lg8wCrrL+2IkwBzFTuxkZjPf8b2NX9Q==
dependencies:
"@shikijs/core" "4.0.2"
"@shikijs/engine-javascript" "4.0.2"
"@shikijs/engine-oniguruma" "4.0.2"
"@shikijs/langs" "4.0.2"
"@shikijs/themes" "4.0.2"
"@shikijs/types" "4.0.2"
"@shikijs/core" "4.1.0"
"@shikijs/engine-javascript" "4.1.0"
"@shikijs/engine-oniguruma" "4.1.0"
"@shikijs/langs" "4.1.0"
"@shikijs/themes" "4.1.0"
"@shikijs/types" "4.1.0"
"@shikijs/vscode-textmate" "^10.0.2"
"@types/hast" "^3.0.4"
@@ -1336,14 +1336,14 @@ vite-plugin-full-reload@^1.1.0:
picomatch "^2.3.1"
vite@^8.0.0:
version "8.0.13"
resolved "https://registry.yarnpkg.com/vite/-/vite-8.0.13.tgz#d75fb40aeee761051b0eb4620993da625c7719ab"
integrity sha512-MFtjBYgzmSxmgA4RAfjIyXWpGe1oALnjgUTzzV7QLx/TKxCzjtMH6Fd9/eVK+5Fg1qNoz5VAwsmMs/NofrmJvw==
version "8.0.14"
resolved "https://registry.yarnpkg.com/vite/-/vite-8.0.14.tgz#da5d8d1f63dbd106385cbe9c211acbc7a7a5b192"
integrity sha512-s4BJJ+5y1pYL6Otw51FHhVJQhPnuRinKig64g/1+EUNaJsd3gCKdD31IPFvswUgW9/60QT9oFHbZHbQK5imcxw==
dependencies:
lightningcss "^1.32.0"
picomatch "^4.0.4"
postcss "^8.5.14"
rolldown "1.0.1"
postcss "^8.5.15"
rolldown "1.0.2"
tinyglobby "^0.2.16"
optionalDependencies:
fsevents "~2.3.3"