Fix FLEXIAPI-335 Safari rendering issues with font icons

This commit is contained in:
Timothée Jaussoin 2025-06-19 10:13:53 +02:00
parent e4392951c7
commit 22797eb493
60 changed files with 151 additions and 150 deletions

View file

@ -50,6 +50,7 @@ v2.0
- Fix FLEXIAPI-329 Use correct routes for accounts devices
- Fix FLEXIAPI-330 Remove the ConfirmedRegistration email and related code
- Fix FLEXIAPI-324 Add an app setup wizard page
- Fix FLEXIAPI-335 Safari rendering issues with font icons
v1.6
----

View file

@ -8,7 +8,7 @@
@section('content')
<div class="large">
<h2><i class="ph">key</i>API Key</h2>
<h2><i class="ph ph-key"></i>API Key</h2>
<p>You can generate an API key and use it to request the different API endpoints, <a href="{{ route('api') }}">check
the related API documentation</a> to know how to use that key.</p>

View file

@ -2,13 +2,13 @@
@section('content')
<header>
<h1><i class="ph">gauge</i> {{ __('My Account') }}</h1>
<h1><i class="ph ph-gauge"></i> {{ __('My Account') }}</h1>
</header>
<div class="card">
<h3><i class="ph">hand-waving</i> {{ __('Welcome on :app_name' , ['app_name' => space()->name]) }} </h3>
<h3><i class="ph ph-hand-waving"></i> {{ __('Welcome on :app_name' , ['app_name' => space()->name]) }} </h3>
<p>
<i class="ph">envelope</i>
<i class="ph ph-envelope"></i>
@if (!empty($account->email))
{{ $account->email }}
@else
@ -19,7 +19,7 @@
@if (space()->phone_registration)
<p>
<i class="ph">phone</i>
<i class="ph ph-phone"></i>
@if (!empty($account->phone))
{{ $account->phone }}
@else
@ -30,14 +30,14 @@
@endif
<p>
<i class="ph">devices</i>
<i class="ph ph-devices"></i>
{{ __('Devices') }}
<a href="{{ route('account.device.index') }}">
{{ __('Manage') }}
</a>
</p>
<p>
<i class="ph">lock</i>
<i class="ph ph-lock"></i>
{{ __('Password') }}
<a href="{{ route('account.password.show') }}">
@if ($account->passwords()->count() > 0)
@ -49,7 +49,7 @@
</p>
<p>
<i class="ph">key</i>
<i class="ph ph-key"></i>
{{ __('API Key') }}
<a href="{{ route('account.api_keys.show') }}">
{{ __('Manage') }}
@ -57,7 +57,7 @@
</p>
<p>
<i class="ph">trash</i>
<i class="ph ph-trash"></i>
{{ __('My Account') }}
<a href="{{ route('account.delete') }}">
{{ __('Delete') }}
@ -66,18 +66,18 @@
</div>
<div class="card">
<h3><i class="ph">person</i> {{ __('Information') }}</h3>
<h3><i class="ph ph-person"></i> {{ __('Information') }}</h3>
<p><i class="ph">envelope</i> {{ __('SIP Adress') }}: sip:{{ $account->identifier }}</p>
<p><i class="ph">user</i> {{ __('Username') }}: {{ $account->username }}</p>
<p><i class="ph">globe-hemisphere-west</i> {{ __('Domain') }}: {{ $account->domain }}</p>
<p><i class="ph ph-envelope"></i> {{ __('SIP Adress') }}: sip:{{ $account->identifier }}</p>
<p><i class="ph ph-user"></i> {{ __('Username') }}: {{ $account->username }}</p>
<p><i class="ph ph-globe-hemisphere-west"></i> {{ __('Domain') }}: {{ $account->domain }}</p>
@if (!empty(space()?->account_proxy_registrar_address))
<p><i class="ph">hard-drive</i> Proxy/registrar address: sip:{{ space()?->account_proxy_registrar_address }}
<p><i class="ph ph-hard-drive"></i> Proxy/registrar address: sip:{{ space()?->account_proxy_registrar_address }}
</p>
@endif
@if (!empty(config('app.transport_protocol_text')))
<p><i class="ph">sliders</i> {{ __('Transport') }}: {{ config('app.transport_protocol_text') }} </p>
<p><i class="ph ph-sliders"></i> {{ __('Transport') }}: {{ config('app.transport_protocol_text') }} </p>
@endif
<!--<h3 class="mt-3">Automatic authentication</h3>

View file

@ -6,7 +6,7 @@
@section('content')
<header>
<h1><i class="ph">trash</i> Delete my account</h1>
<h1><i class="ph ph-trash"></i> Delete my account</h1>
<a href="{{ route('account.dashboard') }}" class="btn secondary oppose">{{ __('Cancel') }}</a>
<input form="delete" class="btn" type="submit" value="{{ __('Delete') }}">

View file

@ -7,7 +7,7 @@
@section('content')
<header>
<h1><i class="ph">devices</i> {{ __('Devices') }}</h1>
<h1><i class="ph ph-devices"></i> {{ __('Devices') }}</h1>
</header>
<table>

View file

@ -3,7 +3,7 @@
@section('content')
<section>
<h1>
<i class="ph">envelope</i>
<i class="ph ph-envelope"></i>
{{ __('Change your email') }}
</h1>

View file

@ -2,7 +2,7 @@
@section('content')
<section>
<h1 style="margin-bottom: 4rem;"><i class="ph">user-circle</i> {{ __('Code Verification') }}</h1>
<h1 style="margin-bottom: 4rem;"><i class="ph ph-user-circle"></i> {{ __('Code Verification') }}</h1>
<form method="POST" action="{{ route('account.email.update') }}" accept-charset="UTF-8">
@csrf

View file

