[CORE][CONTROLLER][Network] Refactor term 'network' into 'feeds'

This commit is contained in:
Hugo Sales 2021-11-26 20:37:17 +00:00
parent 0ab8febab3
commit 42f40f9ebe
Signed by: someonewithpc
GPG Key ID: 7D0C7EAFC9D835A0
8 changed files with 53 additions and 93 deletions

View File

@ -178,7 +178,7 @@ class Favourite extends Controller
Event::handle('FormatNoteList', [$notes, &$notes_out]); Event::handle('FormatNoteList', [$notes, &$notes_out]);
return [ return [
'_template' => 'network/feed.html.twig', '_template' => 'feeds/feed.html.twig',
'notes' => $notes_out, 'notes' => $notes_out,
'page_title' => 'Favourites feed.', 'page_title' => 'Favourites feed.',
]; ];
@ -212,7 +212,7 @@ class Favourite extends Controller
Event::handle('FormatNoteList', [$notes, &$notes_out]); Event::handle('FormatNoteList', [$notes, &$notes_out]);
return [ return [
'_template' => 'network/feed.html.twig', '_template' => 'feeds/feed.html.twig',
'notes' => $notes, 'notes' => $notes,
'page_title' => 'Reverse favourites feed.', 'page_title' => 'Reverse favourites feed.',
]; ];

View File

@ -8,11 +8,11 @@
{% block stylesheets %} {% block stylesheets %}
{{ parent() }} {{ parent() }}
<link rel='stylesheet' type='text/css' href="{{ asset('assets/css/network/public.css') }}" <link rel='stylesheet' type='text/css' href="{{ asset('assets/css/feeds/public.css') }}"
media="screen and (min-width: 1300px)"> media="screen and (min-width: 1300px)">
<link rel='stylesheet' type='text/css' href="{{ asset('assets/css/network/public_mid.css') }}" <link rel='stylesheet' type='text/css' href="{{ asset('assets/css/feeds/public_mid.css') }}"
media="screen and (max-width: 1300px)"> media="screen and (max-width: 1300px)">
<link rel='stylesheet' type='text/css' href="{{ asset('assets/css/network/public_small.css') }}" <link rel='stylesheet' type='text/css' href="{{ asset('assets/css/feeds/public_small.css') }}"
media="screen and (max-width: 750px)"> media="screen and (max-width: 750px)">
<link rel='stylesheet' type='text/css' href="{{ asset('assets/css/poll/poll.css') }}" <link rel='stylesheet' type='text/css' href="{{ asset('assets/css/poll/poll.css') }}"
media="screen"> media="screen">
@ -40,4 +40,4 @@
</div> </div>
{% endblock body %} {% endblock body %}
{% block javascripts %}{% endblock %} {% block javascripts %}{% endblock %}

View File

@ -9,11 +9,11 @@
{% block stylesheets %} {% block stylesheets %}
{{ parent() }} {{ parent() }}
<link rel='stylesheet' type='text/css' href="{{ asset('assets/css/poll/poll.css') }}"> <link rel='stylesheet' type='text/css' href="{{ asset('assets/css/poll/poll.css') }}">
<link rel='stylesheet' type='text/css' href="{{ asset('assets/css/network/public.css') }}" <link rel='stylesheet' type='text/css' href="{{ asset('assets/css/feeds/public.css') }}"
media="screen and (min-width: 1300px)"> media="screen and (min-width: 1300px)">
<link rel='stylesheet' type='text/css' href="{{ asset('assets/css/network/public_mid.css') }}" <link rel='stylesheet' type='text/css' href="{{ asset('assets/css/feeds/public_mid.css') }}"
media="screen and (max-width: 1300px)"> media="screen and (max-width: 1300px)">
<link rel='stylesheet' type='text/css' href="{{ asset('assets/css/network/public_small.css') }}" <link rel='stylesheet' type='text/css' href="{{ asset('assets/css/feeds/public_small.css') }}"
media="screen and (max-width: 750px)"> media="screen and (max-width: 750px)">
{% endblock %} {% endblock %}
@ -41,4 +41,4 @@
</div> </div>
{% endblock body %} {% endblock body %}
{% block javascripts %}{% endblock %} {% block javascripts %}{% endblock %}

View File

