Files
newznab-tmux/resources/views/admin/role-edit.blade.php
T
2025-10-05 03:40:50 +02:00

258 lines
15 KiB
PHP

@extends('layouts.admin')
@section('content')
<div class="container mx-auto px-4 py-6">
<div class="bg-white rounded-lg shadow-sm">
<!-- Header -->
<div class="px-6 py-4 border-b border-gray-200">
<h1 class="text-2xl font-semibold text-gray-800">
<i class="fa fa-user-shield mr-2"></i>{{ $title }}
</h1>
</div>
<!-- Role Edit Form -->
@if($role)
<form method="post" action="{{ url('admin/role-edit') }}" class="p-6">
@csrf
<input type="hidden" name="action" value="submit">
<input type="hidden" name="id" value="{{ $role->id }}">
<div class="space-y-6">
<!-- Role Name -->
<div>
<label for="name" class="block text-sm font-medium text-gray-700 mb-1">
Role Name <span class="text-red-500">*</span>
</label>
<input type="text"
id="name"
name="name"
value="{{ $role->name }}"
required
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<!-- API Requests -->
<div>
<label for="apirequests" class="block text-sm font-medium text-gray-700 mb-1">
API Requests per Day
</label>
<input type="number"
id="apirequests"
name="apirequests"
value="{{ $role->apirequests ?? 0 }}"
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
</div>
<!-- Download Requests -->
<div>
<label for="downloadrequests" class="block text-sm font-medium text-gray-700 mb-1">
Download Requests per Day
</label>
<input type="number"
id="downloadrequests"
name="downloadrequests"
value="{{ $role->downloadrequests ?? 0 }}"
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
</div>
<!-- Default Invites -->
<div>
<label for="defaultinvites" class="block text-sm font-medium text-gray-700 mb-1">
Default Invites
</label>
<input type="number"
id="defaultinvites"
name="defaultinvites"
value="{{ $role->defaultinvites ?? 0 }}"
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
</div>
<!-- Rate Limit -->
<div>
<label for="rate_limit" class="block text-sm font-medium text-gray-700 mb-1">
Rate Limit (requests per minute)
</label>
<input type="number"
id="rate_limit"
name="rate_limit"
value="{{ $role->rate_limit ?? 60 }}"
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
</div>
<!-- Donation -->
<div>
<label for="donation" class="block text-sm font-medium text-gray-700 mb-1">
Donation Amount
</label>
<input type="number"
id="donation"
name="donation"
value="{{ $role->donation ?? 0 }}"
step="0.01"
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
</div>
<!-- Add Years -->
<div>
<label for="addyears" class="block text-sm font-medium text-gray-700 mb-1">
Add Years (role duration)
</label>
<input type="number"
id="addyears"
name="addyears"
value="{{ $role->addyears ?? 0 }}"
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
</div>
<!-- Is Default -->
<div>
<label for="isdefault" class="block text-sm font-medium text-gray-700 mb-1">
Default Role
</label>
<select id="isdefault"
name="isdefault"
class="w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
@foreach($yesno_ids as $index => $value)
<option value="{{ $value }}" {{ ($role->isdefault ?? 0) == $value ? 'selected' : '' }}>
{{ $yesno_names[$index] }}
</option>
@endforeach
</select>
</div>
</div>
<!-- Permissions -->
<div>
<label class="block text-sm font-medium text-gray-700 mb-3">
Permissions
</label>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
<div class="flex items-center">
<input type="checkbox"
id="canpreview"
name="canpreview"
value="1"
{{ $role->hasPermissionTo('preview') ? 'checked' : '' }}
class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<label for="canpreview" class="ml-2 text-sm text-gray-700">Can Preview</label>
</div>
<div class="flex items-center">
<input type="checkbox"
id="hideads"
name="hideads"
value="1"
{{ $role->hasPermissionTo('hideads') ? 'checked' : '' }}
class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<label for="hideads" class="ml-2 text-sm text-gray-700">Hide Ads</label>
</div>
<div class="flex items-center">
<input type="checkbox"
id="editrelease"
name="editrelease"
value="1"
{{ $role->hasPermissionTo('edit release') ? 'checked' : '' }}
class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<label for="editrelease" class="ml-2 text-sm text-gray-700">Edit Release</label>
</div>
<div class="flex items-center">
<input type="checkbox"
id="viewconsole"
name="viewconsole"
value="1"
{{ $role->hasPermissionTo('view console') ? 'checked' : '' }}
class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<label for="viewconsole" class="ml-2 text-sm text-gray-700">View Console</label>
</div>
<div class="flex items-center">
<input type="checkbox"
id="viewmovies"
name="viewmovies"
value="1"
{{ $role->hasPermissionTo('view movies') ? 'checked' : '' }}
class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<label for="viewmovies" class="ml-2 text-sm text-gray-700">View Movies</label>
</div>
<div class="flex items-center">
<input type="checkbox"
id="viewaudio"
name="viewaudio"
value="1"
{{ $role->hasPermissionTo('view audio') ? 'checked' : '' }}
class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<label for="viewaudio" class="ml-2 text-sm text-gray-700">View Audio</label>
</div>
<div class="flex items-center">
<input type="checkbox"
id="viewpc"
name="viewpc"
value="1"
{{ $role->hasPermissionTo('view pc') ? 'checked' : '' }}
class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<label for="viewpc" class="ml-2 text-sm text-gray-700">View PC</label>
</div>
<div class="flex items-center">
<input type="checkbox"
id="viewtv"
name="viewtv"
value="1"
{{ $role->hasPermissionTo('view tv') ? 'checked' : '' }}
class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<label for="viewtv" class="ml-2 text-sm text-gray-700">View TV</label>
</div>
<div class="flex items-center">
<input type="checkbox"
id="viewadult"
name="viewadult"
value="1"
{{ $role->hasPermissionTo('view adult') ? 'checked' : '' }}
class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<label for="viewadult" class="ml-2 text-sm text-gray-700">View Adult</label>
</div>
<div class="flex items-center">
<input type="checkbox"
id="viewbooks"
name="viewbooks"
value="1"
{{ $role->hasPermissionTo('view books') ? 'checked' : '' }}
class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<label for="viewbooks" class="ml-2 text-sm text-gray-700">View Books</label>
</div>
<div class="flex items-center">
<input type="checkbox"
id="viewother"
name="viewother"
value="1"
{{ $role->hasPermissionTo('view other') ? 'checked' : '' }}
class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<label for="viewother" class="ml-2 text-sm text-gray-700">View Other</label>
</div>
</div>
</div>
<!-- Action Buttons -->
<div class="flex gap-3 pt-4 border-t border-gray-200">
<button type="submit" class="px-6 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700">
<i class="fa fa-save mr-2"></i>Update Role
</button>
<a href="{{ url('admin/role-list') }}" class="px-6 py-2 bg-gray-200 text-gray-700 rounded-lg hover:bg-gray-300">
<i class="fa fa-times mr-2"></i>Cancel
</a>
</div>
</div>
</form>
@else
<div class="px-6 py-12 text-center">
<i class="fa fa-exclamation-circle text-red-400 text-5xl mb-4"></i>
<h3 class="text-lg font-medium text-gray-900 mb-2">Role not found</h3>
<p class="text-gray-500 mb-4">The requested role could not be found.</p>
<a href="{{ url('admin/role-list') }}" class="inline-flex items-center px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700">
<i class="fa fa-arrow-left mr-2"></i> Back to Role List
</a>
</div>
@endif
</div>
</div>
@endsection