seeders updated

This commit is contained in:
Benjamin Takats
2022-11-30 15:11:37 +01:00
parent 8f0e818ec9
commit 7683a4039b
22 changed files with 1263 additions and 53 deletions

View File

@@ -8,16 +8,16 @@ created:
- database/factories/VenueFactory.php
- database/factories/EventFactory.php
- database/factories/RegistrationFactory.php
- database/migrations/2022_11_29_210451_create_countries_table.php
- database/migrations/2022_11_29_210452_create_cities_table.php
- database/migrations/2022_11_29_210453_create_lecturers_table.php
- database/migrations/2022_11_29_210454_create_participants_table.php
- database/migrations/2022_11_29_210455_create_categories_table.php
- database/migrations/2022_11_29_210456_create_courses_table.php
- database/migrations/2022_11_29_210457_create_venues_table.php
- database/migrations/2022_11_29_210458_create_events_table.php
- database/migrations/2022_11_29_210459_create_registrations_table.php
- database/migrations/2022_11_29_210500_create_category_course_table.php
- database/migrations/2022_11_30_135656_create_countries_table.php
- database/migrations/2022_11_30_135657_create_cities_table.php
- database/migrations/2022_11_30_135658_create_lecturers_table.php
- database/migrations/2022_11_30_135659_create_participants_table.php
- database/migrations/2022_11_30_135700_create_categories_table.php
- database/migrations/2022_11_30_135701_create_courses_table.php
- database/migrations/2022_11_30_135702_create_venues_table.php
- database/migrations/2022_11_30_135703_create_events_table.php
- database/migrations/2022_11_30_135704_create_registrations_table.php
- database/migrations/2022_11_30_135705_create_category_course_table.php
- app/Models/Country.php
- app/Models/City.php
- app/Models/Lecturer.php
@@ -27,15 +27,6 @@ created:
- app/Models/Venue.php
- app/Models/Event.php
- app/Models/Registration.php
- database/seeders/CountrySeeder.php
- database/seeders/CitySeeder.php
- database/seeders/LecturerSeeder.php
- database/seeders/ParticipantSeeder.php
- database/seeders/CategorySeeder.php
- database/seeders/CourseSeeder.php
- database/seeders/VenueSeeder.php
- database/seeders/EventSeeder.php
- database/seeders/RegistrationSeeder.php
- app/Nova/Country.php
- app/Nova/City.php
- app/Nova/Lecturer.php

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Http\Livewire\Frontend;
use App\Models\Country;
use Livewire\Component;
class SearchCities extends Component
{
public Country $country;
public function render()
{
return view('livewire.frontend.search-cities');
}
}

View File

@@ -8,8 +8,6 @@ class Welcome extends Component
{
public function render()
{
return view('livewire.guest.welcome', [
'cities' => \App\Models\City::all(),
])->layout('layouts.guest');
return view('livewire.guest.welcome')->layout('layouts.guest');
}
}

View File

@@ -0,0 +1,94 @@
<?php
namespace App\Policies;
use App\Models\Category;
use App\Models\User;
use Illuminate\Auth\Access\HandlesAuthorization;
class CategoryPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function viewAny(User $user)
{
return true;
}
/**
* Determine whether the user can view the model.
*
* @param \App\Models\User $user
* @param \App\Models\Category $category
* @return \Illuminate\Auth\Access\Response|bool
*/
public function view(User $user, Category $category)
{
//
}
/**
* Determine whether the user can create models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function create(User $user)
{
//
}
/**
* Determine whether the user can update the model.
*
* @param \App\Models\User $user
* @param \App\Models\Category $category
* @return \Illuminate\Auth\Access\Response|bool
*/
public function update(User $user, Category $category)
{
//
}
/**
* Determine whether the user can delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Category $category
* @return \Illuminate\Auth\Access\Response|bool
*/
public function delete(User $user, Category $category)
{
//
}
/**
* Determine whether the user can restore the model.
*
* @param \App\Models\User $user
* @param \App\Models\Category $category
* @return \Illuminate\Auth\Access\Response|bool
*/
public function restore(User $user, Category $category)
{
//
}
/**
* Determine whether the user can permanently delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Category $category
* @return \Illuminate\Auth\Access\Response|bool
*/
public function forceDelete(User $user, Category $category)
{
//
}
}

View File

