diff --git a/app/Livewire/Discussions/Subscribe.php b/app/Livewire/Discussions/Subscribe.php deleted file mode 100644 index b1b51ed2..00000000 --- a/app/Livewire/Discussions/Subscribe.php +++ /dev/null @@ -1,68 +0,0 @@ - '$refresh']; - - public function subscribe(): void - { - $this->authorize('subscribe', $this->discussion); - - $subscribe = new SubscribeModel; - $subscribe->uuid = Uuid::uuid4()->toString(); - $subscribe->user()->associate(Auth::user()); - $this->discussion->subscribes()->save($subscribe); - - Notification::make() - ->title(__('Abonnement')) - ->body(__('Vous êtes maintenant abonné à cette discussion.')) - ->success() - ->duration(5000) - ->send(); - - $this->dispatch('refresh')->self(); - } - - public function unsubscribe(): void - { - $this->authorize('unsubscribe', $this->discussion); - - $this->discussion->subscribes() - ->where('user_id', Auth::id()) - ->delete(); - - Notification::make() - ->title(__('Désabonnement')) - ->body(__('Vous êtes maintenant désabonné à cette discussion.')) - ->success() - ->duration(5000) - ->send(); - - $this->dispatch('refresh')->self(); - } - - public function render(): View - { - return view('livewire.discussions.subscribe'); - } -} diff --git a/app/Livewire/Editor.php b/app/Livewire/Editor.php deleted file mode 100644 index f2bbdf79..00000000 --- a/app/Livewire/Editor.php +++ /dev/null @@ -1,46 +0,0 @@ -body ?: ''))); - } - - public function preview(): void - { - $this->dispatch('previewRequested'); - } - - public function updatedBody(): void - { - $this->dispatch('editor:update', body: $this->body); - } - - public function render(): View - { - return view('livewire.editor'); - } -} diff --git a/app/Livewire/MarkdownX.php b/app/Livewire/MarkdownX.php deleted file mode 100644 index c0e7008d..00000000 --- a/app/Livewire/MarkdownX.php +++ /dev/null @@ -1,291 +0,0 @@ - uploads image files from the editor - * - * @var string[] - */ - protected $listeners = [ - 'markdown-x-image-upload' => 'upload', - 'markdown-x-giphy-load' => 'getGiphyTrendingImages', - 'markdown-x-giphy-search' => 'getGiphySearchImages', - 'markdown-x-people-load' => 'getTrendingPeoples', - 'markdown-x-people-search' => 'getSearchPeoples', - ]; - - /** - * Mount the MarkdownX component, you can pass the current content, the name for the textarea field, - * and a generic Key. This key can be specified so that way you can include multiple MarkdownX - * editors in a single page. - */ - public function mount(string $content = '', string $name = '', string $key = ''): void - { - $this->content = $content; - $this->name = $name; - $this->key = $key; - $this->updateContentPreview(); - } - - /** - * Anytime the editor is blurred, this function will be triggered and it will updated the $content, - * this will also emit an event to the parent component with the updated content. - * - * @param string[] $data - */ - public function update(array $data): void - { - $content = $data['content']; - $this->content = $content; - } - - /* - * When the content changes this function will fire an event with the updatedPmark - * content is being emitted to the parent component. - * - */ - public function updatedContent(): void - { - $this->dispatch('markdown-x:update', body: $this->content); - } - - /* - * This function will update the Content Preview when user clicks on the Preview tab in the - * Markdown editor toolbar. - * - * Note: This function can be overwritten with your customer Markdown parser. This is the - * only function that will/can be changed when you upgrade to the latest version of the - * MarkdownX editor. - * - */ - public function updateContentPreview(): void - { - $this->contentPreview = replace_links(MarkdownHelper::parseLiquidTags((string) Markdown::convertToHtml($this->content))); - } - - /** - * This function is called from the markdown-x view when the image file input has changed - * The following data is sent with the payload: - * { - * image: reader.result, - * name: file.name, - * key: key, - * text: "![" + file.name + "](Uploading...)" - * } - * - * @param array $payload - */ - public function upload(array $payload): void - { - $payload = (object) $payload; - - $path = 'images/'.mb_strtolower(date('FY')).'/'; - $fullPath = ''; - - try { - $original_filename = pathinfo($payload->name, PATHINFO_FILENAME); - $filename = $original_filename; - $extension = explode('/', mime_content_type($payload->image))[1]; // @phpstan-ignore-line - $filename_counter = 1; - - // Make sure the filename does not exist, if it does make sure to add a number to the end 1, 2, 3, etc... - while (Storage::disk(config('markdownx.storage.disk'))->exists($path.$filename.'.'.$extension)) { - $filename = Str::slug($original_filename).(string) ($filename_counter++); - } - - $fullPath = $path.$filename.'.'.$extension; - - // Get the Base64 string to store - @[$type, $file_data] = explode(';', $payload->image); - @[, $file_data] = explode(',', $file_data); - $type = explode('/', $type)[1]; - - if (! in_array($type, config('markdownx.image.allowed_file_types'))) { - $this->dispatch('markdown-x-image-uploaded', [ - 'status' => 400, - 'message' => 'File type not supported. Must be of type '.implode(', ', config('markdownx.image.allowed_file_types')), - 'key' => $payload->key, - 'text' => $payload->text, - ]); - - return; - } - - Storage::disk(config('markdownx.storage.disk'))->put($fullPath, base64_decode($file_data), 'public'); - - $this->dispatch('markdown-x-image-uploaded', [ - 'status' => 200, - 'message' => __('Successfully uploaded image.'), - 'path' => str_replace(' ', '%20', Storage::url($fullPath)), - 'key' => $payload->key, - 'text' => $payload->text, - 'name' => $payload->name, - ]); - } catch (Exception $e) { - $this->dispatch('markdown-x-image-uploaded', [ - 'status' => 400, - 'message' => __('Error when trying to upload.'), - 'key' => $payload->key, - 'text' => $payload->text, - ]); - } - } - - public function getGiphyImages(): void - { - $api_key = config('markdownx.integrations.giphy.api_key'); - - $response = Http::get('https://api.giphy.com/v1/gifs/trending', [ - 'api_key' => $api_key, - 'limit' => 30, - 'rating' => 'pg', - ]); - - if ($response->ok()) { - $this->sendResultsToView($response); - } - } - - /** - * @param array $payload - */ - public function getGiphyTrendingImages(array $payload): void - { - $api_key = config('markdownx.integrations.giphy.api_key'); - - $response = Http::get('https://api.giphy.com/v1/gifs/trending', [ - 'api_key' => $api_key, - 'limit' => 30, - 'rating' => 'pg', - ]); - - if ($response->ok()) { - $this->sendResultsToView($response, $payload['key']); - } - } - - /** - * @param array $payload - */ - public function getGiphySearchImages(array $payload): void - { - $api_key = config('markdownx.integrations.giphy.api_key'); - - $response = Http::get('api.giphy.com/v1/gifs/search', [ - 'api_key' => $api_key, - 'q' => $payload['search'], - 'limit' => 30, - 'rating' => 'pg', - ]); - - if ($response->ok()) { - $this->sendResultsToView($response, $payload['key']); - } - } - - public function sendResultsToView(mixed $response, ?string $key = null): void - { - $parse_giphy_results = []; - foreach ($response->json()['data'] as $result) { - $parse_giphy_results[] = [ - 'image' => $result['images']['fixed_height_small']['url'], - 'embed' => $result['embed_url'], - ]; - } - - $this->dispatch('markdown-x-giphy-results', [ - 'status' => 200, - 'message' => __('Successfully returned results.'), - 'results' => $parse_giphy_results, - 'key' => $key, - ]); - } - - /** - * @param array $payload - */ - public function getTrendingPeoples(array $payload): void - { - $users = User::orderBy('name') - ->limit(30) - ->get() - ->map( - function (User $user) { - $people['name'] = $user->name; - $people['picture'] = $user->profile_photo_url; - $people['username'] = $user->username; - - return $people; - } - ); - - $this->dispatch('markdown-x-peoples-results', [ - 'status' => 200, - 'message' => __('Successfully returned results.'), - 'results' => $users->toArray(), - 'key' => $payload['key'], - ]); - } - - /** - * @param array $payload - */ - public function getSearchPeoples(array $payload): void - { - $users = User::where('name', 'like', '%'.$payload['search'].'%') - ->orWhere('username', 'like', '%'.$payload['search'].'%') - ->orderBy('name') - ->limit(30) - ->get() - ->map(function (User $user) { - $people['name'] = $user->name; - $people['picture'] = $user->profile_photo_url; - $people['username'] = $user->username; - - return $people; - }); - - $this->dispatch('markdown-x-peoples-results', [ - 'status' => 200, - 'message' => __('Successfully returned results.'), - 'results' => $users->toArray(), - 'key' => $payload['key'], - ]); - } - - public function render(): View - { - return view('livewire.markdown-x'); - } -} diff --git a/lang/en/pages/about.php b/lang/en/pages/about.php new file mode 100644 index 00000000..8342b6c9 --- /dev/null +++ b/lang/en/pages/about.php @@ -0,0 +1,58 @@ + 'About us', + 'description' => 'We build an Open Source community of learners and teachers', + 'second_description_part_one' => 'Everyone teaches, everyone learns', + 'second_description_part_two' => '. That\'s the spirit behind the community. A community that aims to grow and + gives everyone the chance to share their knowledge and learn.', + + 'stats' => [ + 'member_discord' => 'Members on Discord', + 'member_telegram' => 'Members on Telegram', + 'member_whatsapp' => 'Members on WhatsApp', + ], + 'history' => 'Our history', + 'history_part_one' => 'We\'re just getting started', + 'first_description' => 'Launched in June 2018, Laravel CM quickly began to grow and kick off its activities + activities with a first Meetup for its overall presentation and objectives. This Meetup + registered over 100 participants', + 'second_description' => 'During this event, we recorded the participation of companies such as + such as:', + 'list' => [ + 'one' => [ + 'title' => 'incubator', + 'description' => 'who hosted the meetup.', + ], + 'two' => [ + 'title' => 'company', + 'description' => ' one of our sponsors.', + ], + 'three' => [ + 'title' => ' The StartUp', + 'description' => ' who has been a sponsor and supported us in our communications.', + ], + 'four' => [ + 'title' => ' The StartUp', + 'description' => 'who supported us in setting up our communication materials.', + ], + 'five' => [ + 'title' => 'The company', + 'description' => ' sponsor of the Meetup.', + ], + 'paragraph_one' => 'Laravel Cameroun is a community of developers and designers who come together to + help each other. The software industry relies on collaboration and networked + learning. We\'ve set ourselves the goal of bringing together as many + developers and designers in Cameroon and French-speaking Africa to organize + events and Meetups throughout Cameroon and French-speaking Africa.', + + ], + 'our_team' => [ + 'title' => 'Meet the Team', + 'description' => 'Laravel Cameroun is a Meetup idea that was initiated and then transformed into a community of developers.', + ], + +]; diff --git a/lang/fr/pages/about.php b/lang/fr/pages/about.php new file mode 100644 index 00000000..b6fe4878 --- /dev/null +++ b/lang/fr/pages/about.php @@ -0,0 +1,58 @@ + ' À propos', + 'description' => 'Nous construisons une communauté Open Source d\'apprenants et d\'enseignants', + 'second_description_part_one' => 'Tout le monde enseigne, tout le monde apprend', + 'second_description_part_two' => '. Tel est l\'esprit qui est derrière la communauté. Une communauté qui se veut grandissante et qui + donne la possibilité à tout le monde de partager ses connaissances et d\'apprendre.', + + 'stats' => [ + 'member_discord' => 'Membres sur Discord', + 'member_telegram' => 'Membres sur Telegram', + 'member_whatsapp' => 'Membres sur WhatsApp', + ], + 'history' => ' Notre histoire', + 'history_part_one' => 'Nous commençons tout juste', + 'first_description' => 'Lancé en Juin 2018, Laravel CM a rapidement commencé à se développer et à démarrer ses + activités par un premier Meetup pour sa présentation globale et ses objectifs. Ce Meetup a + enregistré plus de 100 participants', + 'second_description' => 'Durant cet événement, nous avons notamment enregistré la participation des entreprises + telles que:', + 'list' => [ + 'one' => [ + 'title' => 'incubateur', + 'description' => 'qui a hébergé le meetup.', + ], + 'two' => [ + 'title' => 'entreprise', + 'description' => ' qui a été l\'un de nos sponsors.', + ], + 'three' => [ + 'title' => ' La StartUp', + 'description' => ' qui a été un sponsor et nous a soutenu dans la communication.', + ], + 'four' => [ + 'title' => ' La StartUp', + 'description' => 'qui nous a apporté son soutien dans la mise en place des supports de communication.', + ], + 'five' => [ + 'title' => ' L\'entreprise', + 'description' => ' sponsor du Meetup.', + ], + 'paragraph_one' => 'Laravel Cameroun est une communauté de développeurs et de designers qui se réunissent pour + s\'entraider. L\'industrie du logiciel reposant sur la collaboration et l\'apprentissage en + réseau. Nous nous sommes donnés comme objectif de pouvoir rassembler le maximum de + développeurs et designers évoluant au Cameroun et dans l\'Afrique Francophone pour organiser + des grands événements et Meetup partout dans le Cameroun et en Afrique Francophone.', + + ], + 'our_team' => [ + 'title' => 'Voir l\'équipe', + 'description' => ' Laravel Cameroun est une idée de Meetup qui a été initiée puis transformée en une communauté de développeurs', + ], + +]; diff --git a/resources/views/about.blade.php b/resources/views/about.blade.php deleted file mode 100644 index dfaeaac3..00000000 --- a/resources/views/about.blade.php +++ /dev/null @@ -1,306 +0,0 @@ - - -
-
-

- - À propos - - - Nous construisons une communauté Open Source d'apprenants et d'enseignants - -

-
-
-

- - " - Tout le monde enseigne, tout le monde apprend - " - - . Tel est l'esprit qui est derrière la communauté. Une communauté qui se veut grandissante et qui - donne la possibilité à tout le monde de partager ses connaissances et d'apprendre. -

-
-
- -
-
-
-
Membres sur Slack
-
+300
-
-
-
Membres sur Telegram
-
+700
-
-
-
Membres sur WhatsApp
-
+350
-
-
-
- -
-

- - Notre histoire - - - Nous commençons tout juste - -

- -
-
-
-

- Lancé en Juin 2018, Laravel CM a rapidement commencé à se développer et à démarrer ses - activités par un premier Meetup pour sa présentation globale et ses objectifs. Ce Meetup a - enregistré plus de 100 participants. -

-

- Durant cet événement, nous avons notamment enregistré la participation des entreprises - telles que: -

-
    -
  • - L'incubateur - ActivSpaces - qui a hébergé le meetup. -
  • -
  • - L'entreprise - Kerawa Cameroun - qui a été l'un de nos sponsors. -
  • -
  • - La StartUp - John's Corporation - qui a été un sponsor et nous a soutenu dans la communication. -
  • -
  • - La StartUp - Dark Code - qui nous a apporté son soutien dans la mise en place des supports de communication. -
  • -
  • - L'entreprise - Diool - sponsor du Meetup. -
  • -
-

- Laravel Cameroun est une communauté de développeurs et de designers qui se réunissent pour - s'entraider. L'industrie du logiciel reposant sur la collaboration et l'apprentissage en - réseau. Nous nous sommes donnés comme objectif de pouvoir rassembler le maximum de - développeurs et designers évoluant au Cameroun et dans l'Afrique Francophone pour organiser - des grands événements et Meetup partout dans le Cameroun et en Afrique Francophone. -

-
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
- -
-
-
- - Notre équipe - -

- Équipe de direction -

-

- Laravel Cameroun est une idée qui a été initiée puis transformée en une communauté par 2 - développeurs parmi les plus influents au Cameroun. -

-
-
- -
-
-
-
-
-
diff --git a/resources/views/components/layouts/header.blade.php b/resources/views/components/layouts/header.blade.php index 3070bc0a..7d8a28b7 100644 --- a/resources/views/components/layouts/header.blade.php +++ b/resources/views/components/layouts/header.blade.php @@ -66,7 +66,7 @@ class="group inline-flex items-center" {{ __('global.view_notifications') }} diff --git a/resources/views/livewire/notification-count.blade.php b/resources/views/livewire/components/notification-count.blade.php similarity index 81% rename from resources/views/livewire/notification-count.blade.php rename to resources/views/livewire/components/notification-count.blade.php index 4c160d61..1a4e113e 100644 --- a/resources/views/livewire/notification-count.blade.php +++ b/resources/views/livewire/components/notification-count.blade.php @@ -4,8 +4,7 @@ use Illuminate\Support\Facades\Auth; -use function Livewire\Volt\{on}; -use function Livewire\Volt\{state}; +use function Livewire\Volt\{on, state}; state(['count' => Auth::user()->unreadNotifications()->count()]); diff --git a/resources/views/livewire/notification-indicator.blade.php b/resources/views/livewire/components/notification-indicator.blade.php similarity index 86% rename from resources/views/livewire/notification-indicator.blade.php rename to resources/views/livewire/components/notification-indicator.blade.php index 65416902..12edbfcc 100644 --- a/resources/views/livewire/notification-indicator.blade.php +++ b/resources/views/livewire/components/notification-indicator.blade.php @@ -4,8 +4,7 @@ use Illuminate\Support\Facades\Auth; -use function Livewire\Volt\{on}; -use function Livewire\Volt\{state}; +use function Livewire\Volt\{on, state}; state(['hasNotification' => Auth::user()->unreadNotifications()->count() > 0 ]); diff --git a/resources/views/livewire/components/user/notifications.blade.php b/resources/views/livewire/components/user/notifications.blade.php index 5d1ea028..f827fec5 100644 --- a/resources/views/livewire/components/user/notifications.blade.php +++ b/resources/views/livewire/components/user/notifications.blade.php @@ -12,7 +12,7 @@ wire:click="redirectToSubscription({{ $subscription->subscribeable_id }}, '{{ $subscription->subscribeable_type }}')" class="text-base/6 text-left font-medium text-gray-900 dark:text-white hover:text-primary-600 dark:hover:text-primary-500" > - {{ $subscription->subscribeAble->title }} + {{ $subscription->subscribeAble?->title }}
diff --git a/resources/views/livewire/editor.blade.php b/resources/views/livewire/editor.blade.php deleted file mode 100644 index cc1f8540..00000000 --- a/resources/views/livewire/editor.blade.php +++ /dev/null @@ -1,75 +0,0 @@ -
- @if ($label) - - {{ $label }} - - @endif - -
-
-
- - - -
- -
- -
-
- -
- -
- @if ($hasCancelButton) - Annuler - @endif - - @if ($hasButton) - - {{ $buttonLabel }} - - @endif -
-
- -
-
- {!! $this->preview !!} -
-
-
-
diff --git a/resources/views/livewire/markdown-x.blade.php b/resources/views/livewire/markdown-x.blade.php deleted file mode 100644 index e5c226ef..00000000 --- a/resources/views/livewire/markdown-x.blade.php +++ /dev/null @@ -1,1913 +0,0 @@ -
-
-
-
-
- - Saisi -
-
-
-
- - - - Aide -
-
- -
- -
- - {{-- MarkdownX Editor --}} -
- -
-
-
-
-
-
-
- - - - -
-
-
-
- -
-
-
-
- - - - - - - - -
-
-
-
- Cursor Start: - - Cursor End: - -
-
-
-
-
-
-
-
- - - - - - - - -
-
-
-
- Cursor Start: - - Cursor End: - -
-
-
-
-
- Type '/' for commands -
- - - -
-
- - - - - - - Drop Files Here -
-
-
-
- - {{-- MarkdownX Preview Section --}} -
- {!! $contentPreview !!} -
- {{-- End: MarkdownX Preview Section --}} - - {{-- MarkdownX Help Section --}} -
-

Markdown Basics

-

- Below you will find some common used markdown syntax. For a deeper dive in Markdown check out this - - Cheat Sheet - -

-
- -

Bold & Italic

-

- Italics - *asterisks* -
- Bold - **double asterisks** -

-
- -

Code

-

- Inline Code -
- `backtick` - Code Block - - ``` -
- Three back ticks and then enter your code blocks here. -
- ``` -
-

-
- -

Headers

-

- # This is a Heading 1 -
- ## This is a Heading 2 -
- ### This is a Heading 3 -
-

-
- -

Quotes

-
> type a greater than sign and start typing your quote.
-
- -

Links

-

- You can add - links - by adding text inside of - [] - and the link inside of - () - , like so: -

-
[link_text](https://google.com)
-
- -

Lists

-

- To add a numbered list you can simply start with a number and a - . - , like so: -
- 1. The first item in my list -

-

- For an unordered list, you can add a dash - - - , like so: -
- - The start of my list -

-
- -

Images

-

- You can add images by selecting the image icon, which will upload and add an image to the editor, or you - can manually add the image by adding an exclamation - ! - , followed by the alt text inside of - [] - , and the image URL inside of - () - , like so: -

-
![alt text for image](url_to_image.png)
-
- -

Dividers

-

- To add a divider you can add three dashes or three asterisks: -
- --- or *** -

-
- - @if (in_array('giphy', config('markdownx.dropdown_items'))) -

Embedding GIFs via Giphy

-

- You can easily embed animated GIFS with the following syntax: -
- {% giphy https://giphy.com/embed/giphy_id %} -

-
- @endif - - @if (in_array('codepen', config('markdownx.dropdown_items'))) -

Embedding Codepens

-

- You can also embed a codepen by writing the following: -
- {% codepen https://codepen.io/your/pen/url %} -

-

- You may also choose the default tabs you wish to show your pen by writing the - default-tab - like so: (default is result) -

-

- - {% codepen https://codepen.io/your/pen/url default-tab=result,html %} - -

-
- @endif - - @if (in_array('codesandbox', config('markdownx.dropdown_items'))) -

Embedding CodeSandbox

-

- You can also embed CodeSandbox by writing the following: -
- {% codesandbox YOUR_CODESANDBOX_EMBED_URL %} -

-
- @endif - - @if (in_array('gists', config('markdownx.dropdown_items'))) -

Embedding Gists

-

- You can also embed a Gists by writing the following: -
- {% gist GIST_ID_HERE %} -

-
- @endif - - @if (in_array('youtube', config('markdownx.dropdown_items'))) -

Embedding YouTube Videos

-

- You can also embed a YouTube video by writing the following: -
- {% youtube VIDEO_ID_HERE %} -

-
- @endif - - @if (in_array('buy_me_a_coffee', config('markdownx.dropdown_items'))) -

Embedding buymeacoffee.com

-

- You can also embed your "Buy me a coffee" button by writing the following: -
- - {% buymeacoffee BUY_ME_A_COFFEE_USERNAME_HERE %} - -

-
- @endif -
- {{-- End: MarkdownX Help Section --}} -
- - - - diff --git a/resources/views/livewire/pages/about.blade.php b/resources/views/livewire/pages/about.blade.php new file mode 100644 index 00000000..26f4c98f --- /dev/null +++ b/resources/views/livewire/pages/about.blade.php @@ -0,0 +1,260 @@ + [ + [ + 'name' => 'Arthur Monney', + 'title' => 'Dévelopeur Advocate & Fullstack', + 'avatar' => 'https://avatars.githubusercontent.com/u/14105989?v=4', + 'social_links' => [ + 'twitter' => 'https://twitter.com/MonneyArthur', + 'github' => 'https://github.com/mckenziearts', + 'linkedin' => 'https://www.linkedin.com/in/arthurmonney', + ], + ], + [ + 'name' => 'Fabrice Yopa', + 'title' => 'Co-Founder & CTO IS Dev Experts', + 'avatar' => 'https://avatars.githubusercontent.com/u/4902424?v=4', + 'social_links' => [ + 'twitter' => 'https://twitter.com/yopafabrice', + 'github' => 'https://github.com/fabriceyopa', + 'linkedin' => 'https://www.linkedin.com/in/fabriceyopa', + ], + ], + [ + 'name' => 'Chris Samory', + 'title' => ' Web Fullstack Developer', + 'avatar' => 'https://avatars.githubusercontent.com/u/62399387?s=96&v=4', + 'social_links' => [ + 'twitter' => 'https://x.com/NdeTakougne', + 'github' => 'https://github.com/cybersoldattech', + 'linkedin' => 'https://www.linkedin.com/in/chris-samory-takougne-nde-003084224/', + ], + ], + [ + 'name' => 'Stevy Endaman', + 'title' => ' Web Fullstack Developer', + 'avatar' => 'https://avatars.githubusercontent.com/u/25743606?u=3e52c493f01b83c582b8e2fc845efc83f1c4d83d', + 'social_links' => [ + 'twitter' => 'https://x.com/stevyabessolo', + 'github' => 'https://github.com/StevyMarlino', + 'linkedin' => 'https://www.linkedin.com/in/endaman-stevy', + ], + ] + ] + +]); + +?> + +
+ +
+
+

+ + {{ __('pages/about.title') }} + + + {{ __('pages/about.description') }} + +

+
+
+

+ + " + {{ __('pages/about.second_description_part_one') }} + + " + + {{ __('pages/about.second_description_part_two') }} +

+
+
+ +
+
+
+
{{ __('pages/about.stats.member_discord') }}
+
+300
+
+
+
{{ __('pages/about.stats.member_telegram') }}
+
+700
+
+
+
{{ __('pages/about.stats.member_whatsapp') }}
+
+350
+
+
+
+ +
+

+ + {{ __('pages/about.history') }} + + + {{ __('pages/about.history_part_one') }} + +

+ +
+
+
+

+ {{ __('pages/about.first_description') }} +

+

+ {{ __('pages/about.second_description') }} +

+
    +
  • + {{ __('pages/about.list.one.title') }} + ActivSpaces + {{ __('pages/about.list.one.description') }} +
  • +
  • + {{ __('pages/about.list.two.title') }} + Kerawa Cameroun + {{ __('pages/about.list.two.description') }} +
  • +
  • + {{ __('pages/about.list.three.title') }} + John's Corporation + {{ __('pages/about.list.three.description') }} +
  • +
  • + {{ __('pages/about.list.four.title') }} + Dark Code + {{ __('pages/about.list.four.description') }} +
  • +
  • + {{ __('pages/about.list.five.title') }} + Diool + {{ __('pages/about.list.five.description') }} +
  • +
+

+ {{ __('pages/about.list.paragraph_one') }} +

+
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+
+
+ +
+
+
+

+ {{ __('pages/about.our_team.title') }} +

+

+ {{ __('pages/about.our_team.description') }} +

+
+
+
    + @foreach($profiles as $profile) +
  • +
    + {{ $profile['name'] }} +
    +

    {{ $profile['name'] }}

    +

    {{ $profile['title'] }}

    +
    + + +
    +
  • + @endforeach +
+
+
+
+
+
+
diff --git a/resources/views/livewire/pages/discussions/single-discussion.blade.php b/resources/views/livewire/pages/discussions/single-discussion.blade.php index 1848d414..6c34fcc2 100644 --- a/resources/views/livewire/pages/discussions/single-discussion.blade.php +++ b/resources/views/livewire/pages/discussions/single-discussion.blade.php @@ -116,9 +116,7 @@ class="mx-auto mt-6 text-sm prose prose-sm prose-green max-w-none dark:prose-inv

{{ __('pages/discussion.comments_count', ['count' => $discussion->count_all_replies_with_child]) }}

- @auth - - @endauth + diff --git a/resources/views/livewire/pages/notifications.blade.php b/resources/views/livewire/pages/notifications.blade.php index 79912bba..67f7bfbb 100644 --- a/resources/views/livewire/pages/notifications.blade.php +++ b/resources/views/livewire/pages/notifications.blade.php @@ -1,225 +1,225 @@
- -
- - -

- Notifications - -

-
+ +
+ -
-
- @forelse ($notifications as $date => $record) -
-
-

- - - - {{ $date }} -

-
+

+ Notifications + +

+
-
-
    - @foreach ($record as $notification) - @includeIf("components.notifications.{$notification->data['type']}") - @endforeach -
-
-
- @empty -
-
+
+
+ @forelse ($notifications as $date => $record) +
+
+

-

- {{ __('pages/notification.empty') }} -

-

+ {{ $date }} +
-
-

- {{ __('pages/notification.new_content') }} -

-

- {{ __('pages/notification.choose_content') }} +

+
    + @foreach ($record as $notification) + @includeIf("components.notifications.{$notification->data['type']}") + @endforeach +
+
+
+ @empty +
+
+ + + +

+ {{ __('pages/notification.empty') }}

-
+ -
  • -
    -
    - - - - - -
    -
    - -

    - {{ __('pages/notification.ask_help_description') }} -

    -
    -
    +
  • +
    +
    + - + + +
    +
    + +

    + {{ __('pages/notification.ask_help_description') }} +

    -
  • - -
    - @endforelse -
    -
    - +
    + + + +
    +
    + + +
    + @endforelse +
    + +
    diff --git a/resources/views/privacy.blade.php b/resources/views/pages/privacy.blade.php similarity index 100% rename from resources/views/privacy.blade.php rename to resources/views/pages/privacy.blade.php diff --git a/resources/views/rules.blade.php b/resources/views/pages/rules.blade.php similarity index 100% rename from resources/views/rules.blade.php rename to resources/views/pages/rules.blade.php diff --git a/resources/views/terms.blade.php b/resources/views/pages/terms.blade.php similarity index 100% rename from resources/views/terms.blade.php rename to resources/views/pages/terms.blade.php diff --git a/routes/web.php b/routes/web.php index 4083ad80..30f81613 100644 --- a/routes/web.php +++ b/routes/web.php @@ -10,14 +10,15 @@ use App\Livewire\Pages\Home; use App\Livewire\Pages\Notifications; use Illuminate\Support\Facades\Route; +use Livewire\Volt\Volt; Route::get('/', Home::class)->name('home'); // Static pages -Route::view('a-propos', 'about')->name('about'); -Route::view('privacy', 'privacy')->name('privacy'); -Route::view('rules', 'rules')->name('rules'); -Route::view('terms', 'terms')->name('terms'); +Volt::route('a-propos', 'pages.about')->name('about'); +Route::view('privacy', 'pages.privacy')->name('privacy'); +Route::view('rules', 'pages.rules')->name('rules'); +Route::view('terms', 'pages.terms')->name('terms'); // Social authentication Route::get('auth/{provider}', [OAuthController::class, 'redirectToProvider'])->name('social.auth'); diff --git a/tests/Feature/Livewire/Components/NotificationCountTest.php b/tests/Feature/Livewire/Components/NotificationCountTest.php index 8179bf18..0d4582e6 100644 --- a/tests/Feature/Livewire/Components/NotificationCountTest.php +++ b/tests/Feature/Livewire/Components/NotificationCountTest.php @@ -9,11 +9,11 @@ }); it('renders successfully', function (): void { - Volt::test('notification-count') + Volt::test('components.notification-count') ->assertStatus(200); }); it('can display user count notification', function (): void { - Volt::test('notification-count') + Volt::test('components.notification-count') ->assertSee($this->user->unreadNotifications()->count()); }); diff --git a/tests/Feature/Livewire/Components/NotificationIndicatorTest.php b/tests/Feature/Livewire/Components/NotificationIndicatorTest.php index 0791a500..5fdbf78a 100644 --- a/tests/Feature/Livewire/Components/NotificationIndicatorTest.php +++ b/tests/Feature/Livewire/Components/NotificationIndicatorTest.php @@ -9,11 +9,11 @@ }); it('renders successfully', function (): void { - Volt::test('notification-indicator') + Volt::test('components.notification-indicator') ->assertStatus(200); }); it('mask indicator if user can have unread notification', function (): void { - Volt::test('notification-indicator') + Volt::test('components.notification-indicator') ->assertSet('hasNotification', false); });