@ -2,7 +2,7 @@
@section('content')
<section>
<h1 style="margin-bottom: 3rem;"><i class="ph">hand-waving</i> {{ __('Welcome on :app_name' , ['app_name' => space()->name]) }}</h1>
<h1 style="margin-bottom: 3rem;"><i class="ph ph-hand-waving"></i> {{ __('Welcome on :app_name' , ['app_name' => space()->name]) }}</h1>
@if (space()->intro_registration_text)
@parsedown(space()->intro_registration_text)

View file

@ -7,9 +7,9 @@
@section('content')
<header>
@if ($account->passwords()->count() > 0)
<h1><i class="ph">lock</i> {{ __('Edit') }}</h1>
<h1><i class="ph ph-lock"></i> {{ __('Edit') }}</h1>
@else
<h1><i class="ph">lock</i> {{ __('Create') }}</h1>
<h1><i class="ph ph-lock"></i> {{ __('Create') }}</h1>
@endif
<a href="{{ route('account.dashboard') }}" class="btn secondary oppose">{{ __('Cancel') }}</a>

View file

@ -3,7 +3,7 @@
@section('content')
<section>
<header>
<h1><i class="ph">lock</i> {{ __('Reset password') }}</h1>
<h1><i class="ph ph-lock"></i> {{ __('Reset password') }}</h1>
</header>
<p>{{ __('Your password was updated properly.') }}</p>

View file

@ -3,7 +3,7 @@
@section('content')
<section>
<header>
<h1><i class="ph">lock</i> {{ __('Reset') }}</h1>
<h1><i class="ph ph-lock"></i> {{ __('Reset') }}</h1>
</header>
@if ($token->offed())

View file

@ -3,7 +3,7 @@
@section('content')
<section>
<h1>
<i class="ph">phone</i>
<i class="ph ph-phone"></i>
{{ __('Change your phone number') }}
</h1>

View file

@ -2,7 +2,7 @@
@section('content')
<section>
<h1><i class="ph">user-circle</i> {{ __('Change your phone number') }}</h1>
<h1><i class="ph ph-user-circle"></i> {{ __('Change your phone number') }}</h1>
<form method="POST" action="{{ route('account.phone.update') }}" accept-charset="UTF-8">
@csrf

View file

@ -3,7 +3,7 @@
@section('content')
<section>
<h1><i class="ph">user-circle</i> {{ __('Account recovery') }}</h1>
<h1><i class="ph ph-user-circle"></i> {{ __('Account recovery') }}</h1>
<form method="POST" action="{{ route('account.recovery.confirm') }}" accept-charset="UTF-8">
@csrf

View file

@ -2,7 +2,7 @@
@section('content')
<section>
<h1><i class="ph">user-circle</i> {{ __('Account recovery') }}</h1>
<h1><i class="ph ph-user-circle"></i> {{ __('Account recovery') }}</h1>
<div>
<form method="POST" action="{{ route('account.recovery.send') }}" accept-charset="UTF-8">
@csrf

View file

@ -2,7 +2,7 @@
@section('content')
<section>
<h1><i class="ph">user-circle</i> {{ __('Register') }}</h1>
<h1><i class="ph ph-user-circle"></i> {{ __('Register') }}</h1>
<p style="margin-bottom: 2rem;">
{{ __('You already have an account?') }}
<a class="btn secondary" href="{{ route('account.login') }}">{{ __('Login') }}</a>

View file

@ -2,7 +2,7 @@
@section('content')
<section>
<h1><i class="ph">user-circle</i> {{ __('Register') }}</h1>
<h1><i class="ph ph-user-circle"></i> {{ __('Register') }}</h1>
<p style="margin-bottom: 2rem;">
{{ __('You already have an account?') }}
<a class="btn secondary" href="{{ route('account.login') }}">{{ __('Login') }}</a>

View file

@ -9,7 +9,7 @@
@section('content')
<header>
<h1><i class="ph">list</i> {{ $account->identifier }}</h1>
<h1><i class="ph ph-list"></i> {{ $account->identifier }}</h1>
</header>
@include('admin.account.parts.tabs')
@ -114,7 +114,7 @@
<thead>
<tr>
<th>{{ __('Created') }}</th>
<th>{{ __('Via') }} <i class="ph">phone</i>/<i class="ph">envelope</i></th>
<th>{{ __('Via') }} <i class="ph ph-phone</i>/"><i class="ph ph-envelope</i>"></th>
<th>{{ __('Used on') }}</th>
</tr>
</thead>
@ -129,9 +129,9 @@
</td>
<td>
@if ($recoveryCode->phone)
<i class="ph">phone</i> {{ $recoveryCode->phone }}
<i class="ph ph-phone"></i> {{ $recoveryCode->phone }}
@elseif($recoveryCode->email)
<i class="ph">envelope</i> {{ $recoveryCode->email }}
<i class="ph ph-envelope"></i> {{ $recoveryCode->email }}
@endif
</td>
<td>

View file

@ -8,7 +8,7 @@
@section('content')
<header>
<h1><i class="ph">user-plus</i> {{ __('Add contact') }}</h1>
<h1><i class="ph ph-user-plus"></i> {{ __('Add contact') }}</h1>
<a href="{{ route('admin.account.edit', $account->id) }}" class="btn secondary oppose">{{ __('Cancel') }}</a>
<input form="add_contact" class="btn" type="submit" value="Add">
</header>

View file