@ -47,7 +47,7 @@ use App\Util\Exception\NotFoundException;
use App\Util\Exception\NotImplementedException; use App\Util\Exception\NotImplementedException;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
class Network extends Controller class Feeds extends Controller
{ {
// Can't have constants inside herestring // Can't have constants inside herestring
private $public_scope = VisibilityScope::PUBLIC; private $public_scope = VisibilityScope::PUBLIC;
@ -63,7 +63,7 @@ class Network extends Controller
Event::handle('FormatNoteList', [$notes, &$notes_out]); Event::handle('FormatNoteList', [$notes, &$notes_out]);
return [ return [
'_template' => 'network/feed.html.twig', '_template' => 'feeds/feed.html.twig',
'notes' => $notes_out, 'notes' => $notes_out,
'page_title' => 'Public feed', 'page_title' => 'Public feed',
]; ];
@ -108,7 +108,7 @@ class Network extends Controller
Event::handle('FormatNoteList', [$notes, &$notes_out]); Event::handle('FormatNoteList', [$notes, &$notes_out]);
return [ return [
'_template' => 'network/feed.html.twig', '_template' => 'feeds/feed.html.twig',
'notes' => $notes_out, 'notes' => $notes_out,
'page_title' => 'Home feed', 'page_title' => 'Home feed',
]; ];
@ -122,7 +122,7 @@ class Network extends Controller
Event::handle('FormatNoteList', [$notes, &$notes_out]); Event::handle('FormatNoteList', [$notes, &$notes_out]);
return [ return [
'_template' => 'network/feed.html.twig', '_template' => 'feeds/feed.html.twig',
'notes' => $notes_out, 'notes' => $notes_out,
'page_title' => 'Network feed', 'page_title' => 'Network feed',
]; ];
@ -141,7 +141,7 @@ class Network extends Controller
Event::handle('FormatNoteList', [$notes, &$notes_out]); Event::handle('FormatNoteList', [$notes, &$notes_out]);
return [ return [
'_template' => 'network/feed.html.twig', '_template' => 'feeds/feed.html.twig',
'notes' => $notes_out, 'notes' => $notes_out,
'page_title' => 'Replies feed', 'page_title' => 'Replies feed',
]; ];

View File

@ -55,10 +55,11 @@ abstract class Main
$r->connect('security_recover_password_token', '/main/recover-password/{token?}', [C\ResetPassword::class, 'reset']); $r->connect('security_recover_password_token', '/main/recover-password/{token?}', [C\ResetPassword::class, 'reset']);
$r->connect('root', '/', RedirectController::class, ['defaults' => ['route' => 'main_all']]); $r->connect('root', '/', RedirectController::class, ['defaults' => ['route' => 'main_all']]);
$r->connect('main_public', '/main/public', [C\Network::class, 'public']); $r->connect('main_public', '/main/public', [C\Feeds::class, 'public']);
$r->connect('main_all', '/main/all', [C\Network::class, 'network']); $r->connect('main_all', '/main/all', [C\Feeds::class, 'network']);
$r->connect('home_all', '/@{nickname<' . Nickname::DISPLAY_FMT . '>}/all', [C\Network::class, 'home']); $r->connect('home_all', '/@{nickname<' . Nickname::DISPLAY_FMT . '>}/all', [C\Feeds::class, 'home']);
$r->connect('replies', '/@{nickname<' . Nickname::DISPLAY_FMT . '>}/replies', [C\Network::class, 'replies']); $r->connect('replies', '/@{nickname<' . Nickname::DISPLAY_FMT . '>}/replies', [C\Feeds::class, 'replies']);
$r->connect('edit_feeds', '/edit-feeds', [C\Feeds::class, 'replies']);
$r->connect('panel', '/panel', [C\AdminPanel::class, 'site']); $r->connect('panel', '/panel', [C\AdminPanel::class, 'site']);
$r->connect('panel_site', '/panel/site', [C\AdminPanel::class, 'site']); $r->connect('panel_site', '/panel/site', [C\AdminPanel::class, 'site']);

View File

@ -1,77 +1,36 @@
{% block feeds %} {% block feeds %}
<section class="section-widget section-widget-padded"> <section class="section-widget section-widget-padded">
<h2 class="section-title">{{ icon('logo', 'icon icon-logo') | raw }} {{ 'Feeds' | trans }} </h2> <h2 class="section-title">{{ icon('logo', 'icon icon-logo') | raw }} {{ 'Feeds' | trans }}</h2>
<nav class='sec-nav' tabindex="0" title="{{ 'Navigate through each feed.' | trans }}"> <nav class='sec-nav' tabindex="0" title="{{ 'Navigate through each feed.' | trans }}">
{% if not app.user %} {# Default feeds #}
<ul> <ul>
<li> <li>
<a href="{{ path('main_public') }}" class='{{ active('main_public') }}'> <a href="{{ path('main_public') }}" class='{{ active('main_public') }}'>
Public Public
</a> </a>
</li> </li>
<li> <li>
{% if app.user %} <a href="{{ path('main_all') }}" class='hover-effect {{ active('main_all') }}'>
<a href="{{ path("home_all", {'nickname' : current_actor.getNickname()}) }}" class='{{ active("home_all") }}'> Network
Home </a>
</a> </li>
{% endif %}
</li>
<li>
<a href="{{ path('main_all') }}" class='hover-effect {{ active('main_all') }}'>
Network
</a>
</li>
{% if app.user %}
{% for link in handle_event('AddMainNavigationItem', {'nickname': current_actor.getNickname()}) %}
<li>
<a href="{{ link['path'] }}" class='{{ active(link['path_id']) }}'>
{{ link['title'] }}
</a>
</li>
{% endfor %}
{% endif %}
</ul> </ul>
{% else %} {# User custom feeds #}
<a href="{{ path('edit_feeds') }}">{{ icon('edit', 'icon') }}</a>
<ul>
{% for link in handle_event('GetLeftNavigationFeeds', {'actor': current_actor}) %}
<li>
<a href="{{ link['path'] }}" class='{{ active(link['path_id']) }}'>
{{ link['title'] }}
</a>
</li>
{% endfor %}
</ul>
{% endif %}
</nav> </nav>
</section> </section>
{% endblock feeds %} {% endblock feeds %}
{% block group %}
<section class="section-widget section-widget-padded">
<h2 class="section-title">{{ icon('logo', 'icon icon-logo') | raw }} Group</h2>
<nav class='sec-nav' tabindex="0" title="{{ 'Navigate through each feed.' | trans }}">
<ul>
<li>
<a href="{{ path('main_public') }}" class='{{ active('main_public') }}'>
Public
</a>
</li>
<li>
{% if app.user %}
<a href="{{ path("home_all", {'nickname' : current_actor.getNickname()}) }}" class='{{ active("home_all") }}'>
Home
</a>
{% endif %}
</li>
<li>
<a href="{{ path('main_all') }}" class='hover-effect {{ active('main_all') }}'>
Network
</a>
</li>
{% if app.user %}
{% for link in handle_event('AddMainNavigationItem', {'nickname': current_actor.getNickname()}) %}
<li>
<a href="{{ link['path'] }}" class='{{ active(link['path_id']) }}'>
{{ link['title'] }}
</a>
</li>
{% endfor %}
{% endif %}
</ul>
</nav>
</section>
{% endblock group %}
{% block profile_current_actor %} {% block profile_current_actor %}
<nav tabindex="0" class="profile-navigation" title="{{ 'Navigate through account related pages.' | trans }}"> <nav tabindex="0" class="profile-navigation" title="{{ 'Navigate through account related pages.' | trans }}">

View File

@ -23,7 +23,7 @@ declare(strict_types = 1);
namespace App\Tests\Controller; namespace App\Tests\Controller;
use App\Controller\Network; use App\Controller\Feeds;
use App\Core\DB\DB; use App\Core\DB\DB;
use App\Core\Security; use App\Core\Security;
use App\Core\VisibilityScope; use App\Core\VisibilityScope;
@ -36,7 +36,7 @@ use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\Security\Core\Security as SSecurity; use Symfony\Component\Security\Core\Security as SSecurity;
class NetworkTest extends GNUsocialTestCase class FeedsTest extends GNUsocialTestCase
{ {
use AssertThrows; use AssertThrows;
@ -50,7 +50,7 @@ class NetworkTest extends GNUsocialTestCase
$this->testRoute('home', fn ($vis) => !$vis->message, ['taken_user']); $this->testRoute('home', fn ($vis) => !$vis->message, ['taken_user']);
} }
public function testNetwork() public function testFeeds()
{ {
$this->testRoute('network', fn ($vis) => $vis->public); $this->testRoute('network', fn ($vis) => $vis->public);
} }
@ -74,12 +74,12 @@ class NetworkTest extends GNUsocialTestCase
} }
$req = $this->createMock(Request::class); $req = $this->createMock(Request::class);
$req_stack = $this->createMock(RequestStack::class); $req_stack = $this->createMock(RequestStack::class);
$network = new Network($req_stack); $feeds = new Feeds($req_stack);
if ($route == 'home') { if ($route == 'home') {
static::assertThrows(ClientException::class, fn () => $network->home($req, 'username_not_taken')); static::assertThrows(ClientException::class, fn () => $feeds->home($req, 'username_not_taken'));
} }
$result = $network->{$route}($req, ...$extra_args); $result = $feeds->{$route}($req, ...$extra_args);
static::assertSame($result['_template'], 'network/feed.html.twig'); static::assertSame($result['_template'], 'feeds/feed.html.twig');
foreach ($result['notes'] as $n) { foreach ($result['notes'] as $n) {
static::assertIsArray($n['replies']); static::assertIsArray($n['replies']);
} }