- 🛠️ Replaced inline dashboard layout with Livewire component for better reusability and management.

- 🔒 Introduced Nostr-based login functionality with `nostr-tools` integration.
- 🖼️ Added user profile photo handling (upload, delete, and URL retrieval) in the `User` model.
- 💻 Updated views to use `flux:avatar` for consistent user avatars.
- ✂️ Removed unused routes and adjusted dashboard routing logic.
- 📦 Updated dependencies in `package.json` and `yarn.lock`.
This commit is contained in:
HolgerHatGarKeineNode
2025-11-21 12:05:31 +01:00
parent 01d35d8664
commit ddfa915acc
13 changed files with 393 additions and 67 deletions

View File

@@ -155,5 +155,7 @@
});
</script>
<script src="https://cdn.jsdelivr.net/npm/window.nostr.js/dist/window.nostr.min.js"></script>
</body>
</html>

View File

@@ -58,6 +58,7 @@
<flux:dropdown class="hidden lg:block" position="bottom" align="start">
<flux:profile
:name="auth()->user()->name"
:avatar="auth()->user()->profile_photo_url"
:initials="auth()->user()->initials()"
icon:trailing="chevrons-up-down"
/>
@@ -66,13 +67,7 @@
<flux:menu.radio.group>
<div class="p-0 text-sm font-normal">
<div class="flex items-center gap-2 px-1 py-1.5 text-start text-sm">
<span class="relative flex h-8 w-8 shrink-0 overflow-hidden rounded-lg">
<span
class="flex h-full w-full items-center justify-center rounded-lg bg-neutral-200 text-black dark:bg-neutral-700 dark:text-white"
>
{{ auth()->user()->initials() }}
</span>
</span>
<flux:avatar :src="auth()->user()->profile_photo_url" size="sm" class="shrink-0" />
<div class="grid flex-1 text-start text-sm leading-tight">
<span class="truncate font-semibold">{{ auth()->user()->name }}</span>
@@ -124,6 +119,7 @@
<flux:dropdown position="top" align="end">
<flux:profile
:avatar="auth()->user()->profile_photo_url"
:initials="auth()->user()->initials()"
icon-trailing="chevron-down"
/>
@@ -132,13 +128,7 @@
<flux:menu.radio.group>
<div class="p-0 text-sm font-normal">
<div class="flex items-center gap-2 px-1 py-1.5 text-start text-sm">
<span class="relative flex h-8 w-8 shrink-0 overflow-hidden rounded-lg">
<span
class="flex h-full w-full items-center justify-center rounded-lg bg-neutral-200 text-black dark:bg-neutral-700 dark:text-white"
>
{{ auth()->user()->initials() }}
</span>
</span>
<flux:avatar :src="auth()->user()->profile_photo_url" size="sm" class="shrink-0" />
<div class="grid flex-1 text-start text-sm leading-tight">
<span class="truncate font-semibold">{{ auth()->user()->name }}</span>
@@ -202,5 +192,7 @@
});
</script>
<script src="https://cdn.jsdelivr.net/npm/window.nostr.js/dist/window.nostr.min.js"></script>
</body>
</html>