@ -8,12 +8,12 @@
@section('content')
<header>
<h1><i class="ph">users</i> {{ $account->identifier }}</h1>
<h1><i class="ph ph-users"></i> {{ $account->identifier }}</h1>
</header>
@include('admin.account.parts.tabs')
<a class="btn small oppose" href="{{ route('admin.account.contact.create', $account) }}">
<i class="ph">plus</i> {{ __('Add') }}
<i class="ph ph-plus"></i> {{ __('Add') }}
</a>
<h3>
{{ __('Contacts') }}
@ -32,7 +32,7 @@
</td>
<td class="actions">
<a type="button" class="btn small tertiary" href="{{ route('admin.account.contact.delete', [$account, $contact->id]) }}">
<i class="ph">trash</i>
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
@ -55,7 +55,7 @@
</td>
<td class="actions">
<a type="button" class="btn small tertiary" href="{{ route('admin.account.contacts_lists.detach', ['account_id' => $account->id, 'contacts_list_id' => $contactsList->id]) }}">
<i class="ph">trash</i>
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
@ -67,7 +67,7 @@
<div class="card">
<div class="grid">
<div>
<h4><i class="ph">plus</i> {{ __('Add') }}</h4>
<h4><i class="ph ph-plus"></i> {{ __('Add') }}</h4>
<p>{{ __('Add existing contacts lists to display them in the user applications.') }}</p>
</div>
<div>

View file

@ -13,7 +13,7 @@
@section('content')
@if ($account->id)
<header>
<h1><i class="ph">users</i> {{ $account->identifier }}</h1>
<h1><i class="ph ph-users"></i> {{ $account->identifier }}</h1>
</header>
@if ($account->updated_at)
<p title="{{ $account->updated_at }}">{{ __('Updated on') }} {{ $account->updated_at->format('d/m/Y') }}
@ -21,7 +21,7 @@
@include('admin.account.parts.tabs')
@else
<header>
<h1><i class="ph">users</i> {{ __('New user') }}</h1>
<h1><i class="ph ph-users"></i> {{ __('New user') }}</h1>
<a href="{{ route('admin.account.index') }}" class="btn secondary oppose">{{ __('Cancel') }}</a>
</header>
@endif

View file

@ -8,7 +8,7 @@
@section('content')
<header>
<h1><i class="ph">trash</i> {{ __('Delete') }}</h1>
<h1><i class="ph ph-trash"></i> {{ __('Delete') }}</h1>
<a href="{{ route('admin.account.show', $account->id) }}" class="btn secondary oppose">{{ __('Cancel') }}</a>
<input form="delete" class="btn" type="submit" value="{{ __('Delete') }}">

View file

@ -9,7 +9,7 @@
@section('content')
<header>
<h1><i class="ph">trash</i> {{ __('Delete') }}</h1>
<h1><i class="ph ph-trash"></i> {{ __('Delete') }}</h1>
<a href="{{ route('admin.account.external.show', ['account' => $account]) }}" class="btn secondary oppose">{{ __('Cancel') }}</a>
<input form="delete" class="btn" type="submit" value="{{ __('Delete') }}">

View file

@ -8,10 +8,10 @@
@section('content')
<header>
<h1><i class="ph">user-circle-dashed</i> {{ __('External Account') }}</h1>
<h1><i class="ph ph-user-circle-dashed"></i> {{ __('External Account') }}</h1>
@if($externalAccount->id)
<a class="btn secondary oppose" href="{{ route('admin.account.external.delete', $account->id) }}">
<i class="ph">trash</i>
<i class="ph ph-trash"></i>
{{ __('Delete') }}
</a>
@endif

View file

@ -7,7 +7,7 @@
@section('content')
<header>
<h1><i class="ph">users</i> {{ __('Import') }}</h1>
<h1><i class="ph ph-users"></i> {{ __('Import') }}</h1>
<a href="{{ route('admin.account.index') }}" class="btn secondary oppose">{{ __('Cancel') }}</a>
<a href="#" onclick="history.back()" class="btn secondary">Previous</a>
@ -18,7 +18,7 @@
<input name="domain" type="hidden" value="{{ $domain }}">
<a type="submit"
class="btn @if ($errors->isNotEmpty()) disabled @endif" onclick="document.querySelector('form[name=handle]').submit()">
<i class="ph">download-simple</i>
<i class="ph ph-download-simple"></i>
{{ __('Import') }}
</a>
</form>

View file

@ -7,7 +7,7 @@
@section('content')
<header>
<h1><i class="ph">users</i> {{ __('Import') }}</h1>
<h1><i class="ph ph-users"></i> {{ __('Import') }}</h1>
<a href="{{ route('admin.account.index') }}" class="btn secondary oppose">{{ __('Cancel') }}</a>
<input form="import" class="btn" type="submit" value="{{ __('Next') }}">
</header>

View file

@ -2,22 +2,22 @@
@section('content')
<header>
<h1><i class="ph">users</i> {{ __('Users') }}</h1>
<h1><i class="ph ph-users"></i> {{ __('Users') }}</h1>
@if ($space)
<p>{{ $accounts->count()}} / @if ($space->max_accounts > 0){{ $space->max_accounts }} @else <i class="ph">infinity</i>@endif</p>
<p>{{ $accounts->count()}} / @if ($space->max_accounts > 0){{ $space->max_accounts }} @else <i class="ph ph-infinity</i>@endif"></p>
@endif
<a class="btn secondary oppose" href="{{ route('admin.account.import.create') }}">
<i class="ph">upload-simple</i>
<i class="ph ph-upload-simple"></i>
{{ __('Import') }}
</a>
@if (space()?->intercom_features)
<a class="btn secondary" href="{{ route('admin.account.type.index') }}">
<i class="ph">shapes</i>
<i class="ph ph-shapes"></i>
{{ __('Types') }}
</a>
@endif
<a class="btn" @if ($space && $space->isFull())disabled @endif href="{{ route('admin.account.create') }}">
<i class="ph">user-plus</i>
<i class="ph ph-user-plus"></i>
{{ __('New user') }}
</a>
</header>

View file

@ -1,5 +1,5 @@
@if ($account->activated)
<span class="badge badge-success" title="{{ __('Activated') }}"><i class="ph">check</i></span>
<span class="badge badge-success" title="{{ __('Activated') }}"><i class="ph ph-check</i>"></span>
@endif
@if ($account->superAdmin)
<span class="badge badge-error" title="{{ __('Super Admin') }}">Super Adm.</span>
@ -7,5 +7,5 @@
<span class="badge badge-primary" title="{{ __('Admin') }}">Adm.</span>
@endif
@if ($account->blocked)
<span class="badge badge-error" title="{{ __('Blocked') }}"><i class="ph">prohibit</i></span>
<span class="badge badge-error" title="{{ __('Blocked') }}"><i class="ph ph-prohibit</i>"></span>
@endif

