refactor: replace custom CRM with Monica fork
Some checks failed
Build & Push Monica Image to Gitea Registry / build-and-push (push) Failing after 9s

This commit is contained in:
Kroonk
2026-05-22 16:19:55 +02:00
parent 38cc4c09ca
commit a213a1dba0
2215 changed files with 242567 additions and 6015 deletions

View File

@@ -0,0 +1,30 @@
@foreach($reminderOutboxesList as $month => $reminderOutboxes)
<h3 class="ttu fw5 f5 pb2">{{ \App\Helpers\DateHelper::getMonthAndYear($month) }}</h3>
<ul class="mb4">
@if(count($reminderOutboxes) > 0)
@foreach($reminderOutboxes as $reminderOutbox)
@if (!is_object($reminderOutbox->reminder))
@continue;
@endif
<li class="pb2">
<span class="ttu f6 mr2 black-60">{{ \App\Helpers\DateHelper::getShortDateWithoutYear($reminderOutbox->planned_date) }}</span>
<span>
@if ($reminderOutbox->reminder->contact->is_partial)
@php($relatedRealContact = $reminderOutbox->reminder->contact->getRelatedRealContact())
<a href="{{ route('people.show', $relatedRealContact) }}">{{ $relatedRealContact->getIncompleteName() }}</a>
@else
<a href="{{ route('people.show', $reminderOutbox->reminder->contact) }}">{{ $reminderOutbox->reminder->contact->getIncompleteName() }}</a>
@endif
</span>
{{ $reminderOutbox->reminder->title }}
</li>
@endforeach
@else
<p>{{ trans('dashboard.reminders_none') }}</p>
@endif
</ul>
@endforeach

View File

@@ -0,0 +1,14 @@
@extends('layouts.skeleton')
@section('content')
<div class="mw6 center mt5 mt6-ns mb4 ph3 ph0-ns">
<div class="tc mb5">
<img src="img/dashboard/blank.svg">
</div>
<h2 class="f2 mb4 normal tc lh-title">{{ trans('dashboard.dashboard_blank_title') }}</h2>
<p class="tc f4 mb4">{{ trans('dashboard.dashboard_blank_description') }}</p>
<p class="tc mb5"><a href="{{ route('people.create') }}" id="button-add-contact" class="btn btn-primary pa4 f4">{{ trans('dashboard.dashboard_blank_cta') }}</a></p>
</div>
@endsection

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,9 @@
<div class="event-icon">
<img src="img/dashboard/activity_{{ $event['nature_of_operation'] }}.png">
</div>
<div class="event-description">
<a href="{{ route('people.show', $event['contact_id']) }}" id="activity_{{ $event['nature_of_operation'] }}_{{ $event['object_id'] }}">
{{ trans('dashboard.event_'.$event['nature_of_operation'].'_'.$event['object_type'], ['name' => $event['contact_complete_name']]) }}
</a>
</div>

View File

@@ -0,0 +1,9 @@
<div class="event-icon">
<img src="img/dashboard/call_{{ $event['nature_of_operation'] }}.png">
</div>
<div class="event-description">
<a href="{{ route('people.show', $event['contact_id']) }}" id="call_{{ $event['nature_of_operation'] }}_{{ $event['object_id'] }}">
{{ trans('dashboard.event_'.$event['nature_of_operation'].'_'.$event['object_type'], ['name' => $event['contact_complete_name']]) }}
</a>
</div>

View File

@@ -0,0 +1,9 @@
<div class="event-icon">
<img src="img/dashboard/contact_{{ $event['nature_of_operation'] }}.png">
</div>
<div class="event-description">
<a href="{{ route('people.show', $event['contact_id']) }}">{{ $event['contact_complete_name'] }}</a>:
{{ trans('dashboard.event_'.$event['nature_of_operation'].'_'.$event['object_type']) }}
</div>

View File

@@ -0,0 +1,9 @@
<div class="event-icon">
<img src="img/dashboard/debt_{{ $event['nature_of_operation'] }}.png">
</div>
<div class="event-description">
<a href="{{ route('people.show', $event['contact_id']) }}">{{ $event['contact_complete_name'] }}</a>:
{{ trans('dashboard.event_'.$event['nature_of_operation'].'_'.$event['object_type']) }}
</div>

View File

@@ -0,0 +1,9 @@
<div class="event-icon">
<img src="img/dashboard/gift_{{ $event['nature_of_operation'] }}.png">
</div>
<div class="event-description">
<a href="{{ route('people.show', $event['contact_id']) }}">{{ $event['contact_complete_name'] }}</a>:
{{ trans('dashboard.event_'.$event['nature_of_operation'].'_'.$event['object_type']) }}
</div>

View File