@@ -0,0 +1,94 @@
<?php
namespace App\Policies;
use App\Models\City;
use App\Models\User;
use Illuminate\Auth\Access\HandlesAuthorization;
class CityPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function viewAny(User $user)
{
return true;
}
/**
* Determine whether the user can view the model.
*
* @param \App\Models\User $user
* @param \App\Models\City $city
* @return \Illuminate\Auth\Access\Response|bool
*/
public function view(User $user, City $city)
{
//
}
/**
* Determine whether the user can create models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function create(User $user)
{
//
}
/**
* Determine whether the user can update the model.
*
* @param \App\Models\User $user
* @param \App\Models\City $city
* @return \Illuminate\Auth\Access\Response|bool
*/
public function update(User $user, City $city)
{
//
}
/**
* Determine whether the user can delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\City $city
* @return \Illuminate\Auth\Access\Response|bool
*/
public function delete(User $user, City $city)
{
//
}
/**
* Determine whether the user can restore the model.
*
* @param \App\Models\User $user
* @param \App\Models\City $city
* @return \Illuminate\Auth\Access\Response|bool
*/
public function restore(User $user, City $city)
{
//
}
/**
* Determine whether the user can permanently delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\City $city
* @return \Illuminate\Auth\Access\Response|bool
*/
public function forceDelete(User $user, City $city)
{
//
}
}

View File

@@ -0,0 +1,94 @@
<?php
namespace App\Policies;
use App\Models\Country;
use App\Models\User;
use Illuminate\Auth\Access\HandlesAuthorization;
class CountryPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function viewAny(User $user)
{
return true;
}
/**
* Determine whether the user can view the model.
*
* @param \App\Models\User $user
* @param \App\Models\Country $country
* @return \Illuminate\Auth\Access\Response|bool
*/
public function view(User $user, Country $country)
{
//
}
/**
* Determine whether the user can create models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function create(User $user)
{
//
}
/**
* Determine whether the user can update the model.
*
* @param \App\Models\User $user
* @param \App\Models\Country $country
* @return \Illuminate\Auth\Access\Response|bool
*/
public function update(User $user, Country $country)
{
//
}
/**
* Determine whether the user can delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Country $country
* @return \Illuminate\Auth\Access\Response|bool
*/
public function delete(User $user, Country $country)
{
//
}
/**
* Determine whether the user can restore the model.
*
* @param \App\Models\User $user
* @param \App\Models\Country $country
* @return \Illuminate\Auth\Access\Response|bool
*/
public function restore(User $user, Country $country)
{
//
}
/**
* Determine whether the user can permanently delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Country $country
* @return \Illuminate\Auth\Access\Response|bool
*/
public function forceDelete(User $user, Country $country)
{
//
}
}

View File

@@ -0,0 +1,94 @@
<?php
namespace App\Policies;
use App\Models\Course;
use App\Models\User;
use Illuminate\Auth\Access\HandlesAuthorization;
class CoursePolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function viewAny(User $user)
{
return true;
}
/**
* Determine whether the user can view the model.
*
* @param \App\Models\User $user
* @param \App\Models\Course $course
* @return \Illuminate\Auth\Access\Response|bool
*/
public function view(User $user, Course $course)
{
//
}
/**
* Determine whether the user can create models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function create(User $user)
{
//
}
/**
* Determine whether the user can update the model.
*
* @param \App\Models\User $user
* @param \App\Models\Course $course
* @return \Illuminate\Auth\Access\Response|bool
*/
public function update(User $user, Course $course)
{
//
}
/**
* Determine whether the user can delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Course $course
* @return \Illuminate\Auth\Access\Response|bool
*/
public function delete(User $user, Course $course)
{
//
}
/**
* Determine whether the user can restore the model.
*
* @param \App\Models\User $user
* @param \App\Models\Course $course
* @return \Illuminate\Auth\Access\Response|bool
*/
public function restore(User $user, Course $course)
{
//
}
/**
* Determine whether the user can permanently delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Course $course
* @return \Illuminate\Auth\Access\Response|bool
*/
public function forceDelete(User $user, Course $course)
{
//
}
}

View File

