mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig-portal.git
synced 2025-12-11 06:46:47 +00:00
Nova getting started added
This commit is contained in:
@@ -9,6 +9,8 @@ use Laravel\Nova\Fields\BelongsToMany;
|
|||||||
|
|
||||||
class Category extends Resource
|
class Category extends Resource
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The model the resource corresponds to.
|
* The model the resource corresponds to.
|
||||||
*
|
*
|
||||||
@@ -32,6 +34,11 @@ class Category extends Resource
|
|||||||
'id',
|
'id',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public static function label()
|
||||||
|
{
|
||||||
|
return __('Categories');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the fields displayed by the resource.
|
* Get the fields displayed by the resource.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -2,46 +2,48 @@
|
|||||||
|
|
||||||
namespace App\Nova;
|
namespace App\Nova;
|
||||||
|
|
||||||
use Laravel\Nova\Fields\ID;
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Laravel\Nova\Fields\Text;
|
|
||||||
use Laravel\Nova\Fields\BelongsTo;
|
use Laravel\Nova\Fields\BelongsTo;
|
||||||
|
use Laravel\Nova\Fields\ID;
|
||||||
|
use Laravel\Nova\Fields\Text;
|
||||||
|
|
||||||
class City extends Resource
|
class City extends Resource
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* The model the resource corresponds to.
|
* The model the resource corresponds to.
|
||||||
*
|
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public static $model = \App\Models\City::class;
|
public static $model = \App\Models\City::class;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The single value that should be used to represent the resource when being displayed.
|
* The single value that should be used to represent the resource when being displayed.
|
||||||
*
|
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public static $title = 'id';
|
public static $title = 'id';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The columns that should be searched.
|
* The columns that should be searched.
|
||||||
*
|
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
public static $search = [
|
public static $search = [
|
||||||
'id',
|
'id',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public static function label()
|
||||||
|
{
|
||||||
|
return __('Cities');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the fields displayed by the resource.
|
* Get the fields displayed by the resource.
|
||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function fields(Request $request)
|
public function fields(Request $request)
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
ID::make()->sortable(),
|
ID::make()
|
||||||
|
->sortable(),
|
||||||
|
|
||||||
Text::make('Name')
|
Text::make('Name')
|
||||||
->rules('required', 'string'),
|
->rules('required', 'string'),
|
||||||
@@ -56,6 +58,7 @@ class City extends Resource
|
|||||||
* Get the cards available for the request.
|
* Get the cards available for the request.
|
||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function cards(Request $request)
|
public function cards(Request $request)
|
||||||
@@ -67,6 +70,7 @@ class City extends Resource
|
|||||||
* Get the filters available for the resource.
|
* Get the filters available for the resource.
|
||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function filters(Request $request)
|
public function filters(Request $request)
|
||||||
@@ -78,6 +82,7 @@ class City extends Resource
|
|||||||
* Get the lenses available for the resource.
|
* Get the lenses available for the resource.
|
||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function lenses(Request $request)
|
public function lenses(Request $request)
|
||||||
@@ -89,6 +94,7 @@ class City extends Resource
|
|||||||
* Get the actions available for the resource.
|
* Get the actions available for the resource.
|
||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function actions(Request $request)
|
public function actions(Request $request)
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ use Laravel\Nova\Fields\HasMany;
|
|||||||
|
|
||||||
class Country extends Resource
|
class Country extends Resource
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The model the resource corresponds to.
|
* The model the resource corresponds to.
|
||||||
*
|
*
|
||||||
@@ -32,6 +34,11 @@ class Country extends Resource
|
|||||||
'id',
|
'id',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public static function label()
|
||||||
|
{
|
||||||
|
return __('Countries');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the fields displayed by the resource.
|
* Get the fields displayed by the resource.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ use Laravel\Nova\Fields\BelongsToMany;
|
|||||||
|
|
||||||
class Course extends Resource
|
class Course extends Resource
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The model the resource corresponds to.
|
* The model the resource corresponds to.
|
||||||
*
|
*
|
||||||
@@ -33,6 +35,11 @@ class Course extends Resource
|
|||||||
'id',
|
'id',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public static function label()
|
||||||
|
{
|
||||||
|
return __('Courses');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the fields displayed by the resource.
|
* Get the fields displayed by the resource.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -2,20 +2,24 @@
|
|||||||
|
|
||||||
namespace App\Nova\Dashboards;
|
namespace App\Nova\Dashboards;
|
||||||
|
|
||||||
use Laravel\Nova\Cards\Help;
|
|
||||||
use Laravel\Nova\Dashboards\Main as Dashboard;
|
use Laravel\Nova\Dashboards\Main as Dashboard;
|
||||||
|
use Nova\Start\Start;
|
||||||
|
|
||||||
class Main extends Dashboard
|
class Main extends Dashboard
|
||||||
{
|
{
|
||||||
|
public function name()
|
||||||
|
{
|
||||||
|
return 'Getting Started';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the cards for the dashboard.
|
* Get the cards for the dashboard.
|
||||||
*
|
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function cards()
|
public function cards()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
new Help,
|
new Start,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ use Laravel\Nova\Fields\BelongsTo;
|
|||||||
|
|
||||||
class Event extends Resource
|
class Event extends Resource
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The model the resource corresponds to.
|
* The model the resource corresponds to.
|
||||||
*
|
*
|
||||||
@@ -32,6 +34,11 @@ class Event extends Resource
|
|||||||
'id',
|
'id',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public static function label()
|
||||||
|
{
|
||||||
|
return __('Events');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the fields displayed by the resource.
|
* Get the fields displayed by the resource.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ use Laravel\Nova\Fields\BelongsTo;
|
|||||||
|
|
||||||
class Lecturer extends Resource
|
class Lecturer extends Resource
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The model the resource corresponds to.
|
* The model the resource corresponds to.
|
||||||
*
|
*
|
||||||
@@ -33,6 +35,11 @@ class Lecturer extends Resource
|
|||||||
'id',
|
'id',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public static function label()
|
||||||
|
{
|
||||||
|
return __('Lecturers');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the fields displayed by the resource.
|
* Get the fields displayed by the resource.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ use Laravel\Nova\Fields\Text;
|
|||||||
|
|
||||||
class Participant extends Resource
|
class Participant extends Resource
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The model the resource corresponds to.
|
* The model the resource corresponds to.
|
||||||
*
|
*
|
||||||
@@ -31,6 +33,11 @@ class Participant extends Resource
|
|||||||
'id',
|
'id',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public static function label()
|
||||||
|
{
|
||||||
|
return __('Participants');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the fields displayed by the resource.
|
* Get the fields displayed by the resource.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ use Laravel\Nova\Fields\BelongsTo;
|
|||||||
|
|
||||||
class Registration extends Resource
|
class Registration extends Resource
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The model the resource corresponds to.
|
* The model the resource corresponds to.
|
||||||
*
|
*
|
||||||
@@ -32,6 +34,11 @@ class Registration extends Resource
|
|||||||
'id',
|
'id',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public static function label()
|
||||||
|
{
|
||||||
|
return __('Registrations');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the fields displayed by the resource.
|
* Get the fields displayed by the resource.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ use Laravel\Nova\Http\Requests\NovaRequest;
|
|||||||
|
|
||||||
class Team extends Resource
|
class Team extends Resource
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The model the resource corresponds to.
|
* The model the resource corresponds to.
|
||||||
* @var class-string<\App\Models\Team>
|
* @var class-string<\App\Models\Team>
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ use Laravel\Nova\Http\Requests\NovaRequest;
|
|||||||
|
|
||||||
class User extends Resource
|
class User extends Resource
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The model the resource corresponds to.
|
* The model the resource corresponds to.
|
||||||
* @var class-string<\App\Models\User>
|
* @var class-string<\App\Models\User>
|
||||||
@@ -32,6 +34,11 @@ class User extends Resource
|
|||||||
'id', 'name', 'email',
|
'id', 'name', 'email',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public static function label()
|
||||||
|
{
|
||||||
|
return __('Users');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the fields displayed by the resource.
|
* Get the fields displayed by the resource.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ use Laravel\Nova\Fields\BelongsTo;
|
|||||||
|
|
||||||
class Venue extends Resource
|
class Venue extends Resource
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The model the resource corresponds to.
|
* The model the resource corresponds to.
|
||||||
*
|
*
|
||||||
@@ -32,6 +34,11 @@ class Venue extends Resource
|
|||||||
'id',
|
'id',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public static function label()
|
||||||
|
{
|
||||||
|
return __('Venues');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the fields displayed by the resource.
|
* Get the fields displayed by the resource.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -2,8 +2,23 @@
|
|||||||
|
|
||||||
namespace App\Providers;
|
namespace App\Providers;
|
||||||
|
|
||||||
|
use App\Nova\Category;
|
||||||
|
use App\Nova\City;
|
||||||
|
use App\Nova\Country;
|
||||||
|
use App\Nova\Course;
|
||||||
|
use App\Nova\Dashboards\Main;
|
||||||
|
use App\Nova\Event;
|
||||||
|
use App\Nova\Lecturer;
|
||||||
|
use App\Nova\Participant;
|
||||||
|
use App\Nova\Registration;
|
||||||
|
use App\Nova\Team;
|
||||||
|
use App\Nova\User;
|
||||||
|
use App\Nova\Venue;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Gate;
|
use Illuminate\Support\Facades\Gate;
|
||||||
use Itsmejoshua\Novaspatiepermissions\Novaspatiepermissions;
|
use Itsmejoshua\Novaspatiepermissions\Novaspatiepermissions;
|
||||||
|
use Laravel\Nova\Menu\MenuItem;
|
||||||
|
use Laravel\Nova\Menu\MenuSection;
|
||||||
use Laravel\Nova\Nova;
|
use Laravel\Nova\Nova;
|
||||||
use Laravel\Nova\NovaApplicationServiceProvider;
|
use Laravel\Nova\NovaApplicationServiceProvider;
|
||||||
|
|
||||||
@@ -17,6 +32,34 @@ class NovaServiceProvider extends NovaApplicationServiceProvider
|
|||||||
{
|
{
|
||||||
parent::boot();
|
parent::boot();
|
||||||
|
|
||||||
|
Nova::mainMenu(function (Request $request) {
|
||||||
|
return [
|
||||||
|
MenuSection::dashboard(Main::class)
|
||||||
|
->icon('lightning-bolt'),
|
||||||
|
|
||||||
|
MenuSection::make('Schule', [
|
||||||
|
MenuItem::resource(City::class),
|
||||||
|
MenuItem::resource(Lecturer::class),
|
||||||
|
MenuItem::resource(Venue::class),
|
||||||
|
MenuItem::resource(Course::class),
|
||||||
|
MenuItem::resource(Event::class),
|
||||||
|
MenuItem::resource(Participant::class),
|
||||||
|
MenuItem::resource(Registration::class),
|
||||||
|
])
|
||||||
|
->icon('academic-cap')
|
||||||
|
->collapsable(),
|
||||||
|
|
||||||
|
MenuSection::make('Admin', [
|
||||||
|
MenuItem::resource(Category::class),
|
||||||
|
MenuItem::resource(Country::class),
|
||||||
|
MenuItem::resource(Team::class),
|
||||||
|
MenuItem::resource(User::class),
|
||||||
|
])
|
||||||
|
->icon('key')
|
||||||
|
->collapsable(),
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
Nova::withBreadcrumbs();
|
Nova::withBreadcrumbs();
|
||||||
|
|
||||||
// disable theme switcher
|
// disable theme switcher
|
||||||
|
|||||||
@@ -21,7 +21,8 @@
|
|||||||
"spatie/laravel-google-fonts": "^1.2",
|
"spatie/laravel-google-fonts": "^1.2",
|
||||||
"spatie/laravel-sluggable": "^3.4",
|
"spatie/laravel-sluggable": "^3.4",
|
||||||
"stijnvanouplines/blade-country-flags": "^1.0",
|
"stijnvanouplines/blade-country-flags": "^1.0",
|
||||||
"wireui/wireui": "^1.17"
|
"wireui/wireui": "^1.17",
|
||||||
|
"nova/start": "*"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"fakerphp/faker": "^1.9.1",
|
"fakerphp/faker": "^1.9.1",
|
||||||
@@ -92,6 +93,10 @@
|
|||||||
{
|
{
|
||||||
"type": "composer",
|
"type": "composer",
|
||||||
"url": "https://nova.laravel.com"
|
"url": "https://nova.laravel.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "path",
|
||||||
|
"url": "./nova-components/Start"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
38
composer.lock
generated
38
composer.lock
generated
@@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "dafb57f82691675a5d03595d824baa57",
|
"content-hash": "fe688c8ea9a0c69b1cff7d3876e83e4f",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "bacon/bacon-qr-code",
|
"name": "bacon/bacon-qr-code",
|
||||||
@@ -3284,6 +3284,42 @@
|
|||||||
},
|
},
|
||||||
"time": "2022-11-12T15:38:23+00:00"
|
"time": "2022-11-12T15:38:23+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "nova/start",
|
||||||
|
"version": "dev-blueprint",
|
||||||
|
"dist": {
|
||||||
|
"type": "path",
|
||||||
|
"url": "./nova-components/Start",
|
||||||
|
"reference": "fbea082cebeff60ba53b11985fbb6ed65ab46008"
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.3|^8.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"laravel": {
|
||||||
|
"providers": [
|
||||||
|
"Nova\\Start\\CardServiceProvider"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Nova\\Start\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"description": "A Laravel Nova card.",
|
||||||
|
"keywords": [
|
||||||
|
"laravel",
|
||||||
|
"nova"
|
||||||
|
],
|
||||||
|
"transport-options": {
|
||||||
|
"relative": true
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "nunomaduro/termwind",
|
"name": "nunomaduro/termwind",
|
||||||
"version": "v1.14.2",
|
"version": "v1.14.2",
|
||||||
|
|||||||
10
lang/de.json
10
lang/de.json
@@ -1,4 +1,14 @@
|
|||||||
{
|
{
|
||||||
|
"Lecturers": "Dozenten",
|
||||||
|
"Cities": "Städte",
|
||||||
|
"Venues": "Veranstaltungs-Orte",
|
||||||
|
"Courses": "Kurse",
|
||||||
|
"Events": "Termine",
|
||||||
|
"Participants": "Teilnehmer",
|
||||||
|
"Registrations": "Registrierungen",
|
||||||
|
"Categories": "Kategorien",
|
||||||
|
"Countries": "Länder",
|
||||||
|
"Users": "Benutzer",
|
||||||
"I want to submit new courses on this platform": "Ich bin Dozent und möchte neue Kurse auf dieser Plattform einstellen",
|
"I want to submit new courses on this platform": "Ich bin Dozent und möchte neue Kurse auf dieser Plattform einstellen",
|
||||||
"(and :count more error)": "(und :count weiterer Fehler)",
|
"(and :count more error)": "(und :count weiterer Fehler)",
|
||||||
"(and :count more errors)": "(und :count weitere Fehler)",
|
"(and :count more errors)": "(und :count weitere Fehler)",
|
||||||
|
|||||||
10
nova-components/Start/.gitignore
vendored
Normal file
10
nova-components/Start/.gitignore
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
/.idea
|
||||||
|
/vendor
|
||||||
|
/node_modules
|
||||||
|
package-lock.json
|
||||||
|
composer.phar
|
||||||
|
composer.lock
|
||||||
|
phpunit.xml
|
||||||
|
.phpunit.result.cache
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
1
nova-components/Start/.npmrc
Normal file
1
nova-components/Start/.npmrc
Normal file
@@ -0,0 +1 @@
|
|||||||
|
progress=false
|
||||||
29
nova-components/Start/composer.json
Normal file
29
nova-components/Start/composer.json
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"name": "nova/start",
|
||||||
|
"description": "A Laravel Nova card.",
|
||||||
|
"keywords": [
|
||||||
|
"laravel",
|
||||||
|
"nova"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"require": {
|
||||||
|
"php": "^7.3|^8.0"
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Nova\\Start\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"extra": {
|
||||||
|
"laravel": {
|
||||||
|
"providers": [
|
||||||
|
"Nova\\Start\\CardServiceProvider"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"sort-packages": true
|
||||||
|
},
|
||||||
|
"minimum-stability": "dev",
|
||||||
|
"prefer-stable": true
|
||||||
|
}
|
||||||
2
nova-components/Start/dist/css/card.css
vendored
Normal file
2
nova-components/Start/dist/css/card.css
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
/* Nova Card CSS */
|
||||||
|
|
||||||
522
nova-components/Start/dist/js/card.js
vendored
Normal file
522
nova-components/Start/dist/js/card.js
vendored
Normal file
@@ -0,0 +1,522 @@
|
|||||||
|
/******/ (() => { // webpackBootstrap
|
||||||
|
/******/ "use strict";
|
||||||
|
/******/ var __webpack_modules__ = ({
|
||||||
|
|
||||||
|
/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Card.vue?vue&type=script&lang=js":
|
||||||
|
/*!**********************************************************************************************************************************************************************************************!*\
|
||||||
|
!*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Card.vue?vue&type=script&lang=js ***!
|
||||||
|
\**********************************************************************************************************************************************************************************************/
|
||||||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||||
|
|
||||||
|
__webpack_require__.r(__webpack_exports__);
|
||||||
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||||
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||||||
|
/* harmony export */ });
|
||||||
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
||||||
|
name: 'Help',
|
||||||
|
props: {
|
||||||
|
card: Object
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
link: function link(path) {
|
||||||
|
return "https://nova.laravel.com/docs/".concat(this.version, "/").concat(path);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
resources: function resources() {
|
||||||
|
return this.link('resources');
|
||||||
|
},
|
||||||
|
actions: function actions() {
|
||||||
|
return this.link('actions/defining-actions.html');
|
||||||
|
},
|
||||||
|
filters: function filters() {
|
||||||
|
return this.link('filters/defining-filters.html');
|
||||||
|
},
|
||||||
|
lenses: function lenses() {
|
||||||
|
return this.link('lenses/defining-lenses.html');
|
||||||
|
},
|
||||||
|
metrics: function metrics() {
|
||||||
|
return this.link('metrics/defining-metrics.html');
|
||||||
|
},
|
||||||
|
cards: function cards() {
|
||||||
|
return this.link('customization/cards.html');
|
||||||
|
},
|
||||||
|
version: function version() {
|
||||||
|
var parts = Nova.config('version').split('.');
|
||||||
|
parts.splice(-2);
|
||||||
|
return "".concat(parts, ".0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Card.vue?vue&type=template&id=b9bc2c0a":
|
||||||
|
/*!**************************************************************************************************************************************************************************************************************************************************************************!*\
|
||||||
|
!*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Card.vue?vue&type=template&id=b9bc2c0a ***!
|
||||||
|
\**************************************************************************************************************************************************************************************************************************************************************************/
|
||||||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||||
|
|
||||||
|
__webpack_require__.r(__webpack_exports__);
|
||||||
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||||
|
/* harmony export */ "render": () => (/* binding */ render)
|
||||||
|
/* harmony export */ });
|
||||||
|
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "vue");
|
||||||
|
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
|
||||||
|
|
||||||
|
var _hoisted_1 = {
|
||||||
|
"class": "flex justify-center items-center"
|
||||||
|
};
|
||||||
|
var _hoisted_2 = {
|
||||||
|
"class": "w-full"
|
||||||
|
};
|
||||||
|
var _hoisted_3 = {
|
||||||
|
"class": "leading-tight mt-3"
|
||||||
|
};
|
||||||
|
var _hoisted_4 = {
|
||||||
|
"class": "leading-tight mt-3"
|
||||||
|
};
|
||||||
|
var _hoisted_5 = {
|
||||||
|
"class": "md:grid md:grid-cols-2"
|
||||||
|
};
|
||||||
|
var _hoisted_6 = {
|
||||||
|
"class": "border-r border-b border-gray-200 dark:border-gray-700"
|
||||||
|
};
|
||||||
|
var _hoisted_7 = ["href"];
|
||||||
|
var _hoisted_8 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
|
||||||
|
"class": "flex justify-center w-11 flex-shrink-0 mr-6"
|
||||||
|
}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
|
||||||
|
"class": "text-4xl text-primary-500 dark:text-primary-600"
|
||||||
|
}, "1.")], -1 /* HOISTED */);
|
||||||
|
var _hoisted_9 = {
|
||||||
|
"class": "leading-normal mt-3"
|
||||||
|
};
|
||||||
|
var _hoisted_10 = {
|
||||||
|
"class": "border-b border-gray-200 dark:border-gray-700"
|
||||||
|
};
|
||||||
|
var _hoisted_11 = ["href"];
|
||||||
|
var _hoisted_12 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
|
||||||
|
"class": "flex justify-center w-11 flex-shrink-0 mr-6"
|
||||||
|
}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
|
||||||
|
"class": "text-4xl text-primary-500 dark:text-primary-600"
|
||||||
|
}, "2.")], -1 /* HOISTED */);
|
||||||
|
var _hoisted_13 = {
|
||||||
|
"class": "leading-normal mt-3"
|
||||||
|
};
|
||||||
|
var _hoisted_14 = {
|
||||||
|
"class": "border-r border-b border-gray-200 dark:border-gray-700"
|
||||||
|
};
|
||||||
|
var _hoisted_15 = ["href"];
|
||||||
|
var _hoisted_16 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
|
||||||
|
"class": "flex justify-center w-11 flex-shrink-0 mr-6"
|
||||||
|
}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
|
||||||
|
"class": "text-4xl text-primary-500 dark:text-primary-600"
|
||||||
|
}, "3.")], -1 /* HOISTED */);
|
||||||
|
var _hoisted_17 = {
|
||||||
|
"class": "leading-normal mt-3"
|
||||||
|
};
|
||||||
|
var _hoisted_18 = {
|
||||||
|
"class": "border-b border-gray-200 dark:border-gray-700"
|
||||||
|
};
|
||||||
|
var _hoisted_19 = ["href"];
|
||||||
|
var _hoisted_20 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
|
||||||
|
"class": "flex justify-center w-11 flex-shrink-0 mr-6"
|
||||||
|
}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
|
||||||
|
"class": "text-4xl text-primary-500 dark:text-primary-600"
|
||||||
|
}, "4.")], -1 /* HOISTED */);
|
||||||
|
var _hoisted_21 = {
|
||||||
|
"class": "leading-normal mt-3"
|
||||||
|
};
|
||||||
|
var _hoisted_22 = {
|
||||||
|
"class": "border-r md:border-b-0 border-b border-gray-200 dark:border-gray-700"
|
||||||
|
};
|
||||||
|
var _hoisted_23 = ["href"];
|
||||||
|
var _hoisted_24 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
|
||||||
|
"class": "flex justify-center w-11 flex-shrink-0 mr-6"
|
||||||
|
}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
|
||||||
|
"class": "text-4xl text-primary-500 dark:text-primary-600"
|
||||||
|
}, "5.")], -1 /* HOISTED */);
|
||||||
|
var _hoisted_25 = {
|
||||||
|
"class": "leading-normal mt-3"
|
||||||
|
};
|
||||||
|
var _hoisted_26 = {
|
||||||
|
"class": "md:border-b-0 border-b border-gray-200 dark:border-gray-700"
|
||||||
|
};
|
||||||
|
var _hoisted_27 = ["href"];
|
||||||
|
var _hoisted_28 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
|
||||||
|
"class": "flex justify-center w-11 flex-shrink-0 mr-6"
|
||||||
|
}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
|
||||||
|
"class": "text-4xl text-primary-500 dark:text-primary-600"
|
||||||
|
}, "6.")], -1 /* HOISTED */);
|
||||||
|
var _hoisted_29 = {
|
||||||
|
"class": "leading-normal mt-3"
|
||||||
|
};
|
||||||
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||||
|
var _component_Heading = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("Heading");
|
||||||
|
var _component_Card = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("Card", true);
|
||||||
|
return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Heading, null, {
|
||||||
|
"default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
|
||||||
|
return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__('Getting Started')), 1 /* TEXT */)];
|
||||||
|
}),
|
||||||
|
|
||||||
|
_: 1 /* STABLE */
|
||||||
|
}), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("p", _hoisted_3, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__('Als Dozent hast du Zugriff auf das Daten-Backend und kannst neue Items anlegen.')), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("p", _hoisted_4, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__('Hier ein paar Tipps, wie du am besten startest:')), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Card, {
|
||||||
|
"class": "mt-8"
|
||||||
|
}, {
|
||||||
|
"default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
|
||||||
|
return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("a", {
|
||||||
|
href: $options.resources,
|
||||||
|
"class": "no-underline flex p-6"
|
||||||
|
}, [_hoisted_8, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Heading, {
|
||||||
|
level: 3
|
||||||
|
}, {
|
||||||
|
"default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
|
||||||
|
return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__('Stadt suchen und anlegen')), 1 /* TEXT */)];
|
||||||
|
}),
|
||||||
|
|
||||||
|
_: 1 /* STABLE */
|
||||||
|
}), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("p", _hoisted_9, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__('Gehe auf die Seite "Städte" und suche nach der Stadt, in der du die Items anlegen möchtest. Wenn du die Stadt nicht findest, kannst du sie anlegen.')), 1 /* TEXT */)])], 8 /* PROPS */, _hoisted_7)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_10, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("a", {
|
||||||
|
href: $options.actions,
|
||||||
|
"class": "no-underline flex p-6"
|
||||||
|
}, [_hoisted_12, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Heading, {
|
||||||
|
level: 3
|
||||||
|
}, {
|
||||||
|
"default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
|
||||||
|
return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__('Veranstaltungs-Ort suchen und anlegen')), 1 /* TEXT */)];
|
||||||
|
}),
|
||||||
|
|
||||||
|
_: 1 /* STABLE */
|
||||||
|
}), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("p", _hoisted_13, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__('Gehe auf die Seite "Veranstaltungs-Orte" und suche nach dem Ort, an dem du die Items anlegen möchtest. Wenn du den Ort nicht findest, kannst du ihn anlegen.')), 1 /* TEXT */)])], 8 /* PROPS */, _hoisted_11)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_14, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("a", {
|
||||||
|
href: $options.filters,
|
||||||
|
"class": "no-underline flex p-6"
|
||||||
|
}, [_hoisted_16, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Heading, {
|
||||||
|
level: 3
|
||||||
|
}, {
|
||||||
|
"default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
|
||||||
|
return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__('Dozenten-Profil bearbeiten')), 1 /* TEXT */)];
|
||||||
|
}),
|
||||||
|
|
||||||
|
_: 1 /* STABLE */
|
||||||
|
}), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("p", _hoisted_17, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__('Gehe auf die Seite "Dozenten" und suche nach deinem Dozenten-Profil. Wenn du es nicht findest, kannst du es anlegen.')), 1 /* TEXT */)])], 8 /* PROPS */, _hoisted_15)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_18, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("a", {
|
||||||
|
href: $options.lenses,
|
||||||
|
"class": "no-underline flex p-6"
|
||||||
|
}, [_hoisted_20, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Heading, {
|
||||||
|
level: 3
|
||||||
|
}, {
|
||||||
|
"default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
|
||||||
|
return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__('Kurse anlegen und verwalten')), 1 /* TEXT */)];
|
||||||
|
}),
|
||||||
|
|
||||||
|
_: 1 /* STABLE */
|
||||||
|
}), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("p", _hoisted_21, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__('Gehe auf die Seite "Kurse" und suche nach dem Kurs, den du editieren möchtest. Wenn du den Kurs nicht findest, kannst du ihn anlegen.')), 1 /* TEXT */)])], 8 /* PROPS */, _hoisted_19)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_22, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("a", {
|
||||||
|
href: $options.metrics,
|
||||||
|
"class": "no-underline flex p-6"
|
||||||
|
}, [_hoisted_24, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Heading, {
|
||||||
|
level: 3
|
||||||
|
}, {
|
||||||
|
"default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
|
||||||
|
return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__('Termine anlegen und verwalten')), 1 /* TEXT */)];
|
||||||
|
}),
|
||||||
|
|
||||||
|
_: 1 /* STABLE */
|
||||||
|
}), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("p", _hoisted_25, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__('Gehe auf die Seite "Termine" und suche nach dem Termin, den du editieren möchtest. Wenn du den Termin nicht findest, kannst du ihn anlegen.')), 1 /* TEXT */)])], 8 /* PROPS */, _hoisted_23)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_26, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("a", {
|
||||||
|
href: $options.cards,
|
||||||
|
"class": "no-underline flex p-6"
|
||||||
|
}, [_hoisted_28, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Heading, {
|
||||||
|
level: 3
|
||||||
|
}, {
|
||||||
|
"default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
|
||||||
|
return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__('Berechtigungen')), 1 /* TEXT */)];
|
||||||
|
}),
|
||||||
|
|
||||||
|
_: 1 /* STABLE */
|
||||||
|
}), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("p", _hoisted_29, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__('Wenn Buttons zur Bearbeitung fehlen, dann hast du nicht die nötigen Berechtigungen. Melde dich bei einem der Admins.')), 1 /* TEXT */)])], 8 /* PROPS */, _hoisted_27)])])];
|
||||||
|
}),
|
||||||
|
_: 1 /* STABLE */
|
||||||
|
})])]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ "./resources/js/card.js":
|
||||||
|
/*!******************************!*\
|
||||||
|
!*** ./resources/js/card.js ***!
|
||||||
|
\******************************/
|
||||||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||||
|
|
||||||
|
__webpack_require__.r(__webpack_exports__);
|
||||||
|
/* harmony import */ var _components_Card__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/Card */ "./resources/js/components/Card.vue");
|
||||||
|
|
||||||
|
Nova.booting(function (app, store) {
|
||||||
|
app.component('start', _components_Card__WEBPACK_IMPORTED_MODULE_0__["default"]);
|
||||||
|
});
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ "./resources/css/card.css":
|
||||||
|
/*!********************************!*\
|
||||||
|
!*** ./resources/css/card.css ***!
|
||||||
|
\********************************/
|
||||||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||||
|
|
||||||
|
__webpack_require__.r(__webpack_exports__);
|
||||||
|
// extracted by mini-css-extract-plugin
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ "./node_modules/vue-loader/dist/exportHelper.js":
|
||||||
|
/*!******************************************************!*\
|
||||||
|
!*** ./node_modules/vue-loader/dist/exportHelper.js ***!
|
||||||
|
\******************************************************/
|
||||||
|
/***/ ((__unused_webpack_module, exports) => {
|
||||||
|
|
||||||
|
|
||||||
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
|
// runtime helper for setting properties on components
|
||||||
|
// in a tree-shakable way
|
||||||
|
exports["default"] = (sfc, props) => {
|
||||||
|
const target = sfc.__vccOpts || sfc;
|
||||||
|
for (const [key, val] of props) {
|
||||||
|
target[key] = val;
|
||||||
|
}
|
||||||
|
return target;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ "./resources/js/components/Card.vue":
|
||||||
|
/*!******************************************!*\
|
||||||
|
!*** ./resources/js/components/Card.vue ***!
|
||||||
|
\******************************************/
|
||||||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||||
|
|
||||||
|
__webpack_require__.r(__webpack_exports__);
|
||||||
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||||
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||||||
|
/* harmony export */ });
|
||||||
|
/* harmony import */ var _Card_vue_vue_type_template_id_b9bc2c0a__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Card.vue?vue&type=template&id=b9bc2c0a */ "./resources/js/components/Card.vue?vue&type=template&id=b9bc2c0a");
|
||||||
|
/* harmony import */ var _Card_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Card.vue?vue&type=script&lang=js */ "./resources/js/components/Card.vue?vue&type=script&lang=js");
|
||||||
|
/* harmony import */ var _home_fsociety_Code_side_einundzwanzig_bitcoin_school_nova_components_Start_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ "./node_modules/vue-loader/dist/exportHelper.js");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;
|
||||||
|
const __exports__ = /*#__PURE__*/(0,_home_fsociety_Code_side_einundzwanzig_bitcoin_school_nova_components_Start_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_Card_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"], [['render',_Card_vue_vue_type_template_id_b9bc2c0a__WEBPACK_IMPORTED_MODULE_0__.render],['__file',"resources/js/components/Card.vue"]])
|
||||||
|
/* hot reload */
|
||||||
|
if (false) {}
|
||||||
|
|
||||||
|
|
||||||
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ "./resources/js/components/Card.vue?vue&type=script&lang=js":
|
||||||
|
/*!******************************************************************!*\
|
||||||
|
!*** ./resources/js/components/Card.vue?vue&type=script&lang=js ***!
|
||||||
|
\******************************************************************/
|
||||||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||||
|
|
||||||
|
__webpack_require__.r(__webpack_exports__);
|
||||||
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||||
|
/* harmony export */ "default": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Card_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__["default"])
|
||||||
|
/* harmony export */ });
|
||||||
|
/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Card_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Card.vue?vue&type=script&lang=js */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Card.vue?vue&type=script&lang=js");
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ "./resources/js/components/Card.vue?vue&type=template&id=b9bc2c0a":
|
||||||
|
/*!************************************************************************!*\
|
||||||
|
!*** ./resources/js/components/Card.vue?vue&type=template&id=b9bc2c0a ***!
|
||||||
|
\************************************************************************/
|
||||||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||||
|
|
||||||
|
__webpack_require__.r(__webpack_exports__);
|
||||||
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||||
|
/* harmony export */ "render": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Card_vue_vue_type_template_id_b9bc2c0a__WEBPACK_IMPORTED_MODULE_0__.render)
|
||||||
|
/* harmony export */ });
|
||||||
|
/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Card_vue_vue_type_template_id_b9bc2c0a__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Card.vue?vue&type=template&id=b9bc2c0a */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Card.vue?vue&type=template&id=b9bc2c0a");
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ "vue":
|
||||||
|
/*!**********************!*\
|
||||||
|
!*** external "Vue" ***!
|
||||||
|
\**********************/
|
||||||
|
/***/ ((module) => {
|
||||||
|
|
||||||
|
module.exports = Vue;
|
||||||
|
|
||||||
|
/***/ })
|
||||||
|
|
||||||
|
/******/ });
|
||||||
|
/************************************************************************/
|
||||||
|
/******/ // The module cache
|
||||||
|
/******/ var __webpack_module_cache__ = {};
|
||||||
|
/******/
|
||||||
|
/******/ // The require function
|
||||||
|
/******/ function __webpack_require__(moduleId) {
|
||||||
|
/******/ // Check if module is in cache
|
||||||
|
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
||||||
|
/******/ if (cachedModule !== undefined) {
|
||||||
|
/******/ return cachedModule.exports;
|
||||||
|
/******/ }
|
||||||
|
/******/ // Create a new module (and put it into the cache)
|
||||||
|
/******/ var module = __webpack_module_cache__[moduleId] = {
|
||||||
|
/******/ // no module.id needed
|
||||||
|
/******/ // no module.loaded needed
|
||||||
|
/******/ exports: {}
|
||||||
|
/******/ };
|
||||||
|
/******/
|
||||||
|
/******/ // Execute the module function
|
||||||
|
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
||||||
|
/******/
|
||||||
|
/******/ // Return the exports of the module
|
||||||
|
/******/ return module.exports;
|
||||||
|
/******/ }
|
||||||
|
/******/
|
||||||
|
/******/ // expose the modules object (__webpack_modules__)
|
||||||
|
/******/ __webpack_require__.m = __webpack_modules__;
|
||||||
|
/******/
|
||||||
|
/************************************************************************/
|
||||||
|
/******/ /* webpack/runtime/chunk loaded */
|
||||||
|
/******/ (() => {
|
||||||
|
/******/ var deferred = [];
|
||||||
|
/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => {
|
||||||
|
/******/ if(chunkIds) {
|
||||||
|
/******/ priority = priority || 0;
|
||||||
|
/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
|
||||||
|
/******/ deferred[i] = [chunkIds, fn, priority];
|
||||||
|
/******/ return;
|
||||||
|
/******/ }
|
||||||
|
/******/ var notFulfilled = Infinity;
|
||||||
|
/******/ for (var i = 0; i < deferred.length; i++) {
|
||||||
|
/******/ var [chunkIds, fn, priority] = deferred[i];
|
||||||
|
/******/ var fulfilled = true;
|
||||||
|
/******/ for (var j = 0; j < chunkIds.length; j++) {
|
||||||
|
/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
|
||||||
|
/******/ chunkIds.splice(j--, 1);
|
||||||
|
/******/ } else {
|
||||||
|
/******/ fulfilled = false;
|
||||||
|
/******/ if(priority < notFulfilled) notFulfilled = priority;
|
||||||
|
/******/ }
|
||||||
|
/******/ }
|
||||||
|
/******/ if(fulfilled) {
|
||||||
|
/******/ deferred.splice(i--, 1)
|
||||||
|
/******/ var r = fn();
|
||||||
|
/******/ if (r !== undefined) result = r;
|
||||||
|
/******/ }
|
||||||
|
/******/ }
|
||||||
|
/******/ return result;
|
||||||
|
/******/ };
|
||||||
|
/******/ })();
|
||||||
|
/******/
|
||||||
|
/******/ /* webpack/runtime/compat get default export */
|
||||||
|
/******/ (() => {
|
||||||
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||||
|
/******/ __webpack_require__.n = (module) => {
|
||||||
|
/******/ var getter = module && module.__esModule ?
|
||||||
|
/******/ () => (module['default']) :
|
||||||
|
/******/ () => (module);
|
||||||
|
/******/ __webpack_require__.d(getter, { a: getter });
|
||||||
|
/******/ return getter;
|
||||||
|
/******/ };
|
||||||
|
/******/ })();
|
||||||
|
/******/
|
||||||
|
/******/ /* webpack/runtime/define property getters */
|
||||||
|
/******/ (() => {
|
||||||
|
/******/ // define getter functions for harmony exports
|
||||||
|
/******/ __webpack_require__.d = (exports, definition) => {
|
||||||
|
/******/ for(var key in definition) {
|
||||||
|
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
||||||
|
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
||||||
|
/******/ }
|
||||||
|
/******/ }
|
||||||
|
/******/ };
|
||||||
|
/******/ })();
|
||||||
|
/******/
|
||||||
|
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
||||||
|
/******/ (() => {
|
||||||
|
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
||||||
|
/******/ })();
|
||||||
|
/******/
|
||||||
|
/******/ /* webpack/runtime/make namespace object */
|
||||||
|
/******/ (() => {
|
||||||
|
/******/ // define __esModule on exports
|
||||||
|
/******/ __webpack_require__.r = (exports) => {
|
||||||
|
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||||||
|
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||||||
|
/******/ }
|
||||||
|
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||||||
|
/******/ };
|
||||||
|
/******/ })();
|
||||||
|
/******/
|
||||||
|
/******/ /* webpack/runtime/jsonp chunk loading */
|
||||||
|
/******/ (() => {
|
||||||
|
/******/ // no baseURI
|
||||||
|
/******/
|
||||||
|
/******/ // object to store loaded and loading chunks
|
||||||
|
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
|
||||||
|
/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
|
||||||
|
/******/ var installedChunks = {
|
||||||
|
/******/ "/js/card": 0,
|
||||||
|
/******/ "css/card": 0
|
||||||
|
/******/ };
|
||||||
|
/******/
|
||||||
|
/******/ // no chunk on demand loading
|
||||||
|
/******/
|
||||||
|
/******/ // no prefetching
|
||||||
|
/******/
|
||||||
|
/******/ // no preloaded
|
||||||
|
/******/
|
||||||
|
/******/ // no HMR
|
||||||
|
/******/
|
||||||
|
/******/ // no HMR manifest
|
||||||
|
/******/
|
||||||
|
/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
|
||||||
|
/******/
|
||||||
|
/******/ // install a JSONP callback for chunk loading
|
||||||
|
/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
|
||||||
|
/******/ var [chunkIds, moreModules, runtime] = data;
|
||||||
|
/******/ // add "moreModules" to the modules object,
|
||||||
|
/******/ // then flag all "chunkIds" as loaded and fire callback
|
||||||
|
/******/ var moduleId, chunkId, i = 0;
|
||||||
|
/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
|
||||||
|
/******/ for(moduleId in moreModules) {
|
||||||
|
/******/ if(__webpack_require__.o(moreModules, moduleId)) {
|
||||||
|
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
|
||||||
|
/******/ }
|
||||||
|
/******/ }
|
||||||
|
/******/ if(runtime) var result = runtime(__webpack_require__);
|
||||||
|
/******/ }
|
||||||
|
/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
|
||||||
|
/******/ for(;i < chunkIds.length; i++) {
|
||||||
|
/******/ chunkId = chunkIds[i];
|
||||||
|
/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
|
||||||
|
/******/ installedChunks[chunkId][0]();
|
||||||
|
/******/ }
|
||||||
|
/******/ installedChunks[chunkId] = 0;
|
||||||
|
/******/ }
|
||||||
|
/******/ return __webpack_require__.O(result);
|
||||||
|
/******/ }
|
||||||
|
/******/
|
||||||
|
/******/ var chunkLoadingGlobal = self["webpackChunknova_start"] = self["webpackChunknova_start"] || [];
|
||||||
|
/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
|
||||||
|
/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
|
||||||
|
/******/ })();
|
||||||
|
/******/
|
||||||
|
/************************************************************************/
|
||||||
|
/******/
|
||||||
|
/******/ // startup
|
||||||
|
/******/ // Load entry module and return exports
|
||||||
|
/******/ // This entry module depends on other loaded chunks and execution need to be delayed
|
||||||
|
/******/ __webpack_require__.O(undefined, ["css/card"], () => (__webpack_require__("./resources/js/card.js")))
|
||||||
|
/******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["css/card"], () => (__webpack_require__("./resources/css/card.css")))
|
||||||
|
/******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__);
|
||||||
|
/******/
|
||||||
|
/******/ })()
|
||||||
|
;
|
||||||
4
nova-components/Start/dist/mix-manifest.json
vendored
Normal file
4
nova-components/Start/dist/mix-manifest.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"/js/card.js": "/js/card.js",
|
||||||
|
"/css/card.css": "/css/card.css"
|
||||||
|
}
|
||||||
33
nova-components/Start/nova.mix.js
Normal file
33
nova-components/Start/nova.mix.js
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
const mix = require('laravel-mix')
|
||||||
|
const webpack = require('webpack')
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
class NovaExtension {
|
||||||
|
name() {
|
||||||
|
return 'nova-extension'
|
||||||
|
}
|
||||||
|
|
||||||
|
register(name) {
|
||||||
|
this.name = name
|
||||||
|
}
|
||||||
|
|
||||||
|
webpackConfig(webpackConfig) {
|
||||||
|
webpackConfig.externals = {
|
||||||
|
vue: 'Vue',
|
||||||
|
}
|
||||||
|
|
||||||
|
webpackConfig.resolve.alias = {
|
||||||
|
...(webpackConfig.resolve.alias || {}),
|
||||||
|
'laravel-nova': path.join(
|
||||||
|
__dirname,
|
||||||
|
'../../vendor/laravel/nova/resources/js/mixins/packages.js'
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
|
webpackConfig.output = {
|
||||||
|
uniqueName: this.name,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mix.extend('nova', new NovaExtension())
|
||||||
20
nova-components/Start/package.json
Normal file
20
nova-components/Start/package.json
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"dev": "npm run development",
|
||||||
|
"development": "mix",
|
||||||
|
"watch": "mix watch",
|
||||||
|
"watch-poll": "mix watch -- --watch-options-poll=1000",
|
||||||
|
"hot": "mix watch --hot",
|
||||||
|
"prod": "npm run production",
|
||||||
|
"production": "mix --production",
|
||||||
|
"nova:install": "npm --prefix='../../vendor/laravel/nova' ci"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@vue/compiler-sfc": "^3.2.22",
|
||||||
|
"laravel-mix": "^6.0.41",
|
||||||
|
"postcss": "^8.3.11",
|
||||||
|
"vue-loader": "^16.8.3"
|
||||||
|
},
|
||||||
|
"dependencies": {}
|
||||||
|
}
|
||||||
1
nova-components/Start/postcss.config.js
Normal file
1
nova-components/Start/postcss.config.js
Normal file
@@ -0,0 +1 @@
|
|||||||
|
module.exports = {}
|
||||||
1
nova-components/Start/resources/css/card.css
Normal file
1
nova-components/Start/resources/css/card.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/* Nova Card CSS */
|
||||||
5
nova-components/Start/resources/js/card.js
Normal file
5
nova-components/Start/resources/js/card.js
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
import Card from './components/Card'
|
||||||
|
|
||||||
|
Nova.booting((app, store) => {
|
||||||
|
app.component('start', Card)
|
||||||
|
})
|
||||||
167
nova-components/Start/resources/js/components/Card.vue
Normal file
167
nova-components/Start/resources/js/components/Card.vue
Normal file
@@ -0,0 +1,167 @@
|
|||||||
|
<template>
|
||||||
|
<div class="flex justify-center items-center">
|
||||||
|
<div class="w-full">
|
||||||
|
<Heading>{{ __('Getting Started') }}</Heading>
|
||||||
|
<p class="leading-tight mt-3">
|
||||||
|
{{ __('Als Dozent hast du Zugriff auf das Daten-Backend und kannst neue Items anlegen.') }}
|
||||||
|
</p>
|
||||||
|
<p class="leading-tight mt-3">
|
||||||
|
{{ __('Hier ein paar Tipps, wie du am besten startest:') }}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<Card class="mt-8">
|
||||||
|
<div class="md:grid md:grid-cols-2">
|
||||||
|
<div class="border-r border-b border-gray-200 dark:border-gray-700">
|
||||||
|
<a :href="resources" class="no-underline flex p-6">
|
||||||
|
<div class="flex justify-center w-11 flex-shrink-0 mr-6">
|
||||||
|
<div class="text-4xl text-primary-500 dark:text-primary-600">1.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<Heading :level="3">{{ __('Stadt suchen und anlegen') }}</Heading>
|
||||||
|
<p class="leading-normal mt-3">
|
||||||
|
{{
|
||||||
|
__('Gehe auf die Seite "Städte" und suche nach der Stadt, in der du die Items anlegen möchtest. Wenn du die Stadt nicht findest, kannst du sie anlegen.')
|
||||||
|
}}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="border-b border-gray-200 dark:border-gray-700">
|
||||||
|
<a :href="actions" class="no-underline flex p-6">
|
||||||
|
<div class="flex justify-center w-11 flex-shrink-0 mr-6">
|
||||||
|
<div class="text-4xl text-primary-500 dark:text-primary-600">2.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<Heading :level="3">{{ __('Veranstaltungs-Ort suchen und anlegen') }}</Heading>
|
||||||
|
<p class="leading-normal mt-3">
|
||||||
|
{{
|
||||||
|
__('Gehe auf die Seite "Veranstaltungs-Orte" und suche nach dem Ort, an dem du die Items anlegen möchtest. Wenn du den Ort nicht findest, kannst du ihn anlegen.')
|
||||||
|
}}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="border-r border-b border-gray-200 dark:border-gray-700">
|
||||||
|
<a :href="filters" class="no-underline flex p-6">
|
||||||
|
<div class="flex justify-center w-11 flex-shrink-0 mr-6">
|
||||||
|
<div class="text-4xl text-primary-500 dark:text-primary-600">3.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<Heading :level="3">{{ __('Dozenten-Profil bearbeiten') }}</Heading>
|
||||||
|
<p class="leading-normal mt-3">
|
||||||
|
{{
|
||||||
|
__('Gehe auf die Seite "Dozenten" und suche nach deinem Dozenten-Profil. Wenn du es nicht findest, kannst du es anlegen.')
|
||||||
|
}}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="border-b border-gray-200 dark:border-gray-700">
|
||||||
|
<a :href="lenses" class="no-underline flex p-6">
|
||||||
|
<div class="flex justify-center w-11 flex-shrink-0 mr-6">
|
||||||
|
<div class="text-4xl text-primary-500 dark:text-primary-600">4.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<Heading :level="3">{{ __('Kurse anlegen und verwalten') }}</Heading>
|
||||||
|
<p class="leading-normal mt-3">
|
||||||
|
{{
|
||||||
|
__('Gehe auf die Seite "Kurse" und suche nach dem Kurs, den du editieren möchtest. Wenn du den Kurs nicht findest, kannst du ihn anlegen.')
|
||||||
|
}}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
class="border-r md:border-b-0 border-b border-gray-200 dark:border-gray-700"
|
||||||
|
>
|
||||||
|
<a :href="metrics" class="no-underline flex p-6">
|
||||||
|
<div class="flex justify-center w-11 flex-shrink-0 mr-6">
|
||||||
|
<div class="text-4xl text-primary-500 dark:text-primary-600">5.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<Heading :level="3">{{ __('Termine anlegen und verwalten') }}</Heading>
|
||||||
|
<p class="leading-normal mt-3">
|
||||||
|
{{
|
||||||
|
__('Gehe auf die Seite "Termine" und suche nach dem Termin, den du editieren möchtest. Wenn du den Termin nicht findest, kannst du ihn anlegen.')
|
||||||
|
}}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
class="md:border-b-0 border-b border-gray-200 dark:border-gray-700"
|
||||||
|
>
|
||||||
|
<a :href="cards" class="no-underline flex p-6">
|
||||||
|
<div class="flex justify-center w-11 flex-shrink-0 mr-6">
|
||||||
|
<div class="text-4xl text-primary-500 dark:text-primary-600">6.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<Heading :level="3">{{ __('Berechtigungen') }}</Heading>
|
||||||
|
<p class="leading-normal mt-3">
|
||||||
|
{{
|
||||||
|
__('Wenn Buttons zur Bearbeitung fehlen, dann hast du nicht die nötigen Berechtigungen. Melde dich bei einem der Admins.')
|
||||||
|
}}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'Help',
|
||||||
|
|
||||||
|
props: {
|
||||||
|
card: Object,
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
link (path) {
|
||||||
|
return `https://nova.laravel.com/docs/${this.version}/${path}`
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
computed: {
|
||||||
|
resources () {
|
||||||
|
return this.link('resources')
|
||||||
|
},
|
||||||
|
actions () {
|
||||||
|
return this.link('actions/defining-actions.html')
|
||||||
|
},
|
||||||
|
filters () {
|
||||||
|
return this.link('filters/defining-filters.html')
|
||||||
|
},
|
||||||
|
lenses () {
|
||||||
|
return this.link('lenses/defining-lenses.html')
|
||||||
|
},
|
||||||
|
metrics () {
|
||||||
|
return this.link('metrics/defining-metrics.html')
|
||||||
|
},
|
||||||
|
cards () {
|
||||||
|
return this.link('customization/cards.html')
|
||||||
|
},
|
||||||
|
version () {
|
||||||
|
const parts = Nova.config('version')
|
||||||
|
.split('.')
|
||||||
|
parts.splice(-2)
|
||||||
|
|
||||||
|
return `${parts}.0`
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
19
nova-components/Start/routes/api.php
Normal file
19
nova-components/Start/routes/api.php
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Card API Routes
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here is where you may register API routes for your card. These routes
|
||||||
|
| are loaded by the ServiceProvider of your card. You're free to add
|
||||||
|
| as many additional routes to this file as your card may require.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Route::get('/endpoint', function (Request $request) {
|
||||||
|
// //
|
||||||
|
// });
|
||||||
54
nova-components/Start/src/CardServiceProvider.php
Normal file
54
nova-components/Start/src/CardServiceProvider.php
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Nova\Start;
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Route;
|
||||||
|
use Illuminate\Support\ServiceProvider;
|
||||||
|
use Laravel\Nova\Events\ServingNova;
|
||||||
|
use Laravel\Nova\Nova;
|
||||||
|
|
||||||
|
class CardServiceProvider extends ServiceProvider
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Bootstrap any application services.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function boot()
|
||||||
|
{
|
||||||
|
$this->app->booted(function () {
|
||||||
|
$this->routes();
|
||||||
|
});
|
||||||
|
|
||||||
|
Nova::serving(function (ServingNova $event) {
|
||||||
|
Nova::script('start', __DIR__.'/../dist/js/card.js');
|
||||||
|
Nova::style('start', __DIR__.'/../dist/css/card.css');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register the card's routes.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
protected function routes()
|
||||||
|
{
|
||||||
|
if ($this->app->routesAreCached()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Route::middleware(['nova'])
|
||||||
|
->prefix('nova-vendor/start')
|
||||||
|
->group(__DIR__.'/../routes/api.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register any application services.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function register()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
25
nova-components/Start/src/Start.php
Normal file
25
nova-components/Start/src/Start.php
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Nova\Start;
|
||||||
|
|
||||||
|
use Laravel\Nova\Card;
|
||||||
|
|
||||||
|
class Start extends Card
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The width of the card (1/3, 1/2, or full).
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public $width = 'full';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the component name for the element.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function component()
|
||||||
|
{
|
||||||
|
return 'start';
|
||||||
|
}
|
||||||
|
}
|
||||||
10
nova-components/Start/webpack.mix.js
Normal file
10
nova-components/Start/webpack.mix.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
let mix = require('laravel-mix')
|
||||||
|
|
||||||
|
require('./nova.mix')
|
||||||
|
|
||||||
|
mix
|
||||||
|
.setPublicPath('dist')
|
||||||
|
.js('resources/js/card.js', 'js')
|
||||||
|
.vue({ version: 3 })
|
||||||
|
.css('resources/css/card.css', 'css')
|
||||||
|
.nova('nova/start')
|
||||||
@@ -2,7 +2,9 @@
|
|||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
"build": "vite build"
|
"build": "vite build",
|
||||||
|
"build-start": "cd nova-components/Start && npm run dev",
|
||||||
|
"build-start-prod": "cd nova-components/Start && npm run prod"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tailwindcss/forms": "^0.5.2",
|
"@tailwindcss/forms": "^0.5.2",
|
||||||
@@ -16,4 +18,4 @@
|
|||||||
"tailwindcss": "^3.1.0",
|
"tailwindcss": "^3.1.0",
|
||||||
"vite": "^3.0.0"
|
"vite": "^3.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user