Compare commits

...

5 commits

Author SHA1 Message Date
d5bc01f6bd
add form for creating texts 2026-04-12 22:40:46 +03:00
210b77b10b
make new route for text creation 2026-04-12 22:40:22 +03:00
72d92debab
make create text method 2026-04-12 22:39:50 +03:00
854771eaa9
ignore data folder 2026-04-12 22:39:34 +03:00
3594f9c147
delete data file 2026-04-12 22:38:42 +03:00
5 changed files with 28 additions and 4 deletions

3
.gitignore vendored
View file

@ -1,2 +1,3 @@
vendor/
node_modules/
node_modules/
data/

View file

@ -2,8 +2,12 @@
namespace App\View;
use App\Text\CreateTextDto;
use App\Text\TextRepository;
use App\Text\UseCases\CreateText;
use App\Text\UseCases\CreateTextRequest;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
class ViewController
{
@ -34,4 +38,21 @@ class ViewController
return $response;
}
public function createText(
Request $request,
Response $response,
CreateText $createTextUseCase,
): Response {
$data = $request->getParsedBody();
$name = $data['name'] ?? '';
if (!empty($name)) {
$createTextUseCase->execute(new CreateTextRequest(
name: $name,
));
}
return $response->withHeader('Location', '/admin/texts')->withStatus(302);
}
}

View file

@ -13,5 +13,6 @@ $app->addErrorMiddleware(true, true, true);
$app->get('/admin', [ViewController::class, 'admin']);
$app->get('/admin/texts', [ViewController::class, 'texts']);
$app->post('/admin/texts', [ViewController::class, 'createText']);
return $app;

View file

@ -1 +0,0 @@
[]

View file

@ -9,7 +9,9 @@
<ul id="texts-list">
{{texts}}
</ul>
<input id="newTextName"/>
<button id="submit">submit</button>
<form action="/admin/texts" method="POST">
<input id="newTextName" name="name"/>
<button id="submit">submit</button>
</form>
</body>
</html>