Compare commits

...

9 Commits

Author SHA1 Message Date
aslan b70d86ce20 fix tests and lints
Tests & Lint & Deploy to Railway / build (8.1) (push) Failing after 1m6s Details
Tests & Lint & Deploy to Railway / deploy (8.1) (push) Has been skipped Details
2024-01-19 11:10:49 +03:00
aslan 7579bd2a15 ane fix reformat files 2024-01-19 10:50:43 +03:00
aslan b279f6a470 rename layout for applicant 2024-01-19 10:50:06 +03:00
aslan 1857ca5359 add page for admins 2024-01-19 10:49:50 +03:00
aslan 231823159f fix reformat file 2024-01-19 10:49:24 +03:00
aslan a38c9f154f add layout 2024-01-19 10:48:49 +03:00
aslan 04cb20e7a1 add documents online resource 2024-01-19 10:48:00 +03:00
aslan 20f07f19b1 update composer, add bootstrap 2024-01-19 10:47:17 +03:00
aslan 604627af7f update composer, add bootstrap 2024-01-19 10:46:22 +03:00
28 changed files with 872 additions and 288 deletions

View File

@ -0,0 +1,65 @@
<?php
namespace App\Http\Controllers;
use App\Http\Requests\StoreDocumentsOnlineRequest;
use App\Http\Requests\UpdateDocumentsOnlineRequest;
use App\Models\DocumentsOnline;
use Illuminate\Contracts\View\Factory;
use Illuminate\Contracts\View\View;
use Illuminate\Foundation\Application;
use Illuminate\Support\Facades\Auth;
class DocumentsOnlineController extends Controller
{
public function index()
{
$documentsOnline = DocumentsOnline::all();
return view('documents-online.index', compact('documentsOnline'));
}
public function create(DocumentsOnline $documentOnline): View
{
if (Auth::guest()) {
abort(403);
}
$parent = $documentOnline;
return view('documents-online', compact('parent'));
}
public function store(StoreDocumentsOnlineRequest $request)
{
}
/**
* Display the specified resource.
*/
public function show(DocumentsOnline $doceumentsOnline)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit(DocumentsOnline $doceumentsOnline)
{
//
}
/**
* Update the specified resource in storage.
*/
public function update(UpdateDocumentsOnlineRequest $request, DocumentsOnline $doceumentsOnline)
{
//
}
/**
* Remove the specified resource from storage.
*/
public function destroy(DocumentsOnline $doceumentsOnline)
{
//
}
}

View File

@ -0,0 +1,28 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StoreDocumentsOnlineRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return false;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
//
];
}
}

View File

@ -0,0 +1,28 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UpdateDocumentsOnlineRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return false;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
//
];
}
}

View File

@ -0,0 +1,18 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class DocumentsOnline extends Model
{
use HasFactory;
protected $fillable = [
'id',
'name',
'description',
'url'
];
}

View File

@ -0,0 +1,66 @@
<?php
namespace App\Policies;
use App\Models\DocumentsOnline;
use App\Models\User;
use Illuminate\Auth\Access\Response;
class DocumentsOnlinePolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
//
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, DocumentsOnline $doceumentsOnline): bool
{
//
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
//
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, DocumentsOnline $doceumentsOnline): bool
{
//
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, DocumentsOnline $doceumentsOnline): bool
{
//
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, DocumentsOnline $doceumentsOnline): bool
{
//
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, DocumentsOnline $doceumentsOnline): bool
{
//
}
}

View File

@ -10,6 +10,7 @@
"laravel/framework": "^10.41.0",
"laravel/sanctum": "^3.3.3",
"laravel/tinker": "^2.9.0",
"laravel/ui": "^4.4",
"laravelcollective/html": "^6.4.1"
},
"require-dev": {
@ -19,7 +20,7 @@
"laravel/sail": "^1.27.1",
"mockery/mockery": "^1.6.7",
"nunomaduro/collision": "^7.10.0",
"phpunit/phpunit": "^10.5.7",
"phpunit/phpunit": "^10.5.8",
"spatie/laravel-ignition": "^2.4.1",
"barryvdh/laravel-ide-helper": "^2.13.0",
"squizlabs/php_codesniffer": "^3.8.1",

76
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "860622e9580849c9fb6c86a55aeed282",
"content-hash": "f0fa5ace150c36cf615e7d3031db8cf7",
"packages": [
{
"name": "brick/math",
@ -1499,6 +1499,68 @@
},
"time": "2024-01-04T16:10:04+00:00"
},
{
"name": "laravel/ui",
"version": "v4.4.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/ui.git",
"reference": "7335d7049b2cde345c029e9d2de839b80af62bc0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/ui/zipball/7335d7049b2cde345c029e9d2de839b80af62bc0",
"reference": "7335d7049b2cde345c029e9d2de839b80af62bc0",
"shasum": ""
},
"require": {
"illuminate/console": "^9.21|^10.0|^11.0",
"illuminate/filesystem": "^9.21|^10.0|^11.0",
"illuminate/support": "^9.21|^10.0|^11.0",
"illuminate/validation": "^9.21|^10.0|^11.0",
"php": "^8.0"
},
"require-dev": {
"orchestra/testbench": "^7.0|^8.0|^9.0",
"phpunit/phpunit": "^9.3|^10.4"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.x-dev"
},
"laravel": {
"providers": [
"Laravel\\Ui\\UiServiceProvider"
]
}
},
"autoload": {
"psr-4": {
"Laravel\\Ui\\": "src/",
"Illuminate\\Foundation\\Auth\\": "auth-backend/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Taylor Otwell",
"email": "taylor@laravel.com"
}
],
"description": "Laravel UI utilities and presets.",
"keywords": [
"laravel",
"ui"
],
"support": {
"source": "https://github.com/laravel/ui/tree/v4.4.0"
},
"time": "2024-01-12T15:56:45+00:00"
},
{
"name": "laravelcollective/html",
"version": "v6.4.1",
@ -7687,16 +7749,16 @@
},
{
"name": "phpunit/phpunit",
"version": "10.5.7",
"version": "10.5.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "e5c5b397a95cb0db013270a985726fcae93e61b8"
"reference": "08f4fa74d5fbfff1ef22abffee47aaedcaea227e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e5c5b397a95cb0db013270a985726fcae93e61b8",
"reference": "e5c5b397a95cb0db013270a985726fcae93e61b8",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/08f4fa74d5fbfff1ef22abffee47aaedcaea227e",
"reference": "08f4fa74d5fbfff1ef22abffee47aaedcaea227e",
"shasum": ""
},
"require": {
@ -7768,7 +7830,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.7"
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.8"
},
"funding": [
{
@ -7784,7 +7846,7 @@
"type": "tidelift"
}
],
"time": "2024-01-14T16:40:30+00:00"
"time": "2024-01-19T07:07:27+00:00"
},
{
"name": "psr/cache",

View File

@ -0,0 +1,23 @@
<?php
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
/**
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\DocumentsOnline>
*/
class DocumentsOnlineFactory extends Factory
{
/**
* Define the model's default state.
*
* @return array<string, mixed>
*/
public function definition(): array
{
return [
//
];
}
}

View File

@ -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::create('documents_online', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('url');
$table->string('parent');
$table->string('children');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('documents_online');
}
};