@@ -0,0 +1,94 @@
<?php
namespace App\Policies;
use App\Models\Event;
use App\Models\User;
use Illuminate\Auth\Access\HandlesAuthorization;
class EventPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function viewAny(User $user)
{
return true;
}
/**
* Determine whether the user can view the model.
*
* @param \App\Models\User $user
* @param \App\Models\Event $event
* @return \Illuminate\Auth\Access\Response|bool
*/
public function view(User $user, Event $event)
{
//
}
/**
* Determine whether the user can create models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function create(User $user)
{
//
}
/**
* Determine whether the user can update the model.
*
* @param \App\Models\User $user
* @param \App\Models\Event $event
* @return \Illuminate\Auth\Access\Response|bool
*/
public function update(User $user, Event $event)
{
//
}
/**
* Determine whether the user can delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Event $event
* @return \Illuminate\Auth\Access\Response|bool
*/
public function delete(User $user, Event $event)
{
//
}
/**
* Determine whether the user can restore the model.
*
* @param \App\Models\User $user
* @param \App\Models\Event $event
* @return \Illuminate\Auth\Access\Response|bool
*/
public function restore(User $user, Event $event)
{
//
}
/**
* Determine whether the user can permanently delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Event $event
* @return \Illuminate\Auth\Access\Response|bool
*/
public function forceDelete(User $user, Event $event)
{
//
}
}

View File

@@ -0,0 +1,94 @@
<?php
namespace App\Policies;
use App\Models\Lecturer;
use App\Models\User;
use Illuminate\Auth\Access\HandlesAuthorization;
class LecturerPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function viewAny(User $user)
{
return true;
}
/**
* Determine whether the user can view the model.
*
* @param \App\Models\User $user
* @param \App\Models\Lecturer $lecturer
* @return \Illuminate\Auth\Access\Response|bool
*/
public function view(User $user, Lecturer $lecturer)
{
return false;
}
/**
* Determine whether the user can create models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function create(User $user)
{
//
}
/**
* Determine whether the user can update the model.
*
* @param \App\Models\User $user
* @param \App\Models\Lecturer $lecturer
* @return \Illuminate\Auth\Access\Response|bool
*/
public function update(User $user, Lecturer $lecturer)
{
//
}
/**
* Determine whether the user can delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Lecturer $lecturer
* @return \Illuminate\Auth\Access\Response|bool
*/
public function delete(User $user, Lecturer $lecturer)
{
//
}
/**
* Determine whether the user can restore the model.
*
* @param \App\Models\User $user
* @param \App\Models\Lecturer $lecturer
* @return \Illuminate\Auth\Access\Response|bool
*/
public function restore(User $user, Lecturer $lecturer)
{
//
}
/**
* Determine whether the user can permanently delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Lecturer $lecturer
* @return \Illuminate\Auth\Access\Response|bool
*/
public function forceDelete(User $user, Lecturer $lecturer)
{
//
}
}

View File

@@ -0,0 +1,94 @@
<?php
namespace App\Policies;
use App\Models\Participant;
use App\Models\User;
use Illuminate\Auth\Access\HandlesAuthorization;
class ParticipantPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function viewAny(User $user)
{
return true;
}
/**
* Determine whether the user can view the model.
*
* @param \App\Models\User $user
* @param \App\Models\Participant $participant
* @return \Illuminate\Auth\Access\Response|bool
*/
public function view(User $user, Participant $participant)
{
//
}
/**
* Determine whether the user can create models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function create(User $user)
{
//
}
/**
* Determine whether the user can update the model.
*
* @param \App\Models\User $user
* @param \App\Models\Participant $participant
* @return \Illuminate\Auth\Access\Response|bool
*/
public function update(User $user, Participant $participant)
{
//
}
/**
* Determine whether the user can delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Participant $participant
* @return \Illuminate\Auth\Access\Response|bool
*/
public function delete(User $user, Participant $participant)
{
//
}
/**
* Determine whether the user can restore the model.
*
* @param \App\Models\User $user
* @param \App\Models\Participant $participant
* @return \Illuminate\Auth\Access\Response|bool
*/
public function restore(User $user, Participant $participant)
{
//
}
/**
* Determine whether the user can permanently delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Participant $participant
* @return \Illuminate\Auth\Access\Response|bool
*/
public function forceDelete(User $user, Participant $participant)
{
//
}
}

View File

