diff --git a/plugins/Directory/Controller/Directory.php b/plugins/Directory/Controller/Directory.php index 5f75e7b881..cd3a3c8f39 100644 --- a/plugins/Directory/Controller/Directory.php +++ b/plugins/Directory/Controller/Directory.php @@ -26,9 +26,9 @@ use Symfony\Component\HttpFoundation\Request; class Directory { - public function people(Request $request) + public function actors(Request $request) { - return ['_template' => 'directory/people.html.twig', 'people' => DB::dql('select g from App\Entity\GSActor g order by g.nickname ASC')]; + return ['_template' => 'directory/actors.html.twig', 'actors' => DB::dql('select g from App\Entity\GSActor g order by g.nickname ASC')]; } public function groups(Request $request) diff --git a/plugins/Directory/Directory.php b/plugins/Directory/Directory.php index 1feca2ce20..d71f8e8429 100644 --- a/plugins/Directory/Directory.php +++ b/plugins/Directory/Directory.php @@ -28,8 +28,27 @@ class Directory extends Module { public function onAddRoute($r) { - $r->connect('people', '/people', [Controller\Directory::class, 'people']); + $r->connect('actors', '/actors', [Controller\Directory::class, 'actors']); $r->connect('groups', '/groups', [Controller\Directory::class, 'groups']); return Event::next; } + + /** + * Populate twig vars + * + * @param array $vars + * + * @return bool hook value; true means continue processing, false means stop. + */ + public function onStartTwigPopulateVars(array &$vars): bool + { + if (array_key_exists('main_nav_tabs',$vars)) { + $vars['main_nav_tabs'] = []; + } + $vars['main_nav_tabs'][] = ['title' => 'Actors', + 'route' => 'actors', + ]; + + return Event::next; + } } diff --git a/public/assets/css/directory/actors.css b/public/assets/css/directory/actors.css new file mode 100644 index 0000000000..7f62c84b16 --- /dev/null +++ b/public/assets/css/directory/actors.css @@ -0,0 +1,50 @@ +/*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; +} \ No newline at end of file diff --git a/templates/directory/actor.html.twig b/templates/directory/actor.html.twig new file mode 100644 index 0000000000..9cf2b332ff --- /dev/null +++ b/templates/directory/actor.html.twig @@ -0,0 +1,31 @@ +
{{ actor_bio }}
+ {% else %} +{{ '(No bio)' | trans }}
+ {% endif %} +