Compare commits

..

58 Commits

Author SHA1 Message Date
philipp lang d54b580c7c --wip-- [skip ci] 2024-10-28 23:14:33 +01:00
philipp lang 26f6925d42 Add vite spritemap 2024-10-26 15:55:47 +02:00
philipp lang d9d87e59e9 Update sprite component 2024-10-26 15:04:24 +02:00
philipp lang 5e16222554 Add validation attributes to nami field 2024-10-26 00:18:29 +02:00
philipp lang bf7a298afc Add SettingIntro component
continuous-integration/drone/push Build is failing Details
2024-10-25 01:58:27 +02:00
philipp lang 7a1ab8f03b Add Nami Settings 2024-10-25 01:43:13 +02:00
philipp lang afffecb4c0 Move test files 2024-10-25 00:53:18 +02:00
philipp lang 1c7e010249 Add page title 2024-10-25 00:52:16 +02:00
philipp lang 644a70a082 Add active menu entry for setting 2024-10-25 00:48:52 +02:00
philipp lang e6d33ba2de Set active title for setting 2024-10-25 00:46:03 +02:00
philipp lang c67ae040de Update arch tests 2024-10-25 00:39:03 +02:00
philipp lang 54b413ae68 Lint 2024-10-25 00:38:35 +02:00
philipp lang d6325fbc33 Move types 2024-10-24 23:24:21 +02:00
philipp lang 3ff185e059 Move modules 2024-10-24 23:18:17 +02:00
philipp lang 0d412544bb Add Badge component 2024-10-24 23:05:12 +02:00
philipp lang 201b99cacf Add data type cast for Mailgateway 2024-10-24 22:42:30 +02:00
philipp lang bf0e9cb962 Allow MailmanTypeRequest to cast to data 2024-10-24 22:40:16 +02:00
philipp lang 3bc038c4c1 Mod setArray macro for nested values 2024-10-24 22:39:45 +02:00
philipp lang 49f972bc1b Simplify form 2024-10-20 22:02:43 +02:00
philipp lang b26ac83031 Update update hook 2024-10-20 21:40:16 +02:00
philipp lang 21433624c5 Add test for events 2024-10-20 21:27:00 +02:00
philipp lang 98c2972575 Lint 2024-10-20 21:24:03 +02:00
philipp lang d590fbd325 Update refresh page 2024-10-20 21:23:47 +02:00
philipp lang 9535a50c4a Add mailgateway 2024-10-20 21:19:07 +02:00
philipp lang d46dccf4e6 Fix layout 2024-10-20 18:31:22 +02:00
philipp lang 3009003545 Remove old MailgatewayRequestFactory 2024-10-20 18:30:33 +02:00
philipp lang ff47b024f5 Lint 2024-10-20 18:30:16 +02:00
philipp lang 8077f36724 Add HTTP Check to MailmanTypeRequest 2024-10-20 18:29:51 +02:00
philipp lang 908f99f403 Delete old mailgateway tests 2024-10-20 18:29:32 +02:00
philipp lang ee5b923f25 Mark MailgatewayResource as deprecated 2024-10-20 18:29:03 +02:00
philipp lang ce7f86b7c0 Mark old mailgateway settings as deprecated 2024-10-20 18:27:34 +02:00
philipp lang 89803b80a1 Add BooleanDisplay component 2024-10-20 18:26:44 +02:00
philipp lang d45d8f561f Make right slot optional in SettingLayout 2024-10-20 18:26:17 +02:00
philipp lang c94facf794 fixup! Add modal component 2024-10-20 18:25:43 +02:00
philipp lang cef1c28df1 Add testable macro for setArray 2024-10-20 18:25:17 +02:00
philipp lang ff846d0929 Add modal component 2024-10-20 12:25:07 +02:00
philipp lang ba59783415 Throw exception when variant not found 2024-10-19 21:27:03 +02:00
philipp lang c0031cd4f0 Lint 2024-10-19 21:25:46 +02:00
philipp lang 56dd5cf146 Merge attributes for hint 2024-10-19 21:25:03 +02:00
philipp lang d096a1026b Lint 2024-10-19 21:24:50 +02:00
philipp lang fd8bf40090 Fix Tooltip attribute of Table action 2024-10-18 21:36:52 +02:00
philipp lang 62e122eef1 Register MailgatewayServiceProvider 2024-10-18 21:07:18 +02:00
philipp lang baa4b4a32c Add select field 2024-10-18 21:00:13 +02:00
philipp lang be8d1f5ab7 Disable autocomplete for password fields 2024-10-18 20:59:03 +02:00
philipp lang 3ec27b6707 Fix label required 2024-10-17 22:24:58 +02:00
philipp lang 4ccc4097d6 Add Table action button 2024-10-17 00:25:58 +02:00
philipp lang bf973d4139 Add table component 2024-10-16 23:51:20 +02:00
philipp lang ef0b0198fe Mod Component Test 2024-10-14 23:26:37 +02:00
philipp lang f21c636803 Move Dashboard registrations
continuous-integration/drone/push Build is failing Details
2024-10-14 21:29:33 +02:00
philipp lang 72cb7dd818 Add Settings for Bill 2024-10-14 21:21:19 +02:00
philipp lang a53637c14f Add Toast and tooltip 2024-10-14 20:25:11 +02:00
philipp lang 3c324fa211 Remove Base tests from Composer 2024-10-14 00:09:17 +02:00
philipp lang 03b839d5ae Add Component Resolver for Modules 2024-10-14 00:07:39 +02:00
philipp lang 580238d665 Add Dashboard
continuous-integration/drone/push Build is failing Details
2024-10-13 21:00:47 +02:00
philipp lang 6d85a7c37c Add Service Provider 2024-09-24 01:26:08 +02:00
philipp lang f2c30b013b Add livewire components 2024-09-23 23:49:17 +02:00
philipp lang acaccbb106 Add config file 2024-09-23 02:06:25 +02:00
philipp lang 528b716705 Install Livewire Package 2024-09-23 02:02:03 +02:00
8 changed files with 40 additions and 46 deletions