@@ -0,0 +1,94 @@
<?php
namespace App\Policies;
use App\Models\Registration;
use App\Models\User;
use Illuminate\Auth\Access\HandlesAuthorization;
class RegistrationPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function viewAny(User $user)
{
return true;
}
/**
* Determine whether the user can view the model.
*
* @param \App\Models\User $user
* @param \App\Models\Registration $registration
* @return \Illuminate\Auth\Access\Response|bool
*/
public function view(User $user, Registration $registration)
{
//
}
/**
* Determine whether the user can create models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function create(User $user)
{
//
}
/**
* Determine whether the user can update the model.
*
* @param \App\Models\User $user
* @param \App\Models\Registration $registration
* @return \Illuminate\Auth\Access\Response|bool
*/
public function update(User $user, Registration $registration)
{
//
}
/**
* Determine whether the user can delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Registration $registration
* @return \Illuminate\Auth\Access\Response|bool
*/
public function delete(User $user, Registration $registration)
{
//
}
/**
* Determine whether the user can restore the model.
*
* @param \App\Models\User $user
* @param \App\Models\Registration $registration
* @return \Illuminate\Auth\Access\Response|bool
*/
public function restore(User $user, Registration $registration)
{
//
}
/**
* Determine whether the user can permanently delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Registration $registration
* @return \Illuminate\Auth\Access\Response|bool
*/
public function forceDelete(User $user, Registration $registration)
{
//
}
}

View File

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

View File

@@ -0,0 +1,94 @@
<?php
namespace App\Policies;
use App\Models\User;
use App\Models\Venue;
use Illuminate\Auth\Access\HandlesAuthorization;
class VenuePolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function viewAny(User $user)
{
return true;
}
/**
* Determine whether the user can view the model.
*
* @param \App\Models\User $user
* @param \App\Models\Venue $venue
* @return \Illuminate\Auth\Access\Response|bool
*/
public function view(User $user, Venue $venue)
{
//
}
/**
* Determine whether the user can create models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function create(User $user)
{
//
}
/**
* Determine whether the user can update the model.
*
* @param \App\Models\User $user
* @param \App\Models\Venue $venue
* @return \Illuminate\Auth\Access\Response|bool
*/
public function update(User $user, Venue $venue)
{
//
}
/**
* Determine whether the user can delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Venue $venue
* @return \Illuminate\Auth\Access\Response|bool
*/
public function delete(User $user, Venue $venue)
{
//
}
/**
* Determine whether the user can restore the model.
*
* @param \App\Models\User $user
* @param \App\Models\Venue $venue
* @return \Illuminate\Auth\Access\Response|bool
*/
public function restore(User $user, Venue $venue)
{
//
}
/**
* Determine whether the user can permanently delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Venue $venue
* @return \Illuminate\Auth\Access\Response|bool
*/
public function forceDelete(User $user, Venue $venue)
{
//
}
}

View File

