Skip to content

Commit

Permalink
chg: [show domain screenshots] replace canevas by img blur
Browse files Browse the repository at this point in the history
  • Loading branch information
Terrtia committed Sep 19, 2024
1 parent aca877b commit a5a2f90
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 111 deletions.
174 changes: 64 additions & 110 deletions var/www/templates/crawler/crawler_splash/showDomain.html
Original file line number Diff line number Diff line change
Expand Up @@ -423,12 +423,16 @@ <h5>Capture {% if not dict_domain["crawler_history_items"] %}: Domain DOWN{% end
{% endfor %}
</div>
</td>
<td class="text-center">
{%if item['crawler']["screenshot"]%}
<span class="icon_img" onclick="reload_image('{{ item['crawler']["screenshot"] }}', '{{ item['crawler']["url"] }}', '{{ item["id"] }}');" id="{{ item['crawler']["screenshot"].replace('/', '') }}">
<i class="far fa-image"></i>
{%endif%}
</td>
{%if item['crawler']["screenshot"]%}
<td class="text-center icon_img" title="Show Screenshot" onclick="reload_image('{{ item['crawler']["screenshot"] }}', '{{ item['crawler']["url"] }}', '{{ item["id"] }}');" id="{{ item['crawler']["screenshot"].replace('/', '') }}">
<span class="">
<i class="far fa-image"></i>
</span>
</td>
{% else %}
<td></td>
{%endif%}

</tr>
{% endfor %}

Expand Down Expand Up @@ -474,32 +478,12 @@ <h5>Capture {% if not dict_domain["crawler_history_items"] %}: Domain DOWN{% end
</div>

<div class="col-12 col-xl-6">
<div class="card my-2" style="background-color:#ecf0f1;">
<div class="card-body py-2">
<div class="row">
<div class="col-md-3 text-center">
<button class="btn {%if dict_domain['tags_safe']%}btn-primary{%else%}btn-danger{%endif%}" onclick="blocks.value=0;pixelate();">
<i class="fas fa-eye-slash"></i>
<span class="label-icon">Hide</span>
</button>
</div>
<div class="col-md-6">
<input class="custom-range mt-2" id="blocks" type="range" min="1" max="50" value="{%if dict_domain['tags_safe']%}13{%else%}0{%endif%}">
</div>
<div class="col-md-3 text-center">
<button class="btn {%if dict_domain['tags_safe']%}btn-primary{%else%}btn-danger{%endif%}" onclick="blocks.value=50;pixelate();">
{%if dict_domain['tags_safe']%}
<i class="fas fa-plus-square"></i>
{%else%}
<i class="fas fa-exclamation-triangle"></i>
{%endif%}
<span class="label-icon">Full resolution</span>
</button>
</div>
</div>
</div>
</div>
<canvas id="canvas" style="width:100%;"></canvas>
{# button usafe if not tag safe <i class="fas fa-exclamation-triangle"></i> #}

<div class="mt-2">
{% include 'objects/image/block_blur_img_slider.html' %}
</div>
<span><img class="object_image mb-1" style="width: 100%;" alt="" id="domain_screenshot"></span>
<div class="text-center">
<small class="text-info" style="line-height:0.9;">
<a target="_blank" href="" id="screenshot_link"></a>
Expand Down Expand Up @@ -557,88 +541,58 @@ <h5>Capture {% if not dict_domain["crawler_history_items"] %}: Domain DOWN{% end
</script>

<script>
var ctx = canvas.getContext('2d'), img = new Image();
var base_url = "{{ url_for('objects_item.screenshot', filename="") }}";
var screenshot_href = "{{ url_for('objects_item.showItem') }}?id=";

/// turn off image smoothing
ctx.webkitImageSmoothingEnabled = false;
ctx.imageSmoothingEnabled = false;

img.onload = pixelate;
img.addEventListener("error", img_error);
var draw_img = false;

{%if "crawler_history_items" in dict_domain%}
{%if "random_item" in dict_domain%}
{%if dict_domain['random_item']['crawler']['screenshot']%}
var screenshot = "{{dict_domain['random_item']['crawler']['screenshot']}}";
var selected_icon = $("#"+screenshot.replace(/\//g, ""));
selected_icon.addClass("icon_selected");
selected_icon.removeClass("icon_img");

$("#screenshot_link").attr("href", screenshot_href + "{{dict_domain['random_item']['id']}}");
$("#screenshot_link").text("{{dict_domain['random_item']['crawler']['url']}}");
{%else%}
var screenshot = "";
{%endif%}
{%endif%}
{%else%}
var screenshot = "";
{%endif%}

img.src = base_url + screenshot;

function pixelate() {
/// use slider value
if( blocks.value == 50 ){
size = 1;
} else {
var size = (blocks.value) * 0.01;
}

canvas.width = img.width;
canvas.height = img.height;

/// cache scaled width and height
w = canvas.width * size;
h = canvas.height * size;

/// draw original image to the scaled size
ctx.drawImage(img, 0, 0, w, h);

/// pixelated
ctx.drawImage(canvas, 0, 0, w, h, 0, 0, canvas.width, canvas.height);

}

blocks.addEventListener('change', pixelate, false);

function img_error() {
img.onerror=null;
img.src="{{ url_for('static', filename='image/AIL.png') }}";
blocks.value = 50;
pixelate;
}
{% if not dict_domain['tags_safe'] %}
blur_unsafe();
{% else %}
blur_images();
{% endif %}



const base_url = "{{ url_for('objects_item.screenshot', filename="") }}";
const screenshot_href = "{{ url_for('objects_item.showItem') }}?id=";
const domain_screenshot = document.getElementById('domain_screenshot');
var screenshot;
var screenshot_link = $("#screenshot_link");

domain_screenshot.addEventListener('error', function() {
domain_screenshot.src = "{{ url_for('static', filename='image/AIL.png') }}";
});

{% if "crawler_history_items" in dict_domain %}
{% if "random_item" in dict_domain %}
{% if dict_domain['random_item']['crawler']['screenshot'] %}
screenshot = "{{dict_domain['random_item']['crawler']['screenshot']}}";
var selected_icon = $("#"+screenshot.replace(/\//g, ""));
selected_icon.addClass("icon_selected");
selected_icon.removeClass("icon_img");

screenshot_link.attr("href", screenshot_href + "{{dict_domain['random_item']['id']}}");
screenshot_link.text("{{dict_domain['random_item']['crawler']['url']}}");
{% else %}
screenshot = "";
{% endif %}
{% endif %}
{% else %}
screenshot = "";
{% endif %}
domain_screenshot.src = base_url + screenshot;

function reload_image(new_screenshot, link, item_id) {
if (screenshot) {
$("#"+screenshot.replace(/\//g, "")).removeClass("icon_selected").addClass("icon_img");
}
screenshot = new_screenshot;

img.src=base_url + screenshot;
selected_icon = $("#"+screenshot.replace(/\//g, ""));
selected_icon.addClass("icon_selected");
selected_icon.removeClass("icon_img")

$("#screenshot_link").attr("href", screenshot_href + item_id);
$("#screenshot_link").text(link);
pixelate;
if (screenshot) {
$("#"+screenshot.replace(/\//g, "")).removeClass("icon_selected").addClass("icon_img");
}
screenshot = new_screenshot;

domain_screenshot.src=base_url + screenshot;
selected_icon = $("#"+screenshot.replace(/\//g, ""));
selected_icon.addClass("icon_selected");
selected_icon.removeClass("icon_img")

screenshot_link.attr("href", screenshot_href + item_id);
screenshot_link.text(link);
}


</script>


</html>
9 changes: 8 additions & 1 deletion var/www/templates/objects/image/block_blur_img_slider.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<input type="range" min="0" max="15" step="0.1" value="10" id="blur-slider" onchange="blur_images();">
</div>
<div class="col-md-3 text-center">
<button class="btn btn-sm btn-secondary" onclick="blur_slider.val(15);blur_images();">
<button class="btn btn-sm btn-secondary" id="btn_unblur_img" onclick="blur_slider.val(15);blur_images();">
<i class="fas fa-image"></i>
<span class="label-icon">Full</span>
</button>
Expand All @@ -31,4 +31,11 @@
images[i].style.filter = "blur(" + blurValue + "px)";
}
}
function blur_unsafe(){
blur_slider.val(0);
blur_images();
let btn = $('#btn_unblur_img');
btn.removeClass("btn-secondary")
btn.addClass("btn-danger");
}
</script>

0 comments on commit a5a2f90

Please sign in to comment.