View File

@ -13,12 +13,15 @@ class DatabaseSeeder extends Seeder
*/
public function run(): void
{
\App\Models\User::factory(10)->create();
User::factory(10)->create();
\App\Models\User::factory()->create([
User::factory()->create([
'name' => 'admin',
'email' => 'test@example.com',
'password' => 123456
]);
// $this->call([
// DocumentsOnlineSeeder::class
// ]);
}
}

View File

@ -0,0 +1,41 @@
<?php
namespace Database\Seeders;
use Carbon\Carbon;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class DocumentsOnlineSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
DB::table('documents_online')->insert([
[
'name' => 'Подать документы онлайн',
'url' => '',
'parent' => '0',
'children' => '2/3',
'created_at' => Carbon::now(),
],
[
'name' => 'По образовательным программам высшего образования',
'url' => '',
'parent' => '1',
'children' => '',
'created_at' => Carbon::now(),
],
[
'name' => 'По образовательным программам среднего профессионального образования (колледж)',
'url' => '',
'parent' => '1',
'children' => '',
'created_at' => Carbon::now(),
]
]);
}
}

271
package-lock.json generated
View File

@ -5,15 +5,19 @@
"packages": {
"": {
"dependencies": {
"@rails/ujs": "^7.1.2"
"@rails/ujs": "^7.1.2",
"bootstrap-icons": "^1.11.3"
},
"devDependencies": {
"@popperjs/core": "^2.11.6",
"@tailwindcss/forms": "^0.5.2",
"alpinejs": "^3.4.2",
"autoprefixer": "^10.4.2",
"axios": "^1.6.4",
"bootstrap": "^5.2.3",
"laravel-vite-plugin": "^1.0.0",
"postcss": "^8.4.31",
"sass": "^1.56.1",
"tailwindcss": "^3.1.0",
"vite": "^5.0.0"
}
@ -454,9 +458,9 @@
"dev": true
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.20",
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
"integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
"version": "0.3.21",
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.21.tgz",
"integrity": "sha512-SRfKmRe1KvYnxjEMtxEr+J4HIeMX5YBg/qhRHpxEIGjhX1rshcHlnFUE9K0GazhVKWM7B+nARSkV8LuvJdJ5/g==",
"dev": true,
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
@ -508,15 +512,25 @@
"node": ">=14"
}
},
"node_modules/@popperjs/core": {
"version": "2.11.8",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
"integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
"dev": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
}
},
"node_modules/@rails/ujs": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/@rails/ujs/-/ujs-7.1.2.tgz",
"integrity": "sha512-c5x02djEKEVVE4qfN4XgElJS4biM0xxtIVpcJ0ZHLK116U19rowTtmD0AJ/RCb3Xaewa4GPIWLlwgeC0dCQqzw=="
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/@rails/ujs/-/ujs-7.1.3.tgz",
"integrity": "sha512-FxtgKNvvIonoBE1TK7U10VMf6CYvzq8SIZ1XZ1Q8zcn/BEXzPzid3zC9qFiojuI5WXVwWhO8GFqApq0stD+OqQ=="
},
"node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.4.tgz",
"integrity": "sha512-ub/SN3yWqIv5CWiAZPHVS1DloyZsJbtXmX4HxUTIpS0BHm9pW5iYBo2mIZi+hE3AeiTzHz33blwSnhdUo+9NpA==",
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.5.tgz",
"integrity": "sha512-idWaG8xeSRCfRq9KpRysDHJ/rEHBEXcHuJ82XY0yYFIWnLMjZv9vF/7DOq8djQ2n3Lk6+3qfSH8AqlmHlmi1MA==",
"cpu": [
"arm"
],
@ -527,9 +541,9 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.4.tgz",
"integrity": "sha512-ehcBrOR5XTl0W0t2WxfTyHCR/3Cq2jfb+I4W+Ch8Y9b5G+vbAecVv0Fx/J1QKktOrgUYsIKxWAKgIpvw56IFNA==",
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.5.tgz",
"integrity": "sha512-f14d7uhAMtsCGjAYwZGv6TwuS3IFaM4ZnGMUn3aCBgkcHAYErhV1Ad97WzBvS2o0aaDv4mVz+syiN0ElMyfBPg==",
"cpu": [
"arm64"
],
@ -540,9 +554,9 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.4.tgz",
"integrity": "sha512-1fzh1lWExwSTWy8vJPnNbNM02WZDS8AW3McEOb7wW+nPChLKf3WG2aG7fhaUmfX5FKw9zhsF5+MBwArGyNM7NA==",
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.5.tgz",
"integrity": "sha512-ndoXeLx455FffL68OIUrVr89Xu1WLzAG4n65R8roDlCoYiQcGGg6MALvs2Ap9zs7AHg8mpHtMpwC8jBBjZrT/w==",
"cpu": [
"arm64"
],
@ -553,9 +567,9 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.4.tgz",
"integrity": "sha512-Gc6cukkF38RcYQ6uPdiXi70JB0f29CwcQ7+r4QpfNpQFVHXRd0DfWFidoGxjSx1DwOETM97JPz1RXL5ISSB0pA==",
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.5.tgz",
"integrity": "sha512-UmElV1OY2m/1KEEqTlIjieKfVwRg0Zwg4PLgNf0s3glAHXBN99KLpw5A5lrSYCa1Kp63czTpVll2MAqbZYIHoA==",
"cpu": [
"x64"
],
@ -566,9 +580,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.4.tgz",
"integrity": "sha512-g21RTeFzoTl8GxosHbnQZ0/JkuFIB13C3T7Y0HtKzOXmoHhewLbVTFBQZu+z5m9STH6FZ7L/oPgU4Nm5ErN2fw==",
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.5.tgz",
"integrity": "sha512-Q0LcU61v92tQB6ae+udZvOyZ0wfpGojtAKrrpAaIqmJ7+psq4cMIhT/9lfV6UQIpeItnq/2QDROhNLo00lOD1g==",
"cpu": [
"arm"
],
@ -579,9 +593,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.4.tgz",
"integrity": "sha512-TVYVWD/SYwWzGGnbfTkrNpdE4HON46orgMNHCivlXmlsSGQOx/OHHYiQcMIOx38/GWgwr/po2LBn7wypkWw/Mg==",
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.5.tgz",
"integrity": "sha512-dkRscpM+RrR2Ee3eOQmRWFjmV/payHEOrjyq1VZegRUa5OrZJ2MAxBNs05bZuY0YCtpqETDy1Ix4i/hRqX98cA==",
"cpu": [
"arm64"
],
@ -592,9 +606,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.4.tgz",
"integrity": "sha512-XcKvuendwizYYhFxpvQ3xVpzje2HHImzg33wL9zvxtj77HvPStbSGI9czrdbfrf8DGMcNNReH9pVZv8qejAQ5A==",
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.5.tgz",
"integrity": "sha512-QaKFVOzzST2xzY4MAmiDmURagWLFh+zZtttuEnuNn19AiZ0T3fhPyjPPGwLNdiDT82ZE91hnfJsUiDwF9DClIQ==",
"cpu": [
"arm64"
],
@ -605,9 +619,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.4.tgz",
"integrity": "sha512-LFHS/8Q+I9YA0yVETyjonMJ3UA+DczeBd/MqNEzsGSTdNvSJa1OJZcSH8GiXLvcizgp9AlHs2walqRcqzjOi3A==",
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.5.tgz",
"integrity": "sha512-HeGqmRJuyVg6/X6MpE2ur7GbymBPS8Np0S/vQFHDmocfORT+Zt76qu+69NUoxXzGqVP1pzaY6QIi0FJWLC3OPA==",
"cpu": [
"riscv64"
],
@ -618,9 +632,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.4.tgz",
"integrity": "sha512-dIYgo+j1+yfy81i0YVU5KnQrIJZE8ERomx17ReU4GREjGtDW4X+nvkBak2xAUpyqLs4eleDSj3RrV72fQos7zw==",
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.5.tgz",
"integrity": "sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA==",
"cpu": [
"x64"
],
@ -631,9 +645,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.4.tgz",
"integrity": "sha512-RoaYxjdHQ5TPjaPrLsfKqR3pakMr3JGqZ+jZM0zP2IkDtsGa4CqYaWSfQmZVgFUCgLrTnzX+cnHS3nfl+kB6ZQ==",
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.5.tgz",
"integrity": "sha512-ezyFUOwldYpj7AbkwyW9AJ203peub81CaAIVvckdkyH8EvhEIoKzaMFJj0G4qYJ5sw3BpqhFrsCc30t54HV8vg==",
"cpu": [
"x64"
],
@ -644,9 +658,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.4.tgz",
"integrity": "sha512-T8Q3XHV+Jjf5e49B4EAaLKV74BbX7/qYBRQ8Wop/+TyyU0k+vSjiLVSHNWdVd1goMjZcbhDmYZUYW5RFqkBNHQ==",
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.5.tgz",
"integrity": "sha512-aHSsMnUw+0UETB0Hlv7B/ZHOGY5bQdwMKJSzGfDfvyhnpmVxLMGnQPGNE9wgqkLUs3+gbG1Qx02S2LLfJ5GaRQ==",
"cpu": [
"arm64"
],
@ -657,9 +671,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.4.tgz",
"integrity": "sha512-z+JQ7JirDUHAsMecVydnBPWLwJjbppU+7LZjffGf+Jvrxq+dVjIE7By163Sc9DKc3ADSU50qPVw0KonBS+a+HQ==",
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.5.tgz",
"integrity": "sha512-AiqiLkb9KSf7Lj/o1U3SEP9Zn+5NuVKgFdRIZkvd4N0+bYrTOovVd0+LmYCPQGbocT4kvFyK+LXCDiXPBF3fyA==",
"cpu": [
"ia32"
],
@ -670,9 +684,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.4.tgz",
"integrity": "sha512-LfdGXCV9rdEify1oxlN9eamvDSjv9md9ZVMAbNHA87xqIfFCxImxan9qZ8+Un54iK2nnqPlbnSi4R54ONtbWBw==",
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.5.tgz",
"integrity": "sha512-1q+mykKE3Vot1kaFJIDoUFv5TuW+QQVaf2FmTT9krg86pQrGStOSJJ0Zil7CFagyxDuouTepzt5Y5TVzyajOdQ==",
"cpu": [
"x64"
],
@ -780,9 +794,9 @@
"dev": true
},
"node_modules/autoprefixer": {
"version": "10.4.16",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz",
"integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==",
"version": "10.4.17",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz",
"integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==",
"dev": true,
"funding": [
{
@ -799,9 +813,9 @@
}
],
"dependencies": {
"browserslist": "^4.21.10",
"caniuse-lite": "^1.0.30001538",
"fraction.js": "^4.3.6",
"browserslist": "^4.22.2",
"caniuse-lite": "^1.0.30001578",
"fraction.js": "^4.3.7",
"normalize-range": "^0.1.2",
"picocolors": "^1.0.0",
"postcss-value-parser": "^4.2.0"
@ -842,6 +856,40 @@
"node": ">=8"
}
},
"node_modules/bootstrap": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.2.tgz",
"integrity": "sha512-D32nmNWiQHo94BKHLmOrdjlL05q1c8oxbtBphQFb9Z5to6eGRDCm0QgeaZ4zFBHzfg2++rqa2JkqCcxDy0sH0g==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/twbs"
},
{
"type": "opencollective",
"url": "https://opencollective.com/bootstrap"
}
],
"peerDependencies": {
"@popperjs/core": "^2.11.8"
}
},
"node_modules/bootstrap-icons": {
"version": "1.11.3",
"resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.11.3.tgz",
"integrity": "sha512-+3lpHrCw/it2/7lBL15VR0HEumaBss0+f/Lb6ZvHISn1mlK83jjFpooTLsMWbIjJMDjDjOExMsTxnXSIT4k4ww==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/twbs"
},
{
"type": "opencollective",
"url": "https://opencollective.com/bootstrap"
}
]
},
"node_modules/brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
@ -905,9 +953,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001576",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001576.tgz",
"integrity": "sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==",
"version": "1.0.30001579",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz",
"integrity": "sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==",
"dev": true,
"funding": [
{
@ -951,18 +999,6 @@
"fsevents": "~2.3.2"
}
},
"node_modules/chokidar/node_modules/glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"dependencies": {
"is-glob": "^4.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@ -1056,9 +1092,9 @@
"dev": true
},
"node_modules/electron-to-chromium": {
"version": "1.4.626",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.626.tgz",
"integrity": "sha512-f7/be56VjRRQk+Ric6PmIrEtPcIqsn3tElyAu9Sh6egha2VLJ82qwkcOdcnT06W+Pb6RUulV1ckzrGbKzVcTHg==",
"version": "1.4.639",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.639.tgz",
"integrity": "sha512-CkKf3ZUVZchr+zDpAlNLEEy2NJJ9T64ULWaDgy3THXXlPVPkLu3VOs9Bac44nebVtdwl2geSj6AxTtGDOxoXhg==",
"dev": true
},
"node_modules/emoji-regex": {
@ -1130,18 +1166,6 @@
"node": ">=8.6.0"
}
},
"node_modules/fast-glob/node_modules/glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"dependencies": {
"is-glob": "^4.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/fastq": {
"version": "1.16.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz",
@ -1164,9 +1188,9 @@
}
},
"node_modules/follow-redirects": {
"version": "1.15.4",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz",
"integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==",
"version": "1.15.5",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz",
"integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==",
"dev": true,
"funding": [
{
@ -1272,15 +1296,15 @@
}
},
"node_modules/glob-parent": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"dependencies": {
"is-glob": "^4.0.3"
"is-glob": "^4.0.1"
},
"engines": {
"node": ">=10.13.0"
"node": ">= 6"
}
},
"node_modules/hasown": {
@ -1295,6 +1319,12 @@
"node": ">= 0.4"
}
},
"node_modules/immutable": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz",
"integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==",
"dev": true
},
"node_modules/is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
@ -1869,9 +1899,9 @@
}
},
"node_modules/rollup": {
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.4.tgz",
"integrity": "sha512-2ztU7pY/lrQyXSCnnoU4ICjT/tCG9cdH3/G25ERqE3Lst6vl2BCM5hL2Nw+sslAvAf+ccKsAq1SkKQALyqhR7g==",
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.5.tgz",
"integrity": "sha512-E4vQW0H/mbNMw2yLSqJyjtkHY9dslf/p0zuT1xehNRqUTBOFMqEjguDvqhXr7N7r/4ttb2jr4T41d3dncmIgbQ==",
"dev": true,
"dependencies": {
"@types/estree": "1.0.5"
@ -1884,19 +1914,19 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
"@rollup/rollup-android-arm-eabi": "4.9.4",
"@rollup/rollup-android-arm64": "4.9.4",
"@rollup/rollup-darwin-arm64": "4.9.4",
"@rollup/rollup-darwin-x64": "4.9.4",
"@rollup/rollup-linux-arm-gnueabihf": "4.9.4",
"@rollup/rollup-linux-arm64-gnu": "4.9.4",
"@rollup/rollup-linux-arm64-musl": "4.9.4",
"@rollup/rollup-linux-riscv64-gnu": "4.9.4",
"@rollup/rollup-linux-x64-gnu": "4.9.4",
"@rollup/rollup-linux-x64-musl": "4.9.4",
"@rollup/rollup-win32-arm64-msvc": "4.9.4",
"@rollup/rollup-win32-ia32-msvc": "4.9.4",
"@rollup/rollup-win32-x64-msvc": "4.9.4",
"@rollup/rollup-android-arm-eabi": "4.9.5",
"@rollup/rollup-android-arm64": "4.9.5",
"@rollup/rollup-darwin-arm64": "4.9.5",
"@rollup/rollup-darwin-x64": "4.9.5",
"@rollup/rollup-linux-arm-gnueabihf": "4.9.5",
"@rollup/rollup-linux-arm64-gnu": "4.9.5",
"@rollup/rollup-linux-arm64-musl": "4.9.5",
"@rollup/rollup-linux-riscv64-gnu": "4.9.5",
"@rollup/rollup-linux-x64-gnu": "4.9.5",
"@rollup/rollup-linux-x64-musl": "4.9.5",
"@rollup/rollup-win32-arm64-msvc": "4.9.5",
"@rollup/rollup-win32-ia32-msvc": "4.9.5",
"@rollup/rollup-win32-x64-msvc": "4.9.5",
"fsevents": "~2.3.2"
}
},
@ -1923,6 +1953,23 @@
"queue-microtask": "^1.2.2"
}
},
"node_modules/sass": {
"version": "1.70.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.70.0.tgz",
"integrity": "sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==",
"dev": true,
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",
"source-map-js": ">=0.6.2 <2.0.0"
},
"bin": {
"sass": "sass.js"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@ -2132,6 +2179,18 @@
"node": ">=14.0.0"
}
},
"node_modules/tailwindcss/node_modules/glob-parent": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
"dev": true,
"dependencies": {
"is-glob": "^4.0.3"
},
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/thenify": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",

