mirror of
https://github.com/kvazar-network/webapp.git
synced 2025-02-03 18:54:29 +00:00
implement transaction page
This commit is contained in:
parent
a1e5c724f8
commit
66fd50005f
@ -41,4 +41,47 @@ class MainController extends AbstractController
|
|||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Route(
|
||||||
|
'/{transaction}',
|
||||||
|
name: 'main_transaction',
|
||||||
|
requirements:
|
||||||
|
[
|
||||||
|
'transaction' => '^[A-f0-9]{64}$',
|
||||||
|
],
|
||||||
|
methods:
|
||||||
|
[
|
||||||
|
'GET'
|
||||||
|
]
|
||||||
|
)]
|
||||||
|
public function transaction(
|
||||||
|
?Request $request
|
||||||
|
): Response
|
||||||
|
{
|
||||||
|
$index = new \Kvazar\Index\Manticore();
|
||||||
|
|
||||||
|
$records = $index->get(
|
||||||
|
'',
|
||||||
|
[
|
||||||
|
'crc32transaction' => crc32(
|
||||||
|
$request->get('transaction')
|
||||||
|
)
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
if (empty($records))
|
||||||
|
{
|
||||||
|
throw $this->createNotFoundException();
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->render(
|
||||||
|
'default/main/transaction.html.twig',
|
||||||
|
[
|
||||||
|
'request' => $request,
|
||||||
|
'record' => reset(
|
||||||
|
$records
|
||||||
|
)
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
@ -8,5 +8,30 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
{% block body %}{% endblock %}
|
{% block body %}{% endblock %}
|
||||||
|
<footer>
|
||||||
|
{% block footer %}
|
||||||
|
<div class="t-center px-16 pb-27">
|
||||||
|
<form name="namespace" action="{{ path('main_index') }}" method="GET">
|
||||||
|
<input class="p-8"
|
||||||
|
type="text"
|
||||||
|
name="search"
|
||||||
|
value="{{ request.get('search') }}"
|
||||||
|
placeholder="{{ 'key, value, block, ns, txid' | trans }}"
|
||||||
|
autocomplete="off" />
|
||||||
|
{#<button class="p-8 cursor-pointer" type="submit">{{ 'Search' | trans }}</button>#}
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="t-center px-16 pb-27">
|
||||||
|
<div class="pb-16 f-s-12 c-1">
|
||||||
|
<a href="https://github.com/kvazar-network/webapp">{{ 'KVAZAR Webapp' | trans }}</a>
|
||||||
|
{{ 'is content explorer for' | trans }}
|
||||||
|
<a href="https://kevacoin.org">{{ 'Kevacoin Blockchain' | trans }}</a>.
|
||||||
|
</div>
|
||||||
|
<div class="f-s-12 c-1">
|
||||||
|
{{ 'Sources distributed under the MIT License. Ownership of all content belongs to the authors.' | trans }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
<img class="br-50" src="{{ record.namespace | jIdenticon }}" alt="{{ record.namespace }}" />
|
<img class="br-50" src="{{ record.namespace | jIdenticon }}" alt="{{ record.namespace }}" />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<a class="d-block" href="{{ path('main_index',{'transaction':record.transaction}) }}">
|
<a class="d-block" href="{{ path('main_transaction',{'transaction':record.transaction}) }}">
|
||||||
<div class="f-s-16 mb-16 of-a">
|
<div class="f-s-16 mb-16 of-a">
|
||||||
{{ record.key }}
|
{{ record.key }}
|
||||||
</div>
|
</div>
|
||||||
@ -59,25 +59,4 @@
|
|||||||
}
|
}
|
||||||
) }}">{{ 'newer' | trans }}</a>
|
) }}">{{ 'newer' | trans }}</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="t-center px-16 pb-27">
|
|
||||||
<form name="namespace" action="{{ path('main_index') }}" method="GET">
|
|
||||||
<input class="p-8"
|
|
||||||
type="text"
|
|
||||||
name="search"
|
|
||||||
value="{{ request.get('search') }}"
|
|
||||||
placeholder="{{ 'key, value, block, ns, txid' | trans }}"
|
|
||||||
autocomplete="off" />
|
|
||||||
{#<button class="p-8 cursor-pointer" type="submit">{{ 'Search' | trans }}</button>#}
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<div class="t-center px-16 pb-27">
|
|
||||||
<div class="pb-16 f-s-12 c-1">
|
|
||||||
<a href="https://github.com/kvazar-network/webapp">{{ 'KVAZAR Webapp' | trans }}</a>
|
|
||||||
{{ 'is content explorer for' | trans }}
|
|
||||||
<a href="https://kevacoin.org">{{ 'Kevacoin Blockchain' | trans }}</a>.
|
|
||||||
</div>
|
|
||||||
<div class="f-s-12 c-1">
|
|
||||||
{{ 'Sources distributed under the MIT License. Ownership of all content belongs to the authors.' | trans }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
39
templates/default/main/transaction.html.twig
Normal file
39
templates/default/main/transaction.html.twig
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{% extends 'default/layout.html.twig' %}
|
||||||
|
{% block body %}
|
||||||
|
<div class="t-center px-16 pt-54">
|
||||||
|
<div class="mx-a mw-560 px-16">
|
||||||
|
<div class="mb-20">
|
||||||
|
<a class="logo f-s-20 c-0" href="{{ path('main_index') }}">{{ app.name }}</a>
|
||||||
|
</div>
|
||||||
|
<div class="mx-a mw-560 px-16 pb-16">
|
||||||
|
<a href="{{ path('main_namespace',{'namespace':record.namespace}) }}">
|
||||||
|
<img class="br-50 shine" src="{{ record.namespace | jIdenticon }}" alt="{{ record.namespace }}" />
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{# @TODO current namespace value
|
||||||
|
<div class="mb-36 c-1">
|
||||||
|
{{ 'Observe Kevacoin Universe' | trans }}
|
||||||
|
</div>
|
||||||
|
#}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="t-center px-16 pb-36">
|
||||||
|
<div class="b-g"></div>
|
||||||
|
</div>
|
||||||
|
<div class="t-center px-16">
|
||||||
|
<div class="mx-a mw-560 px-16">
|
||||||
|
<div class="f-s-16 mb-16 of-a">
|
||||||
|
{{ record.key }}
|
||||||
|
</div>
|
||||||
|
<div class="mb-20 of-a">
|
||||||
|
{{ record.value | nl2br }}
|
||||||
|
</div>
|
||||||
|
<div class="f-s-12">
|
||||||
|
{{ record.time | format_date }} {{ 'in' | trans }} {{ record.block }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="t-center px-16 py-27">
|
||||||
|
<div class="b-g"></div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
Loading…
x
Reference in New Issue
Block a user