View file

@ -9,7 +9,7 @@
@section('content')
<header>
<h1><i class="ph">envelope</i> {{ __('Reset password') }}</h1>
<h1><i class="ph ph-envelope"></i> {{ __('Reset password') }}</h1>
</header>
<p>{{ __('An email will be sent to :email with a QR Code and provisioning link.', ['email' => $account->email]) }}</p>
@ -20,7 +20,7 @@
<p>
<a class="btn oppose" href="{{ route('admin.account.provisioning_email.send', $account) }}">
<i class="ph">paper-plane-right</i> {{ __('Send') }}
<i class="ph ph-paper-plane-right"></i> {{ __('Send') }}
</a>
</p>

View file

@ -9,7 +9,7 @@
@section('content')
<header>
<h1><i class="ph">envelope</i> {{ __('Reset password') }}</h1>
<h1><i class="ph ph-envelope"></i> {{ __('Reset password') }}</h1>
</header>
<p>{{ __('An email will be sent to :email with a unique link allowing the user to reset its password.', ['email' => $account->email]) }}</p>
@ -20,7 +20,7 @@
<p>
<a class="btn oppose" href="{{ route('admin.account.reset_password_email.send', $account) }}">
<i class="ph">paper-plane-right</i> {{ __('Send') }}
<i class="ph ph-paper-plane-right"></i> {{ __('Send') }}
</a>
</p>

View file

@ -7,14 +7,14 @@
@section('content')
<header>
<h1><i class="ph">users</i> {{ $account->identifier }}</h1>
<h1><i class="ph ph-users"></i> {{ $account->identifier }}</h1>
</header>
@include('admin.account.parts.tabs')
<div class="grid">
<div class="card">
<a class="btn small oppose" href="{{ route('admin.account.edit', $account) }}">
<i class="ph">pencil</i>
<i class="ph ph-pencil"></i>
{{ __('Edit') }}
</a>
<h3>
@ -24,19 +24,19 @@
{{ __('Information') }}
</h3>
<p><i class="ph">user</i> {{ __('SIP Adress') }}: sip:{{ $account->identifier }}</p>
<p><i class="ph ph-user"></i> {{ __('SIP Adress') }}: sip:{{ $account->identifier }}</p>
@if ($account->email)
<p><i class="ph">envelope</i> {{ __('Email') }}: {{ $account->email }}</p>
<p><i class="ph ph-envelope"></i> {{ __('Email') }}: {{ $account->email }}</p>
@endif
@if ($account->phone)
<p><i class="ph">phone</i> {{ __('Phone') }}: {{ $account->phone }}</p>
<p><i class="ph ph-phone"></i> {{ __('Phone') }}: {{ $account->phone }}</p>
@endif
@if ($account->passwords()->count() > 0)
<p><i class="ph">password</i> {{ __('Password') }}: **********</p>
<p><i class="ph ph-password"></i> {{ __('Password') }}: **********</p>
@endif
<p>
<i class="ph">globe-hemisphere-west</i>
<i class="ph ph-globe-hemisphere-west"></i>
{{ __('Space') }}: <a href="{{ route('admin.spaces.show', $account->space->id) }}">{{ $account->domain }}</a>
</p>
<p>
@ -53,7 +53,7 @@
<td>{{ __('Send an email to the user to reset the password') }}</td>
<td class="actions">
<a class="btn secondary small" href="{{ route('admin.account.reset_password_email.create', $account) }}">
<i class="ph">paper-plane-right</i>
<i class="ph ph-paper-plane-right"></i>
</a>
</td>
</tr>
@ -61,7 +61,7 @@
<td>{{ __('Send an email to the user with provisioning information') }}</td>
<td class="actions">
<a class="btn secondary small" href="{{ route('admin.account.provisioning_email.create', $account) }}">
<i class="ph">paper-plane-right</i>
<i class="ph ph-paper-plane-right"></i>
</a>
</td>
</tr>
@ -71,7 +71,7 @@
</td>
<td class="actions">
<a class="btn tertiary small" href="{{ route('admin.account.delete', $account->id) }}">
<i class="ph">trash</i>
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
@ -81,7 +81,7 @@
<div class="card">
<a class="btn small oppose" href="{{ route('admin.account.external.show', $account) }}">
<i class="ph">pencil</i>
<i class="ph ph-pencil"></i>
@if ($account->external){{ __('Edit') }}@else{{ __('Create') }}@endif
</a>
<h3>
@ -89,13 +89,13 @@
</h3>
@if ($account->external)
@if ($account->external->username)
<p><i class="ph">user</i> {{ __('Username') }}: {{ $account->external->username }}</p>
<p><i class="ph ph-user"></i> {{ __('Username') }}: {{ $account->external->username }}</p>
@endif
@if ($account->external->domain)
<p><i class="ph">hard-drive</i> {{ __('Domain') }}: {{ $account->external->domain }}</p>
<p><i class="ph ph-hard-drive"></i> {{ __('Domain') }}: {{ $account->external->domain }}</p>
@endif
@if ($account->external->password)
<p><i class="ph">password</i> {{ __('Password') }}: **********</p>
<p><i class="ph ph-password"></i> {{ __('Password') }}: **********</p>
@endif
@else
<p>{{ __('Empty') }}</p>
@ -104,7 +104,7 @@
<div class="card">
<a class="btn small oppose" href="{{ route('admin.account.provision', $account->id) }}">
<i class="ph">repeat</i>
<i class="ph ph-repeat"></i>
{{ __('Renew') }}
</a>
<h3 class="large" id="provisioning">{{ __('Provisioning') }}</h3>
@ -148,7 +148,7 @@
<td class="line">{{ $device->user_agent }}</td>
<td class="actions">
<a type="button" class="btn small tertiary" href="{{ route('admin.account.device.delete', [$account->id, $device->uuid]) }}">
<i class="ph">trash</i>
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
@ -160,7 +160,7 @@
<div class="card large">
<a class="btn small oppose" href="{{ route('admin.account.dictionary.create', $account) }}">
<i class="ph">plus</i>
<i class="ph ph-plus"></i>
{{ __('Add') }}
</a>
<h3>
@ -188,12 +188,12 @@
<a type="button"
class="btn secondary small"
href="{{ route('admin.account.dictionary.edit', [$account, $dictionaryEntry->key]) }}">
<i class="ph">pencil</i>
<i class="ph ph-pencil"></i>
</a>
<a type="button"
class="btn small tertiary"
href="{{ route('admin.account.dictionary.delete', [$account, $dictionaryEntry->key]) }}">
<i class="ph">trash</i>
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
@ -206,11 +206,11 @@
<div class="card" id="actions">
@if ($account->dtmf_protocol)
<a class="btn small oppose" href="{{ route('admin.account.action.create', $account) }}">
<i class="ph">plus</i>{{ __('Add') }}
<i class="ph ph-plus"></i>{{ __('Add') }}
</a>
@else
<a class="btn small oppose" href="{{ route('admin.account.edit', $account) }}">
<i class="ph">pencil</i>
<i class="ph ph-pencil"></i>
{{ __('Edit') }}
</a>
@endif
@ -236,11 +236,11 @@
<td class="actions">
<a class="btn small secondary"
href="{{ route('admin.account.action.edit', [$account, $action->id]) }}">
<i class="ph">pencil</i>
<i class="ph ph-pencil"></i>
</a>
<a class="btn small tertiary"
href="{{ route('admin.account.action.delete', [$account, $action->id]) }}">
<i class="ph">trash</i>
<i class="ph ph-trash"></i>
</a>
</td>
</tr>
@ -254,7 +254,7 @@
<div class="card" id="types">
<a class="btn small oppose" href="{{ route('admin.account.account_type.create', $account) }}">
<i class="ph">plus</i>{{ __('Add') }}
<i class="ph ph-plus"></i>{{ __('Add') }}
</a>
<h3>{{ __('Types') }}</h3>
@ -276,7 +276,7 @@
@csrf
@method('delete')
<button class="btn small tertiary" type="submit" title="{{ __('Delete') }}">
<i class="ph">trash</i>
<i class="ph ph-trash"></i>
</button>
</form>
</td>