1
.deptrac.cache Normal file

File diff suppressed because one or more lines are too long

View File

@ -33,7 +33,7 @@ class Select extends Component
@endif
<div class="relative flex-none flex">
<select {{$attributes}} @if($disabled) disabled @endif name="{{$name}}" id="{{$id}}"
<select {{$attributes}} @if($disabled) disabled @endif name="{{$name}}"
class="
w-full h-[var(--height)] border-gray-600 border-solid text-gray-300 bg-gray-700 leading-none rounded-lg
group-[.size-default]:border-2 group-[.size-sm]:border
@ -47,7 +47,6 @@ class Select extends Component
<option value="{{$option['id']}}">{{ $option['name'] }}</option>
@endforeach
</select>
<x-ui::errors :for="$name" />
@if($hint)
<x-form::hint class="right-6">{{$hint}}</x-form::hint>
@endif

View File

@ -32,6 +32,13 @@ class Text extends Component
@endif
<div class="relative flex-none flex">
<input
@error($name) x-init="tippy($el, {
content: () => '@error($name){{$message}}@enderror',
showOnCreate: true,
theme: 'danger',
placement: 'top-end',
delay: [0, 3000],
})" @enderror
id="{{$id}}"
type="{{$type}}"
@if ($type === 'password') autocomplete="off" @endif
@ -44,7 +51,6 @@ class Text extends Component
"
{{ $attributes }}
/>
<x-ui::errors :for="$name" />
@if($hint)
<x-form::hint>{{$hint}}</x-form::hint>
@endif

View File

@ -1,33 +0,0 @@
<?php
namespace App\View\Ui;
use Illuminate\View\Component;
class Errors extends Component
{
public function __construct(
public string $for,
) {
}
public function id(): string
{
return 'errors-' . str_replace('.', '--', $this->for);
}
public function render()
{
return <<<'HTML'
@error($for)
<div x-data="{error: ''}" x-init="window.setTimeout(() => document.querySelector('#{{$id()}}') ? document.querySelector('#{{$id()}}').remove() : null, 2000)" class="absolute bottom-[calc(100%+0.5rem)] right-0" id="{{$id}}">
<div class="tippy-box" tabindex="-1" data-theme="danger" data-placement="top">
<div class="tippy-content">{{$message}}</div>
<div class="tippy-arrow absolute right-0 mr-2"></div>
</div>
</div>
@enderror
HTML;
}
}

View File

@ -36,7 +36,7 @@ class Form extends Component
'type' => 'Typ',
'name' => 'Beschreibung',
'domain' => 'Domain',
...$this->type ? collect($this->type::fieldNames())->mapWithKeys(fn ($attribute, $key) => ["type.{$key}" => $attribute]) : [],
...$this->type ? collect($this->type::fieldNames())->mapWithKeys(fn ($attribute, $key) => ["params.{$key}" => $attribute]) : [],
];
}
@ -104,11 +104,11 @@ class Form extends Component
<x-form::select name="typeClass" wire:model.live="typeClass" label="Typ" :options="$types" required />
@foreach($this->fields() as $index => $field)
<x-form::text
wire:key="$index"
wire:key="index"
wire:model="type.{{$field['name']}}"
:label="$field['label']"
:type="$field['type']"
:name="'type.'.$field['name']"
:name="$field['name']"
:required="str_contains('required', $field['validator'])"
></x-form::text>
@endforeach

View File

@ -14,7 +14,7 @@ class SettingView extends Component
public $settingClass = NamiSettings::class;
#[Validate('required|string')]
#[Validate('required|string|min:4')]
public string $password = '';
#[Validate('required|string')]
public string $mglnr = '';

View File

@ -6,14 +6,34 @@ import 'tippy.js/dist/tippy.css';
import 'tippy.js/animations/shift-toward.css';
import '../css/tooltip.css';
import {error, success} from './toastify.js';
import tippy from 'tippy.js';
Alpine.plugin(
Tooltip.defaultProps({
theme: 'primary',
animation: 'shift-toward',
})
);
const defaultTippy = {
theme: 'primary',
animation: 'shift-toward',
};
Alpine.plugin(Tooltip.defaultProps(defaultTippy));
window.addEventListener('success', (event) => success(event.detail[0]));
document.addEventListener('alpine:init', () => {
Alpine.directive('error', function (el, {value, modifiers, expression}, {Alpine, effect, cleanup, evaluateLater}) {
let getThingToLog = evaluateLater(expression);
// el._x_custom_tippy = new tippy(el, {
// ...defaultTippy,
// content: '',
// });
effect(() => {
getThingToLog((thingToLog) => {
console.log(thingToLog);
});
});
});
});
window.tippy = tippy;
Livewire.start();

View File

@ -76,6 +76,7 @@ use App\Membership\Actions\MembershipStoreAction;
use App\Membership\Actions\MembershipUpdateAction;
use App\Payment\SubscriptionController;
Route::get('/lala', fn () => auth()->login(\App\User::first()));
Route::group(['namespace' => 'App\\Http\\Controllers'], function (): void {
Auth::routes(['register' => false]);
});