poprawiono layout
This commit is contained in:
parent
80fcc890fa
commit
a9ff0e599d
@ -67,4 +67,4 @@ services:
|
|||||||
|
|
||||||
# other servces
|
# other servces
|
||||||
App\Service\ProviderResolver:
|
App\Service\ProviderResolver:
|
||||||
arguments: [!tagged app.provider]
|
arguments: [!tagged app.provider, '%kernel.debug%']
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
.list-underlined {
|
.list-underlined {
|
||||||
@extend .list-unstyled;
|
@extend .list-unstyled;
|
||||||
|
margin-bottom: 0;
|
||||||
|
|
||||||
> li {
|
> li {
|
||||||
border-bottom: 1px solid $dark;
|
border-bottom: 1px solid $dark;
|
||||||
@ -45,23 +46,37 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.section__title {
|
.section {
|
||||||
@extend .alert;
|
margin-bottom: 1rem;
|
||||||
@extend .alert-dark;
|
|
||||||
|
|
||||||
font-size: medium;
|
.section__title {
|
||||||
background: transparent;
|
@extend .alert;
|
||||||
padding-top: .5rem;
|
@extend .alert-dark;
|
||||||
padding-bottom: .5rem;
|
|
||||||
|
|
||||||
line-height: $btn-line-height;
|
font-size: medium;
|
||||||
|
background: transparent;
|
||||||
|
padding-top: .5rem;
|
||||||
|
padding-bottom: .5rem;
|
||||||
|
|
||||||
&:hover {
|
line-height: $btn-line-height;
|
||||||
background: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn {
|
&:hover {
|
||||||
margin-top: -.5rem;
|
background: none;
|
||||||
margin-bottom: -.5rem;
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
margin-top: -.5rem;
|
||||||
|
margin-bottom: -.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#app {
|
||||||
|
margin-top: $grid-gutter-width / 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-up('md') {
|
||||||
|
#app {
|
||||||
|
margin-top: 4rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
33
src/Provider/Dummy/DummyMessageRepository.php
Normal file
33
src/Provider/Dummy/DummyMessageRepository.php
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Provider\Dummy;
|
||||||
|
|
||||||
|
use App\Model\Message;
|
||||||
|
use App\Model\Stop;
|
||||||
|
use App\Provider\MessageRepository;
|
||||||
|
use Carbon\Carbon;
|
||||||
|
use Tightenco\Collect\Support\Collection;
|
||||||
|
|
||||||
|
class DummyMessageRepository implements MessageRepository
|
||||||
|
{
|
||||||
|
public function getAll(): Collection
|
||||||
|
{
|
||||||
|
return collect([
|
||||||
|
Message::TYPE_INFO,
|
||||||
|
Message::TYPE_UNKNOWN,
|
||||||
|
Message::TYPE_BREAKDOWN
|
||||||
|
])->map(function ($type) {
|
||||||
|
return Message::createFromArray([
|
||||||
|
'message' => 'Lorem ipsum dolor sit amet.',
|
||||||
|
'type' => $type,
|
||||||
|
'validFrom' => Carbon::now(),
|
||||||
|
'validTo' => Carbon::now()->addHour()
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getForStop(Stop $stop): Collection
|
||||||
|
{
|
||||||
|
return $this->getAll();
|
||||||
|
}
|
||||||
|
}
|
49
src/Provider/Dummy/DummyProvider.php
Normal file
49
src/Provider/Dummy/DummyProvider.php
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Provider\Dummy;
|
||||||
|
|
||||||
|
use App\Exception\NotSupportedException;
|
||||||
|
use App\Provider\DepartureRepository;
|
||||||
|
use App\Provider\LineRepository;
|
||||||
|
use App\Provider\MessageRepository;
|
||||||
|
use App\Provider\Provider;
|
||||||
|
use App\Provider\StopRepository;
|
||||||
|
use App\Provider\TrackRepository;
|
||||||
|
|
||||||
|
class DummyProvider implements Provider
|
||||||
|
{
|
||||||
|
public function getDepartureRepository(): DepartureRepository
|
||||||
|
{
|
||||||
|
throw new NotSupportedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getLineRepository(): LineRepository
|
||||||
|
{
|
||||||
|
throw new NotSupportedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getStopRepository(): StopRepository
|
||||||
|
{
|
||||||
|
throw new NotSupportedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getMessageRepository(): MessageRepository
|
||||||
|
{
|
||||||
|
return new DummyMessageRepository();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getTrackRepository(): TrackRepository
|
||||||
|
{
|
||||||
|
throw new NotSupportedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getName()
|
||||||
|
{
|
||||||
|
return "Dummy data for debugging";
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getIdentifier()
|
||||||
|
{
|
||||||
|
return "dummy";
|
||||||
|
}
|
||||||
|
}
|
@ -9,7 +9,7 @@ use App\Entity\StopEntity;
|
|||||||
use App\Entity\StopInTrack;
|
use App\Entity\StopInTrack;
|
||||||
use App\Entity\TrackEntity;
|
use App\Entity\TrackEntity;
|
||||||
use App\Model\Line as LineModel;
|
use App\Model\Line as LineModel;
|
||||||
use App\Provider\ZtmGdanskProvider;
|
use App\Provider\ZtmGdansk\ZtmGdanskProvider;
|
||||||
use App\Service\DataUpdater;
|
use App\Service\DataUpdater;
|
||||||
use App\Service\IdUtils;
|
use App\Service\IdUtils;
|
||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
|
@ -7,7 +7,7 @@ namespace App\Provider\ZtmGdansk;
|
|||||||
use App\Model\Message;
|
use App\Model\Message;
|
||||||
use App\Model\Stop;
|
use App\Model\Stop;
|
||||||
use App\Provider\MessageRepository;
|
use App\Provider\MessageRepository;
|
||||||
use App\Provider\ZtmGdanskProvider;
|
use App\Provider\ZtmGdansk\ZtmGdanskProvider;
|
||||||
use App\Service\IdUtils;
|
use App\Service\IdUtils;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Symfony\Component\Cache\Adapter\AdapterInterface;
|
use Symfony\Component\Cache\Adapter\AdapterInterface;
|
||||||
|
@ -1,12 +1,18 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
|
||||||
namespace App\Provider;
|
namespace App\Provider\ZtmGdansk;
|
||||||
|
|
||||||
use App\Entity\ProviderEntity;
|
use App\Entity\ProviderEntity;
|
||||||
use App\Provider\Database\GenericLineRepository;
|
use App\Provider\Database\GenericLineRepository;
|
||||||
use App\Provider\Database\GenericStopRepository;
|
use App\Provider\Database\GenericStopRepository;
|
||||||
use App\Provider\Database\GenericTrackRepository;
|
use App\Provider\Database\GenericTrackRepository;
|
||||||
|
use App\Provider\DepartureRepository;
|
||||||
|
use App\Provider\LineRepository;
|
||||||
|
use App\Provider\MessageRepository;
|
||||||
|
use App\Provider\Provider;
|
||||||
|
use App\Provider\StopRepository;
|
||||||
|
use App\Provider\TrackRepository;
|
||||||
use App\Provider\ZtmGdansk\{ZtmGdanskDepartureRepository, ZtmGdanskMessageRepository};
|
use App\Provider\ZtmGdansk\{ZtmGdanskDepartureRepository, ZtmGdanskMessageRepository};
|
||||||
use App\Service\Proxy\ReferenceFactory;
|
use App\Service\Proxy\ReferenceFactory;
|
||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
@ -4,17 +4,23 @@
|
|||||||
namespace App\Service;
|
namespace App\Service;
|
||||||
|
|
||||||
use App\Exception\NonExistentServiceException;
|
use App\Exception\NonExistentServiceException;
|
||||||
|
use App\Provider\Dummy\DummyProvider;
|
||||||
use App\Provider\Provider;
|
use App\Provider\Provider;
|
||||||
use Kadet\Functional\Transforms as t;
|
use Kadet\Functional\Transforms as t;
|
||||||
|
use Kadet\Functional\Predicates as p;
|
||||||
use Tightenco\Collect\Support\Collection;
|
use Tightenco\Collect\Support\Collection;
|
||||||
|
|
||||||
class ProviderResolver
|
class ProviderResolver
|
||||||
{
|
{
|
||||||
private $providers;
|
private $providers;
|
||||||
|
|
||||||
public function __construct($providers)
|
public function __construct($providers, bool $debug)
|
||||||
{
|
{
|
||||||
$this->providers = collect($providers)->keyBy(t\property('identifier'));
|
$this->providers = collect($providers)->keyBy(t\property('identifier'));
|
||||||
|
|
||||||
|
if (!$debug) {
|
||||||
|
$this->providers = $this->providers->filter(p\instance(DummyProvider::class)->negate());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**\
|
/**\
|
||||||
|
@ -3,17 +3,8 @@
|
|||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4">
|
<div class="col-md-8 order-md-last">
|
||||||
<section class="picker">
|
<section class="section messages" v-show="messages.count > 0">
|
||||||
<h2 class="section__title">
|
|
||||||
<fa :icon="['fal', 'sign']" fixed-width></fa>
|
|
||||||
Przystanki
|
|
||||||
</h2>
|
|
||||||
<stop-picker :stops.sync="stops"></stop-picker>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-8">
|
|
||||||
<section class="messages" v-show="messages.count > 0">
|
|
||||||
<h2 class="section__title flex">
|
<h2 class="section__title flex">
|
||||||
<fa :icon="['fal', 'bullhorn']" fixed-width class="mr-2"></fa>
|
<fa :icon="['fal', 'bullhorn']" fixed-width class="mr-2"></fa>
|
||||||
Komunikaty <span class="ml-2 badge badge-pill badge-dark">{{ '{{ messages.count }}' }}</span>
|
Komunikaty <span class="ml-2 badge badge-pill badge-dark">{{ '{{ messages.count }}' }}</span>
|
||||||
@ -26,7 +17,7 @@
|
|||||||
</fold>
|
</fold>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
<section class="section">
|
||||||
<h2 class="section__title flex">
|
<h2 class="section__title flex">
|
||||||
<fa :icon="['fal', 'clock']" fixed-width class="mr-1"></fa>
|
<fa :icon="['fal', 'clock']" fixed-width class="mr-1"></fa>
|
||||||
Odjazdy
|
Odjazdy
|
||||||
@ -39,6 +30,15 @@
|
|||||||
<departures :stops="stops" ref="departures" @update:state="departures.state = $event"></departures>
|
<departures :stops="stops" ref="departures" @update:state="departures.state = $event"></departures>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-md-4 order-md-first">
|
||||||
|
<section class="section picker">
|
||||||
|
<h2 class="section__title">
|
||||||
|
<fa :icon="['fal', 'sign']" fixed-width></fa>
|
||||||
|
Przystanki
|
||||||
|
</h2>
|
||||||
|
<stop-picker :stops.sync="stops"></stop-picker>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<title>{% block title %}Czy dojadę?{% endblock %}</title>
|
<title>{% block title %}Czy dojadę?{% endblock %}</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<main role="main" class="container mt-5" id="app">
|
<main role="main" class="container" id="app">
|
||||||
{% block body %}{% endblock %}
|
{% block body %}{% endblock %}
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user