View file

@ -9,7 +9,7 @@
@section('content')
<header>
<h1><i class="ph">users</i> {{ $account->identifier }}</h1>
<h1><i class="ph ph-users"></i> {{ $account->identifier }}</h1>
</header>
@include('admin.account.parts.tabs')
@ -43,19 +43,19 @@
</form>
</div>
<h2><i class="ph">envelope</i> Messages from the account</h2>
<h2><i class="ph ph-envelope"></i> Messages from the account</h2>
{!! $messagesFromGraph !!}
<h2><i class="ph">envelope</i> Messages to the account</h2>
<h2><i class="ph ph-envelope"></i> Messages to the account</h2>
{!! $messagesToGraph !!}
<h2><i class="ph">phone</i> Calls from the account</h2>
<h2><i class="ph ph-phone"></i> Calls from the account</h2>
{!! $callsFromGraph !!}
<h2><i class="ph">phone</i> Calls to the account</h2>
<h2><i class="ph ph-phone"></i> Calls to the account</h2>
{!! $callsToGraph !!}

View file

@ -8,7 +8,7 @@
@section('content')
<header>
<h1><i class="ph">users</i> {{ $account->identifier }}</h1>
<h1><i class="ph ph-users"></i> {{ $account->identifier }}</h1>
</header>
@include('admin.account.parts.tabs')

View file

@ -9,9 +9,9 @@
@section('content')
<header>
<h1><i class="ph">shapes</i> {{ __('Types') }}</h1>
<h1><i class="ph ph-shapes"></i> {{ __('Types') }}</h1>
<a class="btn oppose" href="{{ route('admin.account.type.create') }}">
<i class="ph">plus</i>
<i class="ph ph-plus"></i>
{{ __('Create') }}
</a>
</header>
@ -31,10 +31,10 @@
</td>
<td class="actions">
<a class="btn small secondary" href="{{ route('admin.account.type.edit', [$type->id]) }}">
<i class="ph">pencil</i>
<i class="ph ph-pencil"></i>
</a>
<a class="btn tertiary small" href="{{ route('admin.account.type.delete', [$type->id]) }}">
<i class="ph">trash</i>
<i class="ph ph-trash"></i>
</a>
</td>
</tr>

View file

@ -11,7 +11,7 @@
@section('content')
<header>
<h1><i class="ph">key</i> {{ __('Create') }}</h1>
<h1><i class="ph ph-key"></i> {{ __('Create') }}</h1>
<a href="{{ route('admin.api_keys.index') }}" class="btn secondary oppose">{{ __('Cancel') }}</a>
</header>

View file

@ -11,7 +11,7 @@
@section('content')
<header>
<h1><i class="ph">trash</i> {{ __('Delete') }}</h1>
<h1><i class="ph ph-trash"></i> {{ __('Delete') }}</h1>
<a href="{{ route('admin.api_keys.index') }}" class="btn secondary oppose">{{ __('Cancel') }}</a>
<input form="delete" class="btn" type="submit" value="{{ __('Delete') }}">
</header>
@ -23,7 +23,7 @@
<div class="large">
<p>{{ __('You are going to permanently delete the following element. Please confirm your action.') }}</p>
<p>
<i class="ph">key</i> <code>{{ $api_key->key }}</code>
<i class="ph ph-key"></i> <code>{{ $api_key->key }}</code>
</p>
</div>