@@ -17,6 +17,7 @@
"laravel/tinker": "^2.7",
"livewire/livewire": "^2.5",
"rappasoft/laravel-livewire-tables": "^2.8",
"spatie/laravel-sluggable": "^3.4",
"wireui/wireui": "^1.17"
},
"require-dev": {

62
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": "4daae21e2c3373844f0d47811d6262c9",
"content-hash": "a242ffb9edc0da4f3a3695053759cab6",
"packages": [
{
"name": "bacon/bacon-qr-code",
@@ -4427,6 +4427,66 @@
],
"time": "2022-11-15T09:10:09+00:00"
},
{
"name": "spatie/laravel-sluggable",
"version": "3.4.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-sluggable.git",
"reference": "e3b102ef0f0a0bfbba1eca5961a8e33207c76028"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/laravel-sluggable/zipball/e3b102ef0f0a0bfbba1eca5961a8e33207c76028",
"reference": "e3b102ef0f0a0bfbba1eca5961a8e33207c76028",
"shasum": ""
},
"require": {
"illuminate/database": "^8.0|^9.0",
"illuminate/support": "^8.0|^9.0",
"php": "^8.0"
},
"require-dev": {
"orchestra/testbench": "^6.23|^7.0",
"pestphp/pest": "^1.20",
"spatie/laravel-translatable": "^5.0|^6.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Spatie\\Sluggable\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Freek Van der Herten",
"email": "freek@spatie.be",
"homepage": "https://spatie.be",
"role": "Developer"
}
],
"description": "Generate slugs when saving Eloquent models",
"homepage": "https://github.com/spatie/laravel-sluggable",
"keywords": [
"laravel-sluggable",
"spatie"
],
"support": {
"issues": "https://github.com/spatie/laravel-sluggable/issues",
"source": "https://github.com/spatie/laravel-sluggable/tree/3.4.0"
},
"funding": [
{
"url": "https://github.com/spatie",
"type": "github"
}
],
"time": "2022-03-28T11:21:33+00:00"
},
{
"name": "spatie/once",
"version": "3.1.0",

View File

@@ -3,8 +3,19 @@
namespace Database\Seeders;
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use App\Models\Category;
use App\Models\City;
use App\Models\Country;
use App\Models\Course;
use App\Models\Event;
use App\Models\Lecturer;
use App\Models\Participant;
use App\Models\Registration;
use App\Models\Team;
use App\Models\User;
use App\Models\Venue;
use Illuminate\Database\Seeder;
use Illuminate\Support\Str;
class DatabaseSeeder extends Seeder
{
@@ -14,21 +25,67 @@ class DatabaseSeeder extends Seeder
*/
public function run()
{
User::factory()
->count(5)
->withPersonalTeam()
->create();
$this->call([
CountrySeeder::class,
CitySeeder::class,
LecturerSeeder::class,
ParticipantSeeder::class,
CategorySeeder::class,
CourseSeeder::class,
VenueSeeder::class,
EventSeeder::class,
RegistrationSeeder::class,
$user = User::create([
'name' => 'Admin',
'email' => 'admin@einundzwanzig.space',
'email_verified_at' => now(),
'password' => bcrypt('1234'),
'remember_token' => Str::random(10),
]);
Team::create([
'name' => 'Admin Team',
'user_id' => $user->id,
'personal_team' => true,
]);
Country::create([
'name' => 'Deutschland',
'code' => 'de',
]);
City::create([
'country_id' => 1,
'name' => 'Füssen',
]);
Venue::create([
'city_id' => 1,
'name' => 'The Blue Studio Coworking',
'slug' => str('The Blue Studio Coworking')->slug('-', 'de'),
'street' => 'Teststraße 12',
]);
Lecturer::create([
'team_id' => 1,
'name' => 'Markus Turm',
'slug' => str('Markus Turm')->slug('-', 'de'),
'active' => true,
]);
$category = Category::create([
'name' => 'Präsenzunterricht',
'slug' => str('Präsenzunterricht')->slug('-', 'de'),
]);
Category::create([
'name' => 'Online-Kurs',
'slug' => str('Online-Kurs')->slug('-', 'de'),
]);
$course = Course::create([
'lecturer_id' => 1,
'name' => 'Hands on Bitcoin',
]);
$course->categories()
->attach($category);
Participant::create([
'first_name' => 'Roman',
'last_name' => 'Reher',
]);
Event::create([
'course_id' => 1,
'venue_id' => 1,
'from' => now()->addDays(10),
'to' => now()
->addDays(10)
->addHour(),
]);
Registration::create([
'event_id' => 1,
'participant_id' => 1,
]);
}
}

View File

@@ -39,5 +39,3 @@ models:
event_id: id foreign primary
participant_id: id foreign primary
active: boolean default:true
seeders: Country, City, Lecturer, Participant, Category, Course, Venue, Event, Registration

View File

@@ -8,7 +8,7 @@
<div class="py-12">
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
<div class="bg-white overflow-hidden shadow-xl sm:rounded-lg">
<x-jet-welcome />
HIER KOMMEN QUICK LINKS FÜR DOZENTEN TEAMS REIN
</div>
</div>
</div>

View File

@@ -15,7 +15,7 @@
[x-cloak] { display: none !important; }
</style>
</head>
<body class="font-sans antialiased">
<body class="font-sans antialiased bg-21gray dark">
<x-jet-banner />
<div class="min-h-screen bg-white">
@livewire('navigation-menu')

View File

@@ -0,0 +1,133 @@
<div class="bg-21gray">
{{-- HEADER --}}
<section class="w-full">
<div class="max-w-7xl mx-auto px-10">
<div class="flex flex-col flex-wrap items-center justify-between py-7 mx-auto md:flex-row max-w-7xl">
<div class="relative flex flex-col md:flex-row">
<a href="#_"
class="flex items-center mb-5 font-medium text-gray-900 lg:w-auto lg:items-center lg:justify-center md:mb-0">
<img src="{{ asset('img/einundzwanzig-horizontal-inverted.svg') }}">
</a>
<nav
class="flex flex-wrap items-center mb-5 text-lg md:mb-0 md:pl-8 md:ml-8 md:border-l md:border-gray-800">
<a href="#_" class="mr-5 font-medium leading-6 text-gray-400 hover:text-gray-300">Städte</a>
<a href="#_" class="mr-5 font-medium leading-6 text-gray-400 hover:text-gray-300">Dozenten</a>
<a href="#_" class="mr-5 font-medium leading-6 text-gray-400 hover:text-gray-300">Kurse</a>
<a href="#_" class="mr-5 font-medium leading-6 text-gray-400 hover:text-gray-300">Termine</a>
</nav>
</div>
<div class="inline-flex items-center ml-5 text-lg space-x-6 lg:justify-end">
<a href="{{ route('nova.login') }}"
class="text-base font-medium leading-6 text-gray-400 hover:text-gray-300 whitespace-no-wrap transition duration-150 ease-in-out">
Login
</a>
<a href="#"
class="inline-flex items-center justify-center px-4 py-2 font-medium leading-6 text-gray-200 hover:text-white whitespace-no-wrap bg-gray-800 border border-transparent rounded shadow-sm hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-800">
Registrieren
</a>
</div>
</div>
<div class="flex lg:flex-row flex-col pt-4 md:pt-4 lg:pt-4">
<div
class="w-full lg:w-1/2 flex lg:px-0 px-5 flex-col md:items-center lg:items-start justify-center -mt-12">
<h1 class="text-white text-3xl sm:text-5xl lg:max-w-none max-w-4xl lg:text-left text-left md:text-center xl:text-7xl font-black">
Bitcoin <span
class="bg-clip-text text-transparent bg-gradient-to-br from-yellow-400 via-yellow-500 to-yellow-700 mt-1 lg:block">School
</span> <br class="lg:block sm:hidden"> {{ str($country->name)->upper() }}
</h1>
<p class="text-gray-500 sm:text-lg md:text-xl xl:text-2xl lg:max-w-none max-w-2xl md:text-center lg:text-left lg:pr-32 mt-6">
Finde Bitcoin Kurse in deiner City</p>
<a href="#_"
class="bg-white px-12 lg:px-16 py-4 text-center lg:py-5 font-bold rounded text-lg md:text-xl lg:text-2xl mt-8 inline-block w-auto">
👇 Kurs finden 👇
</a>
<p class="text-gray-400 font-normal mt-4">{{-- TEXT --}}</p>
</div>
<div class="w-full lg:w-1/2 relative lg:mt-0 mt-20 flex items-center justify-center">
{{--<img src="https://cdn.devdojo.com/images/march2022/mesh-gradient1.png"
class="absolute lg:max-w-none max-w-3xl mx-auto mt-32 w-full h-full inset-0">--}}
<img src="{{ asset('img/btc-logo-6219386_1280.png') }}"
class="w-full md:w-auto w-72 max-w-md max-w-sm ml-4 md:ml-20 lg:ml-0 xl:max-w-lg relative">
</div>
</div>
</div>
</section>
{{-- MAIN --}}
<section class="w-full mb-12">
<div class="max-w-7xl mx-auto px-10">
<div class="border-b border-gray-200 pb-5 sm:pb-0 my-6">
<h3 class="text-lg font-medium leading-6 text-gray-200">Suche</h3>
<div class="mt-3 sm:mt-4">
<!-- Dropdown menu on small screens -->
<div class="sm:hidden">
<label for="current-tab" class="sr-only">Select a tab</label>
<select id="current-tab" name="current-tab"
class="block w-full rounded-md border-gray-300 py-2 pl-3 pr-10 text-base focus:border-indigo-500 focus:outline-none focus:ring-indigo-500 sm:text-sm">
<option selected>Städte</option>
<option>Dozenten</option>
<option>Kurse</option>
<option>Termine</option>
</select>
</div>
<!-- Tabs at small breakpoint and up -->
<div class="hidden sm:block">
<nav class="-mb-px flex space-x-8">
@php
$currentTab = 'border-amber-500 text-amber-600';
$notCurrentTab = 'border-transparent text-gray-200 hover:text-gray-400 hover:border-gray-300';
@endphp
<a href="#"
class="{{ $currentTab }} whitespace-nowrap pb-4 px-1 border-b-2 font-medium text-sm">Städte</a>
<a href="#"
class="{{ $notCurrentTab }} whitespace-nowrap pb-4 px-1 border-b-2 font-medium text-sm">Dozenten</a>
<a href="#"
class="{{ $notCurrentTab }} whitespace-nowrap pb-4 px-1 border-b-2 font-medium text-sm">Kurse</a>
<a href="#"
class="{{ $notCurrentTab }} whitespace-nowrap pb-4 px-1 border-b-2 font-medium text-sm">Termine</a>
</nav>
</div>
</div>
</div>
<livewire:tables.city-table/>
</div>
</section>
{{-- FOOTER --}}
<section class="py-10 bg-gray-900 tails-selected-element" contenteditable="true">
<div class="px-10 mx-auto max-w-7xl">
<div class="flex flex-col items-center md:flex-row md:justify-between">
<a href="#_"
class="flex items-center justify-center w-32 p-2 mr-3 rounded-lg mb-7 bg-gradient-to-br from-amber-500 via-amber-600 to-amber-500 rounded-xxl">
<img src="{{ asset('img/einundzwanzig-horizontal-inverted.svg') }}"
class="text-white fill-current" alt="">
</a>
<div class="flex flex-row justify-center mb-4 -ml-4 -mr-4">
<a href="#"
class="p-4 text-gray-700 hover:text-gray-400">
</a>
<a href="#" class="p-4 text-gray-700 hover:text-gray-400">
</a>
<a href="#" class="p-4 text-gray-700 hover:text-gray-400">
</a>
</div>
</div>
<div class="flex flex-col justify-between text-center md:flex-row">
<p class="order-last text-sm leading-tight text-gray-500 md:order-first"> Built with ❤️ by our
team. </p>
<ul class="flex flex-row justify-center pb-3 -ml-4 -mr-4 text-sm">
{{--<li> <a href="#_" class="px-4 text-gray-500 hover:text-white">Contact</a> </li>
<li> <a href="#_" class="px-4 text-gray-500 hover:text-white">About US</a> </li>
<li> <a href="#_" class="px-4 text-gray-500 hover:text-white">FAQ's</a> </li>
<li> <a href="#_" class="px-4 text-gray-500 hover:text-white">Terms</a></li>--}}
</ul>
</div>
</div>
</section>
</div>

View File

@@ -1,19 +1,25 @@
<nav x-data="{ open: false }" class="bg-white border-b border-gray-100">
<nav x-data="{ open: false }" class="border-b border-gray-100">
<!-- Primary Navigation Menu -->
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between h-16">
<div class="flex">
<!-- Logo -->
<div class="shrink-0 flex items-center">
<a href="{{ route('dashboard') }}">
<x-jet-application-mark class="block h-9 w-auto" />
<a href="{{ route('welcome') }}">
<img class="block h-9 w-auto" src="{{ asset('img/btc-logo-6219386_1280.png') }}" alt="">
</a>
</div>
<!-- Navigation Links -->
<div class="hidden space-x-8 sm:-my-px sm:ml-10 sm:flex">
<x-jet-nav-link href="{{ route('dashboard') }}" :active="request()->routeIs('dashboard')">
{{ __('Dashboard') }}
<x-jet-nav-link href="/nova/resources/courses/new" target="_blank">
{{ __('Kurs eintragen') }}
</x-jet-nav-link>
<x-jet-nav-link href="{{ route('profile.show') }}" :active="request()->routeIs('profile.show')">
{{ __('Mein Profil') }}
</x-jet-nav-link>
<x-jet-nav-link href="{{ route('welcome') }}" :active="request()->routeIs('welcome')">
{{ __('Mein Profil') }}
</x-jet-nav-link>
</div>
</div>

View File

@@ -13,14 +13,25 @@ use Illuminate\Support\Facades\Route;
|
*/
Route::get('/', \App\Http\Livewire\Guest\Welcome::class);
Route::get('/', function () {
return to_route('search.cities', ['country' => \App\Models\Country::first()->code]);
})
->name('welcome');
Route::get('/{country:code}/suche', \App\Http\Livewire\Frontend\SearchCities::class)
->name('search.cities');
Route::get('/dozenten', \App\Http\Livewire\Guest\Welcome::class)
->name('search.lecturers');
Route::middleware([
'auth:sanctum',
config('jetstream.auth_session'),
'verified'
])->group(function () {
])
->group(function () {
Route::get('/dashboard', function () {
return view('dashboard');
})->name('dashboard');
})
->name('dashboard');
});