diff --git a/app/Http/Controllers/DynamicInvitationController.php b/app/Http/Controllers/DynamicInvitationController.php
index 2253972..350fdbe 100644
--- a/app/Http/Controllers/DynamicInvitationController.php
+++ b/app/Http/Controllers/DynamicInvitationController.php
@@ -9,9 +9,23 @@ use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
+use Inertia\Inertia;
class DynamicInvitationController extends Controller
{
+ /**
+ * Show the form for creating a new invitation.
+ */
+ public function create(Request $request, Dynamic $dynamic)
+ {
+ // Authorize - only owners can view the invite page!
+ $this->authorize('update', $dynamic);
+
+ return Inertia::render('Dynamics/Invite', [
+ 'dynamic' => $dynamic,
+ ]);
+ }
+
/**
* Store a newly created invitation in storage.
*/
diff --git a/app/Http/Controllers/LedgerController.php b/app/Http/Controllers/LedgerController.php
index 795e6ba..3ec97a4 100644
--- a/app/Http/Controllers/LedgerController.php
+++ b/app/Http/Controllers/LedgerController.php
@@ -25,9 +25,13 @@ class LedgerController extends Controller
/**
* Show the form for creating a new resource.
*/
- public function create()
+ public function create(Request $request, Dynamic $dynamic)
{
- //
+ $this->authorize('update', $dynamic);
+
+ return Inertia::render('Ledgers/Create', [
+ 'dynamic' => $dynamic,
+ ]);
}
/**
diff --git a/resources/js/pages/Dynamics/Invite.vue b/resources/js/pages/Dynamics/Invite.vue
new file mode 100644
index 0000000..7bb2212
--- /dev/null
+++ b/resources/js/pages/Dynamics/Invite.vue
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+
+
+
+
+
+ Invite User to {{ dynamic.name }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/js/pages/Dynamics/Show.vue b/resources/js/pages/Dynamics/Show.vue
index efbbb7d..f8d8019 100644
--- a/resources/js/pages/Dynamics/Show.vue
+++ b/resources/js/pages/Dynamics/Show.vue
@@ -77,82 +77,13 @@ function submitInvite() {
-
-
-
-
-
@@ -193,4 +124,8 @@ function submitInvite() {
.c-dynamic-show__settings-btn {
@apply inline-flex items-center rounded-md border border-transparent bg-gray-800 px-4 py-2 text-xs font-semibold tracking-widest text-white uppercase transition duration-150 ease-in-out hover:bg-gray-700 focus:bg-gray-700 focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 focus:outline-none active:bg-gray-900 dark:bg-gray-200 dark:text-gray-800 dark:hover:bg-white dark:focus:bg-white dark:focus:ring-offset-gray-800 dark:active:bg-gray-300;
}
+
+.c-dynamic-show__action-btn {
+ @apply inline-flex items-center rounded-md border border-transparent bg-gray-800 px-4 py-2 text-xs font-semibold tracking-widest text-white uppercase transition duration-150 ease-in-out hover:bg-gray-700 focus:bg-gray-700 focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 focus:outline-none active:bg-gray-900 dark:bg-gray-200 dark:text-gray-800 dark:hover:bg-white dark:focus:bg-white dark:focus:ring-offset-gray-800 dark:active:bg-gray-300;
+}
diff --git a/resources/js/pages/Ledgers/Create.vue b/resources/js/pages/Ledgers/Create.vue
new file mode 100644
index 0000000..1ae03de
--- /dev/null
+++ b/resources/js/pages/Ledgers/Create.vue
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
diff --git a/routes/web.php b/routes/web.php
index a0d23a6..247c397 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -12,10 +12,16 @@ Route::inertia('/', 'Welcome')->name('home');
Route::middleware(['auth', 'verified'])->group(function () {
Route::get('dashboard', [DashboardController::class, 'index'])->name('dashboard');
- Route::resource('dynamics', DynamicController::class);
- Route::resource('dynamics.ledgers', LedgerController::class)->scoped();
+ Route::resource('dynamics', DynamicController::class)->except(['edit', 'update']);
+ Route::get('/dynamics/{dynamic}/settings', [DynamicController::class, 'edit'])->name('dynamics.edit');
+ Route::patch('/dynamics/{dynamic}/settings', [DynamicController::class, 'update'])->name('dynamics.update');
+
+ Route::resource('dynamics.ledgers', LedgerController::class)->scoped()->except(['create']);
+ Route::get('/dynamics/{dynamic}/ledgers/create', [LedgerController::class, 'create'])->name('dynamics.ledgers.create');
+
Route::resource('dynamics.ledgers.mutations', MutationController::class)->scoped();
+ Route::get('/dynamics/{dynamic}/invitations/create', [\App\Http\Controllers\DynamicInvitationController::class, 'create'])->name('dynamics.invitations.create');
Route::post('/dynamics/{dynamic}/invitations', [\App\Http\Controllers\DynamicInvitationController::class, 'store'])->name('dynamics.invitations.store');
Route::post('/chats/{chat}/messages', [MessageController::class, 'store'])->name('chats.messages.store');