View file

@ -2,9 +2,9 @@
@section('content')
<header>
<h1><i class="ph">key</i> {{ __('API Keys') }}</h1>
<h1><i class="ph ph-key"></i> {{ __('API Keys') }}</h1>
<a href="{{ route('admin.api_keys.create') }}" class="btn oppose">
<i class="ph">plus</i>
<i class="ph ph-plus"></i>
{{ __('Create') }}
</a>
</header>
@ -39,7 +39,7 @@
<small>{{ __('Activity expiration delay') }}: {{ $api_key->expires_after_last_used_minutes ? $api_key->expires_after_last_used_minutes . ' min' : __('Never')}} | {{ __('Last used') }}: {{ $api_key->last_used_at ?? __('Never') }}</small>
</td>
<td>{{ $api_key->created_at }}
<a class="btn secondary small oppose" href="{{ route('admin.api_keys.delete', $api_key->key) }}"><i class="ph">trash</i></a>
<a class="btn secondary small oppose" href="{{ route('admin.api_keys.delete', $api_key->key) }}"><i class="ph ph-trash</i>"></a>
<small>
<a href="{{ route('admin.account.show', $api_key->account->id) }}">
{{ __('By') }}: {{ $api_key->account->identifier }}

View file

@ -12,7 +12,7 @@
@section('content')
<header>
<h1><i class="ph">user-rectangle</i> {{ $contacts_list->title }}</h1>
<h1><i class="ph ph-user-rectangle"></i> {{ $contacts_list->title }}</h1>
<a href="{{ route('admin.contacts_lists.edit', $contacts_list->id) }}" class="btn secondary oppose">{{ __('Cancel') }}</a>
@ -44,7 +44,7 @@
<div class="oppose">
<a class="btn"
onclick="Utils.clearStorageList('a{{ $contacts_list->id }}'); document.querySelector('form[name=contacts_lists_contacts_store]').submit()">
<i class="ph">plus</i>
<i class="ph ph-plus"></i>
Add <span class="list_toggle" data-list-id="a{{ $contacts_list->id }}"></span> contacts
</a>
</div>

View file

@ -10,14 +10,14 @@
@section('content')
<header>
@if ($contacts_list->id)
<h1><i class="ph">user-rectangle</i> {{ $contacts_list->title }}</h1>
<h1><i class="ph ph-user-rectangle"></i> {{ $contacts_list->title }}</h1>
<a class="btn secondary oppose" href="{{ route('admin.contacts_lists.delete', $contacts_list->id) }}">
<i class="ph">trash</i>
<i class="ph ph-trash"></i>
{{ __('Delete') }}
</a>
<input form="create_edit_contacts_list" class="btn" type="submit" value="{{ __('Update') }}">
@else
<h1><i class="ph">user-rectangle</i> {{ __('Create') }}</h1>
<h1><i class="ph ph-user-rectangle"></i> {{ __('Create') }}</h1>
<input form="create_edit_contacts_list" class="btn oppose" type="submit" value="{{ __('Create') }}">
@endif
</header>
@ -49,7 +49,7 @@
<hr>
<a class="btn secondary oppose" href="{{ route('admin.contacts_lists.contacts.add', $contacts_list->id) }}">
<i class="ph">plus</i> {{ __('Add contacts') }}
<i class="ph ph-plus"></i> {{ __('Add contacts') }}
</a>
<form method="POST"
@ -81,7 +81,7 @@
<div>
<a class="btn tertiary oppose"
onclick="Utils.clearStorageList('d{{ $contacts_list->id }}'); document.querySelector('form[name=contacts_lists_contacts_destroy]').submit()">
<i class="ph">trash</i>
<i class="ph ph-trash"></i>
{{ __('Remove') }} <span class="list_toggle" data-list-id="d{{ $contacts_list->id }}"></span>
</a>
</div>

View file

@ -9,7 +9,7 @@
@section('content')
<header>
<h1><i class="ph">trash</i> {{ __('Delete') }}</h1>
<h1><i class="ph ph-trash"></i> {{ __('Delete') }}</h1>
<a href="{{ route('admin.contacts_lists.edit', $contacts_list->id) }}" class="btn secondary oppose">{{ __('Cancel') }}</a>
<input form="delete" class="btn" type="submit" value="{{ __('Delete') }}">
</header>

View file

@ -3,9 +3,9 @@
@section('content')
<header>
<h1><i class="ph">user-rectangle</i> {{ __('Contacts Lists') }}</h1>
<h1><i class="ph ph-user-rectangle"></i> {{ __('Contacts Lists') }}</h1>
<a class="btn oppose" href="{{ route('admin.contacts_lists.create') }}">
<i class="ph">plus</i>
<i class="ph ph-plus"></i>
{{ __('Create') }}
</a>
</header>

View file

@ -3,12 +3,12 @@
@section('content')
<header>
<h1><i class="ph">flag</i> {{ __('Phone Countries') }}</h1>
<h1><i class="ph ph-flag"></i> {{ __('Phone Countries') }}</h1>
<a class="btn secondary oppose" href="{{ route('admin.phone_countries.activate_all') }}">
<i class="ph">eye</i> {{ __('Activate All') }}
<i class="ph ph-eye"></i> {{ __('Activate All') }}
</a>
<a class="btn secondary" href="{{ route('admin.phone_countries.deactivate_all') }}">
<i class="ph">eye-closed</i> {{ __('Deactivate All') }}
<i class="ph ph-eye-closed"></i> {{ __('Deactivate All') }}
</a>
</header>
@ -38,11 +38,11 @@
<td>
@if ($phone_country->activated)
<a class="btn secondary small" href="{{ route('admin.phone_countries.deactivate', $phone_country->code) }}">
<i class="ph">eye-closed</i>
<i class="ph ph-eye-closed"></i>
</a>
@else
<a class="btn secondary small" href="{{ route('admin.phone_countries.activate', $phone_country->code) }}">
<i class="ph">eye</i>
<i class="ph ph-eye"></i>
</a>
@endif
</td>

View file

@ -14,7 +14,7 @@
@section('content')
<header>
<h1><i class="ph">globe-hemisphere-west</i> {{ $space->name }}</h1>
<h1><i class="ph ph-globe-hemisphere-west"></i> {{ $space->name }}</h1>
</header>
@include('admin.space.tabs')

View file

@ -22,7 +22,7 @@
@section('content')
<header>
<h1><i class="ph">globe-hemisphere-west</i> {{ $space->name }}</h1>
<h1><i class="ph ph-globe-hemisphere-west"></i> {{ $space->name }}</h1>
</header>
@include('admin.space.tabs')

View file

@ -9,7 +9,7 @@
@section('content')
<header>
<h1><i class="ph">user-rectangle</i> {{ __('Create') }}</h1>
<h1><i class="ph ph-user-rectangle"></i> {{ __('Create') }}</h1>
<a href="{{ route('admin.spaces.index') }}" class="btn secondary oppose">{{ __('Cancel') }}</a>
</header>

View file

@ -9,7 +9,7 @@
@section('content')
<header>
<h1><i class="ph">trash</i> {{ __('Delete') }}</h1>
<h1><i class="ph ph-trash"></i> {{ __('Delete') }}</h1>
<a href="{{ route('admin.spaces.edit', $space->id) }}" class="btn secondary oppose">{{ __('Cancel') }}</a>
</header>
<form id="delete" method="POST" action="{{ route('admin.spaces.destroy', $space) }}" accept-charset="UTF-8">

View file

@ -14,7 +14,7 @@
@section('content')
<header>
<h1><i class="ph">globe-hemisphere-west</i> {{ $space->name }}</h1>
<h1><i class="ph ph-globe-hemisphere-west"></i> {{ $space->name }}</h1>
</header>
@include('admin.space.tabs')

View file

@ -17,7 +17,7 @@
@section('content')
<header>
<h1><i class="ph">trash</i> {{ __('Delete') }}</h1>
<h1><i class="ph ph-trash"></i> {{ __('Delete') }}</h1>
<a href="{{ route('admin.spaces.integration', ['space' => $space]) }}" class="btn secondary oppose">{{ __('Cancel') }}</a>
<input form="delete" class="btn" type="submit" value="{{ __('Delete') }}">
@ -28,7 +28,7 @@
<div class="large">
<p>{{ __('You are going to permanently delete the following element. Please confirm your action.') }}<br />
<b><i class="ph">envelope</i> {{ $space->emailServer->host }}</b>
<b><i class="ph ph-envelope"></i> {{ $space->emailServer->host }}</b>
</p>
<input name="account_id" type="hidden" value="{{ $space->id }}">
</div>

View file

@ -17,7 +17,7 @@
@section('content')
<header>
<h1><i class="ph">envelope</i> {{ $space->name }}</h1>
<h1><i class="ph ph-envelope"></i> {{ $space->name }}</h1>
</header>

View file

@ -3,9 +3,9 @@
@section('content')
<header>
<h1><i class="ph">globe-hemisphere-west</i> {{ __('Spaces') }}</h1>
<h1><i class="ph ph-globe-hemisphere-west"></i> {{ __('Spaces') }}</h1>
<a class="btn oppose" href="{{ route('admin.spaces.create') }}">
<i class="ph">plus</i>
<i class="ph ph-plus"></i>
{{ __('New Space') }}
</a>
</header>
@ -29,7 +29,7 @@
</td>
<td>{{ $space->domain }}
<small>
{{ $space->accounts_count }} / @if ($space->max_accounts > 0){{ $space->max_accounts }} @else <i class="ph">infinity</i>@endif<i class="ph">user</i>
{{ $space->accounts_count }} / @if ($space->max_accounts > 0){{ $space->max_accounts }} @else <i class="ph ph-infinity</i>@endif"><i class="ph ph-user"></i>
</small>
</td>
<td>
@ -38,7 +38,7 @@
@elseif ($space->expire_at)
{{ __('In :days days', ['days' => $space->daysLeft]) }}
@else
<i class="ph">infinity</i>
<i class="ph ph-infinity"></i>
@endif
@if ($space->expire_at)

View file

@ -14,14 +14,14 @@
@section('content')
<header>
<h1><i class="ph">globe-hemisphere-west</i> {{ $space->name }}</h1>
<h1><i class="ph ph-globe-hemisphere-west"></i> {{ $space->name }}</h1>
</header>
@include('admin.space.tabs')
<div class="grid third">
<div class="card">
<span class="icon"><i class="ph">envelope</i></span>
<span class="icon"><i class="ph ph-envelope</i>"></span>
<h3>{{ __('Email Server') }}</h3>
<p>
@if ($space->emailServer)

View file

