index.blade.php 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. @extends('backend.layouts.app')
  2. @section('content')
  3. <div class="row">
  4. <div class="col-lg-6">
  5. <div class="card">
  6. <div class="card-header">
  7. <h5 class="mb-0 h6">{{ translate('Default Language') }}</h5>
  8. </div>
  9. <div class="card-body">
  10. <form class="form-horizontal" action="{{ route('env_key_update.update') }}" method="POST">
  11. @csrf
  12. <div class="form-group row">
  13. <div class="col-lg-3">
  14. <label class="col-from-label">{{ translate('Default Language') }}</label>
  15. </div>
  16. <input type="hidden" name="types[]" value="DEFAULT_LANGUAGE">
  17. <div class="col-lg-6">
  18. <select class="form-control aiz-selectpicker" name="DEFAULT_LANGUAGE" data-selected="{{ env('DEFAULT_LANGUAGE') }}">
  19. @foreach (\App\Models\Language::where('status', 1)->get() as $key => $language)
  20. <option value="{{ $language->code }}" @if(env('DEFAULT_LANGUAGE') == $language->code) selected @endif>
  21. {{ $language->name }}
  22. </option>
  23. @endforeach
  24. </select>
  25. </div>
  26. <div class="col-lg-3">
  27. <button type="submit" class="btn btn-info">{{translate('Save')}}</button>
  28. </div>
  29. </div>
  30. </form>
  31. </div>
  32. </div>
  33. </div>
  34. <div class="col-lg-6">
  35. <div class="card">
  36. <div class="card-header">
  37. <h5 class="mb-0 h6">{{ translate('Import App Translations') }}</h5>
  38. </div>
  39. <div class="card-body">
  40. <form class="form-horizontal" action="{{ route('app-translations.import') }}" method="POST" enctype="multipart/form-data">
  41. @csrf
  42. <div class="form-group row">
  43. <div class="col-lg-3">
  44. <label class="col-from-label">{{ translate('English Trasnlation File') }}</label>
  45. </div>
  46. <div class="col-lg-6">
  47. <div class="custom-file">
  48. <label class="custom-file-label">
  49. <input type="file" id="lang_file" name="lang_file" class="custom-file-input" required>
  50. <span class="custom-file-name">{{ translate('Choose app_en.arb file') }}</span>
  51. </label>
  52. </div>
  53. </div>
  54. <div class="col-lg-3">
  55. <button type="submit" class="btn btn-info">{{translate('Import')}}</button>
  56. </div>
  57. </div>
  58. </form>
  59. </div>
  60. </div>
  61. </div>
  62. </div>
  63. <div class="aiz-titlebar text-left mt-2 mb-3">
  64. <div class="align-items-center">
  65. <div class="text-md-left">
  66. <a href="{{ route('languages.create') }}" class="btn btn-circle btn-info">
  67. <span>{{translate('Add New Language')}}</span>
  68. </a>
  69. </div>
  70. </div>
  71. </div>
  72. <div class="card">
  73. <div class="card-header">
  74. <h5 class="mb-0 h6">{{translate('Language')}}</h5>
  75. </div>
  76. <div class="card-body">
  77. <table class="table aiz-table mb-0">
  78. <thead>
  79. <tr>
  80. <th data-breakpoints="lg">#</th>
  81. <th>{{translate('Name')}}</th>
  82. <th data-breakpoints="lg">{{translate('Code')}}</th>
  83. <th data-breakpoints="lg">{{translate('Flutter App Lang Code')}}</th>
  84. <th data-breakpoints="lg">{{translate('RTL')}}</th>
  85. <th>{{translate('Status')}}</th>
  86. <th class="text-right" width="15%">{{translate('Options')}}</th>
  87. </tr>
  88. </thead>
  89. <tbody>
  90. @php
  91. $i = 1;
  92. @endphp
  93. @foreach ($languages as $key => $language)
  94. <tr>
  95. <td>{{ ($key+1) + ($languages->currentPage() - 1)*$languages->perPage() }}</td>
  96. <td>{{ $language->name }}</td>
  97. <td>{{ $language->code }}</td>
  98. <td>{{ $language->app_lang_code }}</td>
  99. <td><label class="aiz-switch aiz-switch-success mb-0">
  100. <input onchange="update_rtl_status(this)" value="{{ $language->id }}" type="checkbox" @if($language->rtl == 1) checked @endif>
  101. <span class="slider round"></span></label>
  102. </td>
  103. <td><label class="aiz-switch aiz-switch-success mb-0">
  104. <input onchange="update_status(this)" value="{{ $language->id }}" type="checkbox" @if($language->status == 1) checked @endif>
  105. <span class="slider round"></span></label>
  106. </td>
  107. <td class="text-right">
  108. <a class="btn btn-soft-info btn-icon btn-circle btn-sm" href="{{route('languages.show', $language->id)}}" title="{{ translate('Translation') }}">
  109. <i class="las la-language"></i>
  110. </a>
  111. <a class="btn btn-soft-warning btn-icon btn-circle btn-sm" href="{{route('app-translations.show', $language->id)}}" title="{{ translate('App Translation') }}">
  112. <i class="las la-language"></i>
  113. </a>
  114. <a class="btn btn-soft-success btn-icon btn-circle btn-sm" href="{{route('app-translations.export', $language->id)}}" title="{{ translate('arb File Export') }}" download>
  115. <i class="las la-download"></i>
  116. </a>
  117. <a class="btn btn-soft-primary btn-icon btn-circle btn-sm" href="{{route('languages.edit', $language->id)}}" title="{{ translate('Edit') }}">
  118. <i class="las la-edit"></i>
  119. </a>
  120. @if($language->code != 'en')
  121. <a href="#" class="btn btn-soft-danger btn-icon btn-circle btn-sm confirm-delete" data-href="{{route('languages.destroy', $language->id)}}" title="{{ translate('Delete') }}">
  122. <i class="las la-trash"></i>
  123. </a>
  124. @endif
  125. </td>
  126. </tr>
  127. @php
  128. $i++;
  129. @endphp
  130. @endforeach
  131. </tbody>
  132. </table>
  133. <div class="aiz-pagination">
  134. {{ $languages->appends(request()->input())->links() }}
  135. </div>
  136. </div>
  137. </div>
  138. @endsection
  139. @section('modal')
  140. @include('modals.delete_modal')
  141. @endsection
  142. @section('script')
  143. <script type="text/javascript">
  144. function update_rtl_status(el){
  145. if(el.checked){
  146. var status = 1;
  147. }
  148. else{
  149. var status = 0;
  150. }
  151. $.post('{{ route('languages.update_rtl_status') }}', {_token:'{{ csrf_token() }}', id:el.value, status:status}, function(data){
  152. if(data == 1){
  153. location.reload();
  154. }
  155. else{
  156. AIZ.plugins.notify('danger', '{{ translate('Something went wrong') }}');
  157. }
  158. });
  159. }
  160. function update_status(el){
  161. if(el.checked){
  162. var status = 1;
  163. }
  164. else{
  165. var status = 0;
  166. }
  167. $.post('{{ route('languages.update-status') }}', {
  168. _token : '{{ csrf_token() }}',
  169. id : el.value,
  170. status : status
  171. }, function(data) {
  172. if(data == 1) {
  173. location.reload();
  174. }
  175. else {
  176. AIZ.plugins.notify('danger', '{{ translate('Something went wrong') }}');
  177. }
  178. });
  179. }
  180. </script>
  181. @endsection