@@ -0,0 +1,9 @@
<div class="event-icon">
<img src="img/dashboard/note_{{ $event['nature_of_operation'] }}.png">
</div>
<div class="event-description">
<a href="{{ route('people.show', $event['contact_id']) }}" id="note_{{ $event['nature_of_operation'] }}_{{ $event['object_id'] }}">
{{ trans('dashboard.event_'.$event['nature_of_operation'].'_'.$event['object_type'], ['name' => $event['contact_complete_name']]) }}
</a>
</div>

View File

@@ -0,0 +1,9 @@
<div class="event-icon">
<img src="img/dashboard/reminder.png">
</div>
<div class="event-description">
<a href="{{ route('people.show', $event['contact_id']) }}">{{ $event['contact_complete_name'] }}</a>:
{{ trans('dashboard.event_'.$event['nature_of_operation'].'_'.$event['object_type']) }}
</div>

View File

@@ -0,0 +1,9 @@
<div class="event-icon">
<img src="img/dashboard/task_{{ $event['nature_of_operation'] }}.png">
</div>
<div class="event-description">
<a href="{{ route('people.show', $event['contact_id']) }}">{{ $event['contact_complete_name'] }}</a>:
{{ trans('dashboard.event_'.$event['nature_of_operation'].'_'.$event['object_type']) }}
</div>

View File

@@ -0,0 +1,93 @@
@extends('layouts.skeleton')
@section('content')
<div class="dashboard">
<section class="ph3 ph5-ns pv4 cf w-100 bg-gray-monica">
<div class="mw9 center">
<div class="{{ htmldir() == 'ltr' ? 'fl' : 'fr' }} w-70-ns ph2">
<div class="pb2 tc dn-ns w-100">
{{ trans('people.people_list_last_updated') }}
</div>
<div class="h3 overflow-hidden mb2">
<div class="{{ htmldir() == 'ltr' ? 'fl' : 'fr' }} pr2 dn dib-ns v-mid h3" style="line-height: 4rem;">
{{ trans('people.people_list_last_updated') }}
</div>
@foreach($lastUpdatedContacts as $contact)
<div class="{{ htmldir() == 'ltr' ? 'fl' : 'fr' }} pr2 pointer">
<avatar :contact="{{ $contact }}" :clickable="true"></avatar>
</div>
@endforeach
</div>
</div>
<div class="{{ htmldir() == 'ltr' ? 'fl-ns tr' : 'fr-ns tl' }} w-30-ns ph2">
<a href="{{ route('people.create') }}" class="btn btn-primary w-100 w-auto-ns tc" style="padding: 15px 45px;">
{{ trans('people.people_list_blank_cta') }}
</a>
</div>
</div>
</section>
{{-- Main section --}}
<section class="ph3 ph5-ns cf w-100 bg-gray-monica">
<div class="mw9 center">
<div class="{{ htmldir() == 'ltr' ? 'fl' : 'fr' }} w-50-ns w-100 pa2">
<div class="br3 ba b--gray-monica bg-white mb4">
<div class="pa3 bb b--gray-monica">
<p class="mb1 b">
📅&#8199;{{ trans('dashboard.reminders_next_months') }}
</p>
</div>
<div class="pt3 pr3 pl3 mb4">
@include('dashboard._monthReminder', ['reminderOutboxesList' => $reminderOutboxes])
</div>
</div>
</div>
<div class="{{ htmldir() == 'ltr' ? 'fl' : 'fr' }} w-50-ns w-100 pa2">
<div class="br3 ba b--gray-monica bg-white mb4">
<div class="pa3 bb b--gray-monica">
<p class="mb1 b">
☀️&#8199;{{ trans('dashboard.product_changes') }}
<span class="fr normal">
<a href="changelog">{{ trans('dashboard.product_view_details') }}</a>
</span>
</p>
</div>
<div class="pt3 pr3 pl3 mb4">
<ul>
@foreach ($changelogs as $changelog)
<li class="mb1">
<span class="gray f6">{{ $changelog['date'] }}</span>
<span class="stat-description">{{ $changelog['title'] }}</span>
</li>
@endforeach
</ul>
</div>
</div>
<dashboard-log :default-active-tab="'{!! auth()->user()->dashboard_active_tab !!}'"></dashboard-log>
<div class="br3 ba b--gray-monica bg-white mb3">
<div class="pa3 bb b--gray-monica tc">
<ul>
<li class="tc dib fl w-third">
<span class="db f3 fw5 green">{{ $number_of_contacts }}</span>
<span class="stat-description">{{ trans('dashboard.statistics_contacts') }}</span>
</li>
<li class="tc dib fl w-third">
<span class="db f3 fw5 blue">{{ $number_of_activities }}</span>
<span class="stat-description">{{ trans('dashboard.statistics_activities') }}</span>
</li>
<li class="tc dib w-third">
<span class="db f3 fw5 orange">{{ $number_of_gifts }}</span>
<span class="stat-description">{{ trans('dashboard.statistics_gifts') }}</span>
</li>
</ul>
</div>
</div>
</div>
</div>
</section>
</div>
@endsection