@ -12,15 +12,15 @@
@section('content')
<header>
<h1><i class="ph">globe-hemisphere-west</i> {{ $space->name }}</h1>
<h1><i class="ph ph-globe-hemisphere-west"></i> {{ $space->name }}</h1>
<a class="btn secondary oppose" @if ($space->isFull())disabled @endif href="{{ route('admin.account.create', ['domain' => $space->domain]) }}">
<i class="ph">user-plus</i> {{ __('Create') }}
<i class="ph ph-user-plus"></i> {{ __('Create') }}
</a>
@if (auth()->user()->superAdmin)
<a class="btn tertiary" href="{{ route('admin.spaces.delete', $space->id) }}">
<i class="ph">trash</i>
<i class="ph ph-trash"></i>
{{ __('Delete') }}
</a>
@endif
@ -30,12 +30,12 @@
<div class="grid third ">
<div class="card">
<span class="icon"><i class="ph">users</i></span>
<span class="icon"><i class="ph ph-users</i>"></span>
<h3>{{ __('Users') }}</h3>
<p>
{{ $space->accounts()->count() }}
/
@if ($space->max_accounts > 0){{ $space->max_accounts }} @else <i class="ph">infinity</i>@endif
@if ($space->max_accounts > 0){{ $space->max_accounts }} @else <i class="ph ph-infinity"></i>@endif
</p>
@if ($space->max_accounts > 0)
<progress max="100" value="{{ $space->accountsPercentage }}"
@ -43,7 +43,7 @@
@endif
</div>
<div class="card">
<span class="icon"><i class="ph">clock</i></span>
<span class="icon"><i class="ph ph-clock</i>"></span>
<h3>{{ __('Expiration') }}</h3>
@if ($space->isExpired())
<p>Expired</p>
@ -55,7 +55,7 @@
</div>
</div>
<a class="btn secondary oppose small" @if ($space->isFull())disabled @endif href="{{ route('admin.account.create', ['admin' => true, 'domain' => $space->domain]) }}"><i class="ph">user-plus</i> {{ __('New Admin') }}</a>
<a class="btn secondary oppose small" @if ($space->isFull())disabled @endif href="{{ route('admin.account.create', ['admin' => true, 'domain' => $space->domain]) }}"><i class="ph ph-user-plus"></i> {{ __('New Admin') }}</a>
<h2>{{ __('Admins') }}</h2>

View file

@ -47,7 +47,7 @@
<a class="btn secondary" href="{{ route('admin.statistics.show') }}">{{ __('Reset') }}</a>
<a class="btn tertiary"
href="{{ route('admin.statistics.show', ['by' => $request->get('by', 'day'), 'type' => $type, 'export' => true] + $request->only(['from', 'to', 'domain'])) }}">
<i class="ph">download-simple</i> {{ __('Export') }}
<i class="ph ph-download-simple"></i> {{ __('Export') }}
</a>
</div>
</form>

View file

@ -2,7 +2,7 @@
@section('content')
<header>
<h1><i class="ph">chart-donut</i> {{ __('Statistics') }}</h1>
<h1><i class="ph ph-chart-donut"></i> {{ __('Statistics') }}</h1>
</header>
@include('admin.statistics.parts.tabs')

View file

@ -2,7 +2,7 @@
@section('content')
<header>
<h1><i class="ph">chart-donut</i> {{ __('Statistics') }}</h1>
<h1><i class="ph ph-chart-donut"></i> {{ __('Statistics') }}</h1>
</header>
@include('admin.statistics.parts.tabs')

View file

@ -2,7 +2,7 @@
@section('content')
<h2><i class="ph">globe-hemisphere-west</i> {{ __('Expired Space') }}</h2>
<h2><i class="ph ph-globe-hemisphere-west"></i> {{ __('Expired Space') }}</h2>
<p class="text-center">
{{ __('Your space has expired. Access to your interface is now disabled, and your users can no longer benefit from the service. To reactivate your space, please contact your account manager.') }}

View file

@ -36,7 +36,7 @@
@if (auth()->user())
<a class="oppose" href="{{ route('account.dashboard') }}">
<i class="ph">user</i>
<i class="ph ph-user"></i>
<span class="on_desktop">{{ auth()->user()->identifier }}</span>
@if (auth()->user()->superAdmin)
@ -48,12 +48,12 @@
@endif
<a class="oppose" href="{{ route('about') }}">
<i class="ph">info</i><span class="on_desktop">{{ __('About') }}</span>
<i class="ph ph-info</i>"><span class="on_desktop">{{ __('About') }}</span>
</a>
@if (auth()->user())
<a class="oppose" href="{{ route('account.logout') }}">
<i class="ph">sign-out</i>
<i class="ph ph-sign-out"></i>
</a>
@endif
</nav>

View file

@ -3,7 +3,7 @@
<tr>
<th>{{ __('From') }}</th>
<th>{{ __('To') }}</th>
<th><i class="ph">clock</i></th>
<th><i class="ph ph-clock</i>"></th>
</tr>
</thead>
<tbody>

View file

@ -1,7 +1,7 @@
<p class="text-center pt-3">
<i class="ph">envelope</i><a href="{{ route('account.recovery.show.email') }}">{{ __('Recover your account using your email') }}</a><br />
<i class="ph ph-envelope</i>"><a href="{{ route('account.recovery.show.email') }}">{{ __('Recover your account using your email') }}</a><br />
@if (space()->phone_registration)
<i class="ph">phone</i>{{ __('Use the mobile app to recover your account using your phone number') }}<br />
<i class="ph ph-phone"></i>{{ __('Use the mobile app to recover your account using your phone number') }}<br />
@endif
<i class="ph">qr-code</i><a href="{{ route('account.authenticate.auth_token') }}">{{ __('Login using a QRCode') }}</a>
<i class="ph ph-qr-code</i>"><a href="{{ route('account.authenticate.auth_token') }}">{{ __('Login using a QRCode') }}</a>
</p>

View file

@ -3,9 +3,9 @@
<label for="terms"></label>
<div>
<p>
<i class="ph">file-text</i><a href="{{ config('app.terms_of_use_url') }}">{{ __('I accept the Terms and Conditions') }}</a>
<i class="ph ph-file-text</i>"><a href="{{ config('app.terms_of_use_url') }}">{{ __('I accept the Terms and Conditions') }}</a>
@if (config('app.privacy_policy_url', null) != null)
<br /><i class="ph">file-lock</i><a href="{{ config('app.privacy_policy_url') }}">{{ __('I accept the Privacy policy') }}</a>
<br /><i class="ph ph-file-lock</i>"><a href="{{ config('app.privacy_policy_url') }}">{{ __('I accept the Privacy policy') }}</a>
@endif
</p>
@include('parts.errors', ['name' => 'terms'])