View File

@ -6,16 +6,20 @@
"build": "vite build"
},
"devDependencies": {
"@popperjs/core": "^2.11.6",
"@tailwindcss/forms": "^0.5.2",
"alpinejs": "^3.4.2",
"autoprefixer": "^10.4.2",
"axios": "^1.6.4",
"bootstrap": "^5.2.3",
"laravel-vite-plugin": "^1.0.0",
"postcss": "^8.4.31",
"sass": "^1.56.1",
"tailwindcss": "^3.1.0",
"vite": "^5.0.0"
},
"dependencies": {
"@rails/ujs": "^7.1.2"
"@rails/ujs": "^7.1.2",
"bootstrap-icons": "^1.11.3"
}
}

View File

@ -1,3 +1,5 @@
import 'bootstrap';
/**
* We'll load the axios HTTP library which allows us to easily issue requests
* to our Laravel back-end. This library automatically handles sending the
@ -24,7 +26,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
// broadcaster: 'pusher',
// key: import.meta.env.VITE_PUSHER_APP_KEY,
// cluster: import.meta.env.VITE_PUSHER_APP_CLUSTER ?? 'mt1',
// wsHost: import.meta.env.VITE_PUSHER_HOST ? import.meta.env.VITE_PUSHER_HOST : `ws-${import.meta.env.VITE_PUSHER_APP_CLUSTER}.pusher.com`,
// wsHost: import.meta.env.VITE_PUSHER_HOST ?? `ws-${import.meta.env.VITE_PUSHER_APP_CLUSTER}.pusher.com`,
// wsPort: import.meta.env.VITE_PUSHER_PORT ?? 80,
// wssPort: import.meta.env.VITE_PUSHER_PORT ?? 443,
// forceTLS: (import.meta.env.VITE_PUSHER_SCHEME ?? 'https') === 'https',

View File

@ -0,0 +1,7 @@
// Body
$body-bg: #f8fafc;
// Typography
$font-family-sans-serif: 'Nunito', sans-serif;
$font-size-base: 0.9rem;
$line-height-base: 1.6;

9
resources/sass/app.scss Normal file
View File

@ -0,0 +1,9 @@
// Fonts
@import url('https://fonts.bunny.net/css?family=Nunito');
// Variables
@import 'variables';
// Bootstrap
@import 'bootstrap/scss/bootstrap';

View File

@ -0,0 +1,5 @@
@extends('layouts.admin-layout')
@section('content')
@endsection

View File

@ -0,0 +1,8 @@
@extends('layouts.admin-layout')
@section('content')
@foreach($documentsOnline as $documentOnline)
{{ $documentOnline->name }}
{{ $documentOnline->url }}
{{ $documentOnline->description }}
@endforeach
@endsection

View File

@ -1,4 +1,4 @@
@extends('layouts.layout')
@extends('layouts.applicant-layout')
@section('content')
<main>
@ -26,7 +26,7 @@
</a>
</div>
<div class="col-lg-3 col-md-4">
<a href="{{ route('abitur') }}">
<a href="#">
<div class="tp-feature__item before-color-2 mb-40">
<div class="tp-feature__icon">
<img style="max-width: 26%;" src="{{ URL::to('img/courses/abit.png') }}" alt="">
@ -36,54 +36,65 @@
</a>
</div>
<div class="col-lg-3 col-md-4">
<a href="course.html">
<div class="tp-feature__item before-color-3 mb-40">
<div class="tp-feature__icon">
<img style="max-width: 26%;" src="{{ URL::to('img/courses/ekrpriem.png') }}" alt="">
<a href="#">
<div class="tp-feature__item before-color-3 mb-40">
<div class="tp-feature__icon">
<img style="max-width: 26%;" src="{{ URL::to('img/courses/ekrpriem.png') }}" alt="">
</div>
<h3 class="tp-feature__title">Экран приема</h3>
</div>
<h3 class="tp-feature__title">Экран приема</a></h3>
</div>
</a>
</div>
<div class="col-lg-3 col-md-4">
<div class="tp-feature__item before-color-4 mb-40">
<div class="tp-feature__icon">
<img style="max-width: 26%;" src="{{ URL::to('img/courses/abroad.png') }}" alt="">
<a href="#">
<div class="tp-feature__item before-color-4 mb-40">
<div class="tp-feature__icon">
<img style="max-width: 26%;" src="{{ URL::to('img/courses/abroad.png') }}" alt="">
</div>
<h3 class="tp-feature__title">Иностранным абитуриентам</h3>
</div>
<h3 class="tp-feature__title"><a href="course.html">Иностранным абитуриентам</a></h3>
</div>
</a>
</div>
<div class="col-lg-3 col-md-4">
<div class="tp-feature__item before-color-5 mb-40">
<div class="tp-feature__icon">
<img style="max-width: 26%;" src="{{ URL::to('img/courses/openday.png') }}" alt="">
</div>
<h3 class="tp-feature__title"><a href="course.html"> Дни открытых дверей в МГТУ</a></h3>
<a href="#">
<div class="tp-feature__item before-color-5 mb-40">
<div class="tp-feature__icon">
<img style="max-width: 26%;" src="{{ URL::to('img/courses/openday.png') }}" alt="">
</div>
<h3 class="tp-feature__title">Дни открытых дверей в МГТУ</h3>
</div>
</div>
</a>
</div>
<div class="col-lg-3 col-md-4">
<div class="tp-feature__item before-color-6 mb-40">
<div class="tp-feature__icon">
<img style="max-width: 26%;" src="{{ URL::to('img/courses/oplata.png') }}" alt="">
<a href="#">
<div class="tp-feature__item before-color-6 mb-40">
<div class="tp-feature__icon">
<img style="max-width: 26%;" src="{{ URL::to('img/courses/oplata.png') }}" alt="">
</div>
<h3 class="tp-feature__title">Стоимость обучения</h3>
</div>
<h3 class="tp-feature__title"><a href="course.html">Стоимость обучения</a></h3>
</div>
</a>
</div>
<div class="col-lg-3 col-md-4">
<div class="tp-feature__item before-color-7 mb-40">
<div class="tp-feature__icon">
<img style="max-width: 26%;" src="{{ URL::to('img/courses/school.png') }}" alt="">
<a href="#">
<div class="tp-feature__item before-color-7 mb-40">
<div class="tp-feature__icon">
<img style="max-width: 26%;" src="{{ URL::to('img/courses/school.png') }}" alt="">
</div>
<h3 class="tp-feature__title">Олимпиады для школьников</h3>
</div>
<h3 class="tp-feature__title"><a href="course.html">Олимпиады для школьников</a></h3>
</div>
</a>
</div>
<div class="col-lg-3 col-md-4">
<div class="tp-feature__item before-color-8 mb-40">
<div class="tp-feature__icon">
<img style="max-width: 26%;" src="{{ URL::to('img/courses/courses.png') }}" alt="">
<a href="#">
<div class="tp-feature__item before-color-8 mb-40">
<div class="tp-feature__icon">
<img style="max-width: 26%;" src="{{ URL::to('img/courses/courses.png') }}" alt="">
</div>
<h3 class="tp-feature__title">Подготовительные курсы</h3>
</div>
<h3 class="tp-feature__title"><a href="course.html">Подготовительные курсы</a></h3>
</div>
</a>
</div>
</div>
</div>

View File

@ -0,0 +1,65 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta name="csrf-param" content="_token"/>
<title>{{ __('layout.title') }}</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://getbootstrap.su/docs/5.3/assets/css/docs.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body class="antialiased">
<div class="container">
<header
class="d-flex flex-wrap align-items-center justify-content-center justify-content-md-between py-3 mb-4 border-bottom">
<ul class="nav col-9 col-md-auto mb-2 justify-content-start mb-md-0">
<li><a href="#" class="nav-link px-2 link-secondary text-wrap" style="width: 4rem;">Главная</a></li>
</ul>
<div class="col-md-3 text-center">
<a href="#" class="nav-link px-2 link-secondary">Сайт abitur.mkgtu.ru</a>
</div>
<div class="col-md-3 text-end">
<div>
@guest()
<a href="{{ route("login") }}" class="btn btn-outline-primary me-2">
Войти
</a>
@endguest
@auth()
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
@csrf
</form>
<a href="{{ route("logout") }}" class="btn btn-primary"
onclick="event.preventDefault(); document.getElementById('logout-form').submit();">
Выйти
</a>
@endauth
</div>
</div>
</header>
<aside>
<ul class="list-group col-2">
<li class="list-group-item">
<a href="{{ route('documents-online.index') }}">Подать Документы онлайн</a>
</li>
<li class="list-group-item"><a href="">Абитуриенту</a></li>
<li class="list-group-item"><a href="">Экран Приема</a></li>
<li class="list-group-item"><a href="">Иностранным абитурентам</a></li>
<li class="list-group-item"><a href="">Дни открытых дверей</a></li>
<li class="list-group-item"><a href="">Стоимость обучения</a></li>
<li class="list-group-item"><a href="">Олимпиады для школьников</a></li>
<li class="list-group-item"><a href="">Подготовительные курсы</a></li>
</ul>
</aside>
@yield('content')
</body>
</html>

View File

@ -12,7 +12,7 @@
<link href="https://fonts.bunny.net/css?family=figtree:400,500,600&display=swap" rel="stylesheet" />
<!-- Scripts -->
@vite(['resources/css/app.css', 'resources/js/app.js'])
@vite(['resources/sass/app.scss', 'resources/js/app.js'])
</head>
<body class="font-sans antialiased">
<div class="min-h-screen bg-gray-100 dark:bg-gray-900">

View File

@ -12,7 +12,7 @@
<link href="https://fonts.bunny.net/css?family=figtree:400,500,600&display=swap" rel="stylesheet" />
<!-- Scripts -->
@vite(['resources/css/app.css', 'resources/js/app.js'])
@vite(['resources/sass/app.scss', 'resources/js/app.js'])
</head>
<body class="font-sans text-gray-900 antialiased" >
<div class="min-h-screen flex flex-col sm:justify-center items-center pt-6 sm:pt-0 bg-gray-100 dark:bg-gray-900" style="background-color:#006147">

View File

@ -1,18 +1,16 @@
@extends('layouts.layout')
@extends('layouts.applicant-layout')
@section('content')
<style>
.buttonHover{
.buttonHover {
transition: .3s all;
}
.buttonHover:hover{
background-color : #006147;
}
.buttonHover:hover {
background-color: #006147;
transform: scale(1.03);
color: #e0e0e0;
}
}
</style>
<div class="container mt-4">
@ -20,7 +18,10 @@
<div class="col-8">
<a href="web-consultations.php">
<h4>
<div class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">Онлайн-консультации для поступающих и родителей </div>
<div
class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">
Онлайн-консультации для поступающих и родителей
</div>
</h4>
</a>
</div>
@ -28,7 +29,10 @@
<div class="col-8">
<a href="ui-4.html#">
<h4>
<div class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">Калькулятор ЕГЭ </div>
<div
class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">
Калькулятор ЕГЭ
</div>
</h4>
</a>
</div>
@ -36,7 +40,10 @@
<div class="col-8">
<a href="postup.php">
<h4>
<div class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">Для поступающих на программы бакалавриата, специалитета, магистратуры </div>
<div
class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">
Для поступающих на программы бакалавриата, специалитета, магистратуры
</div>
</h4>
</a>
</div>
@ -44,7 +51,10 @@
<div class="col-8">
<a href="postup-col.php">
<h4>
<div class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">Для поступающих на программы среднего профессионального образования (колледж) </div>
<div
class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">
Для поступающих на программы среднего профессионального образования (колледж)
</div>
</h4>
</a>
</div>
@ -52,7 +62,10 @@
<div class="col-8">
<a href="ui-4.html#">
<h4>
<div class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">Для поступающих на обучение по договорам об оказании платных образовательных услуг </div>
<div
class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">
Для поступающих на обучение по договорам об оказании платных образовательных услуг
</div>
</h4>
</a>
</div>
@ -60,7 +73,10 @@
<div class="col-8">
<a href="ui-4.html#">
<h4>
<div class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">Для поступающих на программы ординатуры </div>
<div
class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">
Для поступающих на программы ординатуры
</div>
</h4>
</a>
</div>
@ -68,7 +84,10 @@
<div class="col-8">
<a href="ui-4.html#">
<h4>
<div class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">Для поступающих на программы аспирантуры </div>
<div
class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">
Для поступающих на программы аспирантуры
</div>
</h4>
</a>
</div>
@ -76,7 +95,10 @@
<div class="col-8">
<a href="ui-4.html#">
<h4>
<div class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">Часто задаваемые вопросы (бакалавриат, специалитет, магистратура) </div>
<div
class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">
Часто задаваемые вопросы (бакалавриат, специалитет, магистратура)
</div>
</h4>
</a>
</div>
@ -84,7 +106,10 @@
<div class="col-8">
<a href="ui-4.html#">
<h4>
<div class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">Видеоматериалы для поступающих </div>
<div
class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">
Видеоматериалы для поступающих
</div>
</h4>
</a>
</div>
@ -92,7 +117,10 @@
<div class="col-8">
<a href="ui-4.html#">
<h4>
<div class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">Экран приема 2023 </div>
<div
class="d-flex justify-content-start align-items-center w-100 h-100 border border-secondary m-1 p-4 buttonHover rounded-2">
Экран приема 2023
</div>
</h4>
</a>
</div>

View File

@ -1,90 +1,104 @@
@extends('layouts.layout')
@extends('layouts.applicant-layout')
@section('content')
<style>
.accordionHover{
<style>
.accordionHover {
transition: .3s all;
}
.accordionHover:hover{
background-color : #006147;
}
.accordionHover:hover {
background-color: #006147;
transform: scale(1.03);
color: #fff;
}
.accordion-button:not(.collapsed) {
}
.accordion-button:not(.collapsed) {
color: #006147;
background-color: #fff;
box-shadow: inset 0 -1px 0 rgba(0,0,0,.125);
}
.accordion-button:focus {
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .125);
}
.accordion-button:focus {
z-index: 3;
border-color: #479f76;
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(0,131,16,.69);
}
.accordion-button:not(.collapsed)::after{
box-shadow: 0 0 0 0.25rem rgba(0, 131, 16, .69);
}
.accordion-button:not(.collapsed)::after {
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg' fill='%230c63e4'%3e%3cg%3e%3ctitle%3eLayer 1%3c/title%3e%3cpath fill='%23396849' fill-rule='evenodd' d='m1.646,4.646a0.5,0.5 0 0 1 0.708,0l5.646,5.647l5.646,-5.647a0.5,0.5 0 0 1 0.708,0.708l-6,6a0.5,0.5 0 0 1 -0.708,0l-6,-6a0.5,0.5 0 0 1 0,-0.708z' id='svg_1'/%3e%3c/g%3e%3c/svg%3e");
}
</style>
<!-- transform: scale(1.2); -->
}
</style>
<!-- transform: scale(1.2); -->
<!--<div class="container py-5" id="featured-3">
<br><br><br><br><br>
<h1 class="text-dark col-12 d-flex justify-content-center">Подача документов онлайн с помощью информационных систем МГТУ: <br><br></h1>
<div class="d-flex justify-content-center">
<div class="col-4 px-2 m-3 element-1 " >
<a href="https://portal.mkgtu.ru/" target="_blank">
<span style="color: #005951;">
<h3 class="m-2 fs-2 text-body-emphasis"> По образовательным программам высшего образования </h3>
</span>
</a>
<!--<div class="container py-5" id="featured-3">
<br><br><br><br><br>
<h1 class="text-dark col-12 d-flex justify-content-center">Подача документов онлайн с помощью информационных систем МГТУ: <br><br></h1>
<div class="d-flex justify-content-center">
<div class="col-4 px-2 m-3 element-1 " >
<a href="https://portal.mkgtu.ru/" target="_blank">
<span style="color: #005951;">
<h3 class="m-2 fs-2 text-body-emphasis"> По образовательным программам высшего образования </h3>
</span>
</a>
</div>
<div class="col-4 px-2 m-3 element-1">
<a href="https://mkgtu.ru/auth/" target="_blank">
<span style="color: #005951;">
<h3 class="m-2 fs-2 text-body-emphasis">По образовательным программам среднего профессионального образования (колледж)</h3>
</span>
</a>
</div>
</div>
</div>
<div class="col-4 px-2 m-3 element-1">
-->
<a href="https://mkgtu.ru/auth/" target="_blank">
<span style="color: #005951;">
<h3 class="m-2 fs-2 text-body-emphasis">По образовательным программам среднего профессионального образования (колледж)</h3>
</span>
</a>
</div>
<div class="pt-4 container justify-content-md-center col-6 accordion accordion-flush" id="accordionFlushExample">
<div class="accordion-item">
<h2 class="accordion-header" id="flush-headingOne">
<button class="accordion-button collapsed accordionHover" type="button" data-bs-toggle="collapse"
data-bs-target="#flush-collapseOne" aria-expanded="false" aria-controls="flush-collapseOne">
По образовательным программам высшего образования
</button>
</h2>
<div id="flush-collapseOne" class="accordion-collapse collapse" aria-labelledby="flush-headingOne"
data-bs-parent="#accordionFlushExample">
<div class="accordion-body tp-feature__title">
<br>
<h2><a href="https://portal.mkgtu.ru/" target="_blank">По образовательным программам высшего
образования</a></h2>
<br>
<h3>
<a href="https://mkgtu.ru/abitur/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B5%20%D1%81%20%D0%BB%D0%B8%D1%87%D0%BD%D1%8B%D0%BC%20%D0%BA%D0%B0%D0%B1%D0%B8%D0%BD%D0%B5%D1%82%D0%BE%D0%BC%20%D0%B0%D0%B1%D0%B8%D1%82%D1%83%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%202023.pdf"
target="_blank">Инструкция по работе с личным кабинетом абитуриента</a></h3><br>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header" id="flush-headingTwo">
<button class="accordion-button collapsed accordionHover" type="button" data-bs-toggle="collapse"
data-bs-target="#flush-collapseTwo" aria-expanded="false" aria-controls="flush-collapseTwo">
По образовательным программам среднего профессионального образования (колледж)
</button>
</h2>
<div id="flush-collapseTwo" class="accordion-collapse collapse" aria-labelledby="flush-headingTwo"
data-bs-parent="#accordionFlushExample">
<div class="accordion-body tp-feature__title">
<br>
<h2><a href="https://mkgtu.ru/auth/" target="_blank">По&nbsp;образовательным программам среднего
профессионального образования (колледж)</a></h2><br>
<br>
<h3><a href="https://mkgtu.ru/abitur/1.pdf" target="_blank">Инструкция по работе с личным кабинетом
абитуриента</a></h3><br>
</div>
</div>
</div>
</div>
</div>
-->
<div class="pt-4 container justify-content-md-center col-6 accordion accordion-flush" id="accordionFlushExample">
<div class="accordion-item">
<h2 class="accordion-header" id="flush-headingOne">
<button class="accordion-button collapsed accordionHover" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapseOne" aria-expanded="false" aria-controls="flush-collapseOne">
По образовательным программам высшего образования
</button>
</h2>
<div id="flush-collapseOne" class="accordion-collapse collapse" aria-labelledby="flush-headingOne" data-bs-parent="#accordionFlushExample">
<div class="accordion-body tp-feature__title">
<br><h2><a href="https://portal.mkgtu.ru/" target="_blank">По образовательным программам высшего образования</a></h2>
<br><h3><a href="https://mkgtu.ru/abitur/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B5%20%D1%81%20%D0%BB%D0%B8%D1%87%D0%BD%D1%8B%D0%BC%20%D0%BA%D0%B0%D0%B1%D0%B8%D0%BD%D0%B5%D1%82%D0%BE%D0%BC%20%D0%B0%D0%B1%D0%B8%D1%82%D1%83%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%202023.pdf" target="_blank">Инструкция по работе с личным кабинетом абитуриента</a></h3><br>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header" id="flush-headingTwo">
<button class="accordion-button collapsed accordionHover" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapseTwo" aria-expanded="false" aria-controls="flush-collapseTwo">
По образовательным программам среднего профессионального образования (колледж)
</button>
</h2>
<div id="flush-collapseTwo" class="accordion-collapse collapse" aria-labelledby="flush-headingTwo" data-bs-parent="#accordionFlushExample">
<div class="accordion-body tp-feature__title">
<br><h2> <a href="https://mkgtu.ru/auth/" target="_blank">По&nbsp;образовательным программам среднего профессионального образования (колледж)</a> </h2><br>
<br><h3> <a href="https://mkgtu.ru/abitur/1.pdf" target="_blank">Инструкция по работе с личным кабинетом абитуриента</a></h3><br>
</div>
</div>
</div>
</div>
@endsection

View File

@ -1,42 +1,44 @@
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta name="csrf-param" content="_token" />
@vite(['resources/css/app.css', 'resources/js/app.js'])
<h2>список пользователей</h2>
<br>
<br>
<a href="{{ route('users.create') }}"> создать пользователя</a>
<br>
<br>
<table class="mt-4">
<thead class="border-b-2 border-solid border-black text-left" style="text-align: left">
<tr>
<th>id</th>
<td>name</td>
<td>email</td>
<td>действия</td>
</tr>
</thead>
<tbody>
@foreach($users as $user)
<tr>
<td>{{ $user->id }}</td>
<td>{{ $user->name }}</td>
<td>{{ $user->email }}</td>
<td><a href="{{ route("users.edit", $user) }}">редактировать</a></td>
<td><a rel="nofollow" data-method="delete" data-confirm="Вы действительно хотите удалить?"
href="{{ route('users.destroy', $user) }}">
удалить
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<br>
<br>
@extends('layouts.admin-layout')
@section('content')
<div class="container">
<h2>список пользователей</h2>
<br>
<br>
<a href="{{ route('users.create') }}"> создать пользователя</a>
<br>
<br>
<table class="mt-4">
<thead class="border-b-2 border-solid border-black text-left" style="text-align: left">
<tr>
<th>id</th>
<td>name</td>
<td>email</td>
<td>действия</td>
</tr>
</thead>
<tbody>
@foreach($users as $user)
<tr>
<td>{{ $user->id }}</td>
<td>{{ $user->name }}</td>
<td>{{ $user->email }}</td>
<td><a href="{{ route("users.edit", $user) }}">редактировать</a></td>
<td><a rel="nofollow" data-method="delete" data-confirm="Вы действительно хотите удалить?"
href="{{ route('users.destroy', $user) }}">
удалить
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<br>
<br>
{{ Form::open(array('url' => route('uploadfile'), 'method' => 'POST', 'files'=>'true')) }}
Select the file to upload.
{{ Form::file('image') }}
{{ Form::submit('Upload File')}}
{{Form::close()}}
{{ Form::open(array('url' => route('uploadfile'), 'method' => 'POST', 'files'=>'true')) }}
Select the file to upload.
{{ Form::file('image') }}
{{ Form::submit('Upload File')}}
{{Form::close()}}
</div>
@endsection

View File

@ -1,5 +1,6 @@
<?php
use App\Http\Controllers\DocumentsOnlineController;
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\UploadFileController;
use App\Http\Controllers\UserController;
@ -20,7 +21,10 @@ Route::get('/', function () {
return view('home');
})->name('home');
Route::resource('/users', UserController::class);
Route::resources([
'/users' => UserController::class,
'/documents-online' => DocumentsOnlineController::class
]);
Route::get('/course', function () {
return view('pages.course');
@ -33,7 +37,7 @@ Route::get('/abitur', function () {
Route::post('/uploadfile', [UploadFileController::class, 'showUploadFile'])->name('uploadfile');
Route::get('/dashboard', function () {
return view('dashboard');
return view('admin');
})->middleware(['auth', 'verified'])->name('dashboard');
Route::middleware('auth')->group(function () {

View File

@ -5,7 +5,7 @@ export default defineConfig({
plugins: [
laravel({
input: [
'resources/css/app.css',
'resources/sass/app.scss',
'resources/js/app.js',
],
refresh: true,