EJ-Dannug
3 months ago
24 changed files with 429 additions and 114 deletions
-
17app/Http/Controllers/Auth/RegisteredUserController.php
-
20app/Models/Role.php
-
12app/Models/User.php
-
30database/migrations/2024_06_09_183352_add_emp_id_and_username_to_users_table.php
-
28database/migrations/2024_06_09_184105_create_roles_table.php
-
31database/migrations/2024_06_09_184744_add_role_id_to_users_table.php
-
47package-lock.json
-
4package.json
-
BINpublic/assets/images/icons/ico-dropdown.png
-
BINpublic/assets/images/icons/ico-help.png
-
BINpublic/assets/images/icons/ico-search.png
-
BINpublic/assets/images/img-signup.png
-
2resources/js/Components/Dropdown.tsx
-
4resources/js/Components/Footer.tsx
-
9resources/js/Components/FormGroup.tsx
-
2resources/js/Components/InputError.tsx
-
13resources/js/Components/InputLabel.tsx
-
16resources/js/Components/Modal.tsx
-
2resources/js/Components/PrimaryButton.tsx
-
2resources/js/Components/TextInput.tsx
-
11resources/js/Layouts/AuthenticatedLayout.tsx
-
4resources/js/Pages/About.tsx
-
286resources/js/Pages/Auth/Register.tsx
-
3resources/js/Pages/Welcome.tsx
@ -0,0 +1,20 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace App\Models; |
||||
|
|
||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory; |
||||
|
use Illuminate\Database\Eloquent\Model; |
||||
|
|
||||
|
class Role extends Model |
||||
|
{ |
||||
|
use HasFactory; |
||||
|
|
||||
|
/** |
||||
|
* The attributes that are mass assignable. |
||||
|
* |
||||
|
* @var array<int, string> |
||||
|
*/ |
||||
|
protected $fillable = [ |
||||
|
'name', |
||||
|
]; |
||||
|
} |
@ -0,0 +1,30 @@ |
|||||
|
<?php |
||||
|
|
||||
|
use Illuminate\Database\Migrations\Migration; |
||||
|
use Illuminate\Database\Schema\Blueprint; |
||||
|
use Illuminate\Support\Facades\Schema; |
||||
|
|
||||
|
return new class extends Migration |
||||
|
{ |
||||
|
/** |
||||
|
* Run the migrations. |
||||
|
*/ |
||||
|
public function up(): void |
||||
|
{ |
||||
|
Schema::table('users', function (Blueprint $table) { |
||||
|
$table->integer('emp_id')->default(-1)->after('id'); |
||||
|
$table->string('username')->after('email'); |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* Reverse the migrations. |
||||
|
*/ |
||||
|
public function down(): void |
||||
|
{ |
||||
|
Schema::table('users', function (Blueprint $table) { |
||||
|
$table->dropColumn('emp_id'); |
||||
|
$table->dropColumn('username'); |
||||
|
}); |
||||
|
} |
||||
|
}; |
@ -0,0 +1,28 @@ |
|||||
|
<?php |
||||
|
|
||||
|
use Illuminate\Database\Migrations\Migration; |
||||
|
use Illuminate\Database\Schema\Blueprint; |
||||
|
use Illuminate\Support\Facades\Schema; |
||||
|
|
||||
|
return new class extends Migration |
||||
|
{ |
||||
|
/** |
||||
|
* Run the migrations. |
||||
|
*/ |
||||
|
public function up(): void |
||||
|
{ |
||||
|
Schema::create('roles', function (Blueprint $table) { |
||||
|
$table->id(); |
||||
|
$table->string('name'); |
||||
|
$table->timestamps(); |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* Reverse the migrations. |
||||
|
*/ |
||||
|
public function down(): void |
||||
|
{ |
||||
|
Schema::dropIfExists('roles'); |
||||
|
} |
||||
|
}; |
@ -0,0 +1,31 @@ |
|||||
|
<?php |
||||
|
|
||||
|
use Illuminate\Database\Migrations\Migration; |
||||
|
use Illuminate\Database\Schema\Blueprint; |
||||
|
use Illuminate\Support\Facades\Schema; |
||||
|
|
||||
|
return new class extends Migration |
||||
|
{ |
||||
|
/** |
||||
|
* Run the migrations. |
||||
|
*/ |
||||
|
public function up(): void |
||||
|
{ |
||||
|
Schema::table('users', function (Blueprint $table) { |
||||
|
$table->unsignedBigInteger('role_id')->nullable()->after('id'); |
||||
|
|
||||
|
$table->foreign('role_id')->references('id')->on('roles')->onDelete('set null'); |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* Reverse the migrations. |
||||
|
*/ |
||||
|
public function down(): void |
||||
|
{ |
||||
|
Schema::table('users', function (Blueprint $table) { |
||||
|
$table->dropForeign(['role_id']); |
||||
|
$table->dropColumn('role_id'); |
||||
|
}); |
||||
|
} |
||||
|
}; |
Before Width: 16 | Height: 16 | Size: 180 B |
Before Width: 20 | Height: 20 | Size: 668 B |
Before Width: 30 | Height: 30 | Size: 495 B |
After Width: 512 | Height: 512 | Size: 126 KiB |
@ -0,0 +1,9 @@ |
|||||
|
import { PropsWithChildren } from 'react'; |
||||
|
|
||||
|
export default function FormGroup({ children }: PropsWithChildren) { |
||||
|
return( |
||||
|
<div className="form-group flex my-2"> |
||||
|
{ children } |
||||
|
</div> |
||||
|
); |
||||
|
} |
@ -1,9 +1,14 @@ |
|||||
import { LabelHTMLAttributes } from 'react'; |
|
||||
|
import { HTMLAttributes } from 'react'; |
||||
|
|
||||
export default function InputLabel({ value, className = '', children, ...props }: LabelHTMLAttributes<HTMLLabelElement> & { value?: string }) { |
|
||||
|
export default function InputLabel({ className = '', children, ...props }: HTMLAttributes<HTMLLabelElement> & { htmlFor?: string }) { |
||||
return ( |
return ( |
||||
<label {...props} className={`block font-medium text-sm text-gray-700 ` + className}> |
|
||||
{value ? value : children} |
|
||||
|
<label |
||||
|
{...props} |
||||
|
className={'bg-secondary-main h-[30px] w-[30px] flex items-center justify-center flex-shrink-0 join-item' + |
||||
|
className |
||||
|
} |
||||
|
> |
||||
|
{ children } |
||||
</label> |
</label> |
||||
); |
); |
||||
} |
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue