forked from GNUsocial/gnu-social
[Directory] Finished implementing groups stream using Directory plugin
This commit is contained in:
parent
098fdb3361
commit
fe170ff508
@ -40,6 +40,6 @@ class Directory
|
||||
|
||||
public function groups(Request $request)
|
||||
{
|
||||
return ['_template' => 'directory/group.html.twig', 'groups' => DB::dql('select g from App\Entity\Group g order by g.nickname ASC')];
|
||||
return ['_template' => 'directory/groups.html.twig', 'groups' => DB::dql('select g from App\Entity\Group g order by g.nickname ASC')];
|
||||
}
|
||||
}
|
||||
|
@ -412,22 +412,27 @@
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
/*actors stream*/
|
||||
.actors{
|
||||
|
||||
/*groups stream*/
|
||||
.groups{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.notes-wrap .timeline .actors > div {
|
||||
.groups > h1 {
|
||||
padding: var(--unit-size);
|
||||
}
|
||||
|
||||
.notes-wrap .timeline .groups > div {
|
||||
margin: var(--unit-size) var(--unit-size) 0 var(--unit-size);
|
||||
border-radius: var(--unit-size);
|
||||
width: 100%;
|
||||
}
|
||||
.notes-wrap .timeline .actors > div:last-child {
|
||||
.notes-wrap .timeline .groups > div:last-child {
|
||||
margin: var(--unit-size) var(--unit-size) var(--unit-size) var(--unit-size);
|
||||
}
|
||||
|
||||
.actor{
|
||||
.group{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
border: solid 2px var(--accent-low);
|
||||
@ -436,7 +441,7 @@
|
||||
margin-bottom: var(--unit-size);
|
||||
}
|
||||
|
||||
.actor-content {
|
||||
.group-content {
|
||||
order: 3;
|
||||
word-break: break-word;
|
||||
padding: var(--small-size);
|
||||
@ -447,13 +452,13 @@
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.actor-info{
|
||||
.group-info {
|
||||
order: 3;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.actor-bio{
|
||||
.group-description {
|
||||
order: 3;
|
||||
word-break: break-word;
|
||||
padding: var(--small-size);
|
||||
@ -461,4 +466,4 @@
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: right;
|
||||
}
|
||||
}
|
||||
|
@ -411,22 +411,27 @@
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
/*actors stream*/
|
||||
.actors{
|
||||
/*groups stream*/
|
||||
.groups{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.notes-wrap .timeline .actors > div {
|
||||
.groups > h1 {
|
||||
padding: var(--unit-size);
|
||||
}
|
||||
|
||||
.notes-wrap .timeline .groups > div {
|
||||
margin: var(--unit-size) var(--unit-size) 0 var(--unit-size);
|
||||
border-radius: var(--unit-size);
|
||||
width: 100%;
|
||||
}
|
||||
.notes-wrap .timeline .actors > div:last-child {
|
||||
|
||||
.notes-wrap .timeline .groups > div:last-child {
|
||||
margin: var(--unit-size) var(--unit-size) var(--unit-size) var(--unit-size);
|
||||
}
|
||||
|
||||
.actor{
|
||||
.group{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
border: solid 2px var(--accent-low);
|
||||
@ -435,7 +440,7 @@
|
||||
margin-bottom: var(--unit-size);
|
||||
}
|
||||
|
||||
.actor-content {
|
||||
.group-content {
|
||||
order: 3;
|
||||
word-break: break-word;
|
||||
padding: var(--small-size);
|
||||
@ -446,13 +451,13 @@
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.actor-info{
|
||||
.group-info {
|
||||
order: 3;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.actor-bio{
|
||||
.group-description {
|
||||
order: 3;
|
||||
word-break: break-word;
|
||||
padding: var(--small-size);
|
||||
@ -460,4 +465,4 @@
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: right;
|
||||
}
|
||||
}
|
||||
|
@ -409,54 +409,3 @@
|
||||
cursor: pointer;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
/*actors stream*/
|
||||
.actors{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.notes-wrap .timeline .actors > div {
|
||||
margin: var(--unit-size) var(--unit-size) 0 var(--unit-size);
|
||||
border-radius: var(--unit-size);
|
||||
width: 100%;
|
||||
}
|
||||
.notes-wrap .timeline .actors > div:last-child {
|
||||
margin: var(--unit-size) var(--unit-size) var(--unit-size) var(--unit-size);
|
||||
}
|
||||
|
||||
.actor{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
border: solid 2px var(--accent-low);
|
||||
border-radius: var(--unit-size);
|
||||
box-shadow: var(--shadow);
|
||||
margin-bottom: var(--unit-size);
|
||||
}
|
||||
|
||||
.actor-content {
|
||||
order: 3;
|
||||
word-break: break-word;
|
||||
padding: var(--small-size);
|
||||
border-radius: 0 0 var(--unit-size) var(--unit-size);
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.actor-info{
|
||||
order: 3;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.actor-bio{
|
||||
order: 3;
|
||||
word-break: break-word;
|
||||
padding: var(--small-size);
|
||||
border-radius: 0 0 var(--unit-size) var(--unit-size);
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: right;
|
||||
}
|
@ -138,22 +138,4 @@ END;
|
||||
'order by f.created DESC', ['id' => $actor_id]),
|
||||
];
|
||||
}
|
||||
|
||||
public function actors(Request $request)
|
||||
{
|
||||
return [
|
||||
'_template' => 'network/actors.html.twig',
|
||||
'actors' => DB::dql('select a from App\Entity\GSActor a ' .
|
||||
'order by a.nickname ASC'),
|
||||
];
|
||||
}
|
||||
|
||||
public function groups(Request $request)
|
||||
{
|
||||
return [
|
||||
'_template' => 'network/groups.html.twig',
|
||||
'groups' => DB::dql('select g from App\Entity\Group g ' .
|
||||
'order by g.nickname ASC'),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
@ -53,10 +53,6 @@ abstract class Main
|
||||
$r->connect('replies', '/{nickname<' . Nickname::DISPLAY_FMT . '>}/replies', [C\Network::class, 'replies']);
|
||||
$r->connect('favourites', '/{nickname<' . Nickname::DISPLAY_FMT . '>}/favourites', [C\Network::class, 'favourites']);
|
||||
|
||||
$r->connect('actors', '/actors', [C\Network::class, 'actors']);
|
||||
$r->connect('groups', '/groups', [C\Network::class, 'groups']);
|
||||
$r->connect('groups_stream', '/groups/stream', [C\Network::class, 'groups']);
|
||||
|
||||
$r->connect('panel', '/panel', [C\AdminPanel::class, 'site']);
|
||||
$r->connect('panel_site', '/panel/site', [C\AdminPanel::class, 'site']);
|
||||
|
||||
|
23
templates/directory/group.html.twig
Normal file
23
templates/directory/group.html.twig
Normal file
@ -0,0 +1,23 @@
|
||||
<div class="group">
|
||||
<div class="group-content">
|
||||
<a href="{{ group.getHomepage() }}">
|
||||
<div class="group-info">
|
||||
{% set nickname = group.getNickname() %}
|
||||
<div class="group-img">
|
||||
<img class="icon icon-group" src="{{ asset(group.getStreamLogo()) }}" alt="{{ nickname }}'s logo">
|
||||
</div>
|
||||
<div class="group-nickname">
|
||||
<b id="nick">{{ nickname }}</b>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
{% set group_description = group.getDescription() %}
|
||||
<div class="group-description">
|
||||
{% if group_description %}
|
||||
<p>{{ group_description }}</p>
|
||||
{% else %}
|
||||
<p>{{ '(No description)' | trans }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -91,7 +91,7 @@
|
||||
<a href="{{ path('main_all') }}" class='hover-effect {{ active('main_all') }}'>Network</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path('groups_stream') }}" class='hover-effect {{ active('groups_stream') }}'>Groups</a>
|
||||
<a href="{{ path('groups') }}" class='hover-effect {{ active('groups') }}'>Groups</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
@ -99,7 +99,7 @@
|
||||
<div class="groups">
|
||||
{% if groups is defined and groups is not empty %}
|
||||
{% for group in groups %}
|
||||
{% include '/group/group.html.twig' with {'group': group, 'have_user': have_user} only %}
|
||||
{% include '/directory/group.html.twig' with {'group': group, 'have_user': have_user} only %}
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<h1>{% trans %}No groups here.{% endtrans %}</h1>
|
Loading…
Reference in New Issue
Block a user