Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
35b8d4676a | |||
98e00c6427 | |||
33da8354db | |||
a269395b9e | |||
3a5849d91a | |||
6234808d4f | |||
9ea119dba5 |
@ -3,43 +3,56 @@
|
|||||||
namespace App\Data;
|
namespace App\Data;
|
||||||
|
|
||||||
use App\Exceptions\ItemNotFoundException;
|
use App\Exceptions\ItemNotFoundException;
|
||||||
|
use Exception;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
use Illuminate\Support\Facades\Cache;
|
use Illuminate\Support\Facades\File;
|
||||||
use Illuminate\Support\Facades\Http;
|
use Illuminate\Support\Facades\Http;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use App\Config\GiteaConfig;
|
use App\Config\GiteaConfig;
|
||||||
|
|
||||||
class ItemsCollection
|
class ItemsCollection
|
||||||
{
|
{
|
||||||
protected Collection $items;
|
protected array $items;
|
||||||
protected Collection $locales;
|
protected array $locales;
|
||||||
|
|
||||||
private string $items_cache_key = 'items';
|
private string $items_file_key = 'items.json';
|
||||||
private string $locales_cache_key = 'locales';
|
private string $locales_file_key = 'locales.json';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
if (!Cache::has($this->items_cache_key)) {
|
if (!File::exists(storage_path($this->items_file_key))) {
|
||||||
$this->refreshItemsCache();
|
$this->refreshItemsCache();
|
||||||
} else {
|
} else {
|
||||||
$this->items = Cache::get($this->items_cache_key);
|
$content = file_get_contents(storage_path($this->items_file_key));
|
||||||
|
$this->items = json_decode($content, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Cache::has($this->locales_cache_key)) {
|
if (!File::exists(storage_path($this->locales_file_key ))) {
|
||||||
$this->refreshLocalesCache();
|
$this->refreshLocalesCache();
|
||||||
} else {
|
} else {
|
||||||
$this->locales = Cache::get($this->locales_cache_key);
|
$content = file_get_contents(storage_path($this->locales_file_key ));
|
||||||
|
$this->locales = json_decode($content, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return void
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
public function refreshLocalesCache(): void
|
public function refreshLocalesCache(): void
|
||||||
{
|
{
|
||||||
$this->locales = collect();
|
$time_limit = ini_get('max_execution_time');
|
||||||
|
$memory_limit = ini_get('memory_limit');
|
||||||
|
set_time_limit(180);
|
||||||
|
ini_set('memory_limit', '256M');
|
||||||
|
$this->locales = [];
|
||||||
$rawLocalesGlobalBaseUrl = GiteaConfig::RAW_LOCALES_GLOBAL_BASE_URL;
|
$rawLocalesGlobalBaseUrl = GiteaConfig::RAW_LOCALES_GLOBAL_BASE_URL;
|
||||||
|
|
||||||
// Getting all locales in project/assets/database/locales/global from the Server development branch repository
|
// Getting all locales in project/assets/database/locales/global from the Server development branch repository
|
||||||
|
$localesList = Http::withOptions(['verify' => false])->get(GiteaConfig::LOCALES_GLOBAL_URL)->json();
|
||||||
$localesList = collect(Http::withOptions(['verify' => false])->get(GiteaConfig::LOCALES_GLOBAL_URL)->json());
|
|
||||||
foreach ($localesList as $item) {
|
foreach ($localesList as $item) {
|
||||||
// Extract the json name for the locale
|
// Extract the json name for the locale
|
||||||
preg_match('/([a-z]{2}(-[a-z]{2})?).json/', $item['name'], $currentLocaleName, PREG_OFFSET_CAPTURE);
|
preg_match('/([a-z]{2}(-[a-z]{2})?).json/', $item['name'], $currentLocaleName, PREG_OFFSET_CAPTURE);
|
||||||
@ -49,35 +62,53 @@ class ItemsCollection
|
|||||||
|
|
||||||
$trimmedCurrentLocaleName = trim($currentLocaleName[1][0]);
|
$trimmedCurrentLocaleName = trim($currentLocaleName[1][0]);
|
||||||
$currentLocaleJson = Http::withOptions(['verify' => false])
|
$currentLocaleJson = Http::withOptions(['verify' => false])
|
||||||
->get("${rawLocalesGlobalBaseUrl}/${trimmedCurrentLocaleName}.json")->json();
|
->get("$rawLocalesGlobalBaseUrl/$trimmedCurrentLocaleName.json")->json();
|
||||||
$templateLocale = collect($currentLocaleJson['templates']);
|
$templateLocale = $currentLocaleJson['templates'];
|
||||||
$customizationLocale = collect($currentLocaleJson['customization']);
|
$customizationLocale = $currentLocaleJson['customization'];
|
||||||
$this->locales = $this->locales->merge([$trimmedCurrentLocaleName => $templateLocale->concat($customizationLocale)]);
|
$this->locales[$trimmedCurrentLocaleName] = array_merge($templateLocale, $customizationLocale);
|
||||||
}
|
}
|
||||||
Cache::put($this->locales_cache_key, $this->locales);
|
if (!$handle = fopen(storage_path($this->locales_file_key ), 'w')) {
|
||||||
|
throw new Exception('Cannot open the file');
|
||||||
|
}
|
||||||
|
fwrite($handle, json_encode($this->locales));
|
||||||
|
fclose($handle);
|
||||||
|
set_time_limit($time_limit);
|
||||||
|
ini_set('memory_limit', $memory_limit);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return void
|
* @return void
|
||||||
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public function refreshItemsCache(): void
|
public function refreshItemsCache(): void
|
||||||
{
|
{
|
||||||
$this->items = collect(Http::withOptions(['verify' => false])->get(GiteaConfig::RAW_ITEMS_URL)->json());
|
$time_limit = ini_get('max_execution_time');
|
||||||
$this->items = $this->items->merge(collect(Http::withOptions(['verify' => false])
|
$memory_limit = ini_get('memory_limit');
|
||||||
->get(GiteaConfig::RAW_CUSTOMIZATION_URL)->json()));
|
set_time_limit(180);
|
||||||
Cache::put($this->items_cache_key, $this->items);
|
ini_set('memory_limit', '256M');
|
||||||
|
$items = Http::withOptions(['verify' => false])->get(GiteaConfig::RAW_ITEMS_URL)->json();
|
||||||
|
$customization = Http::withOptions(['verify' => false])->get(GiteaConfig::RAW_CUSTOMIZATION_URL)->json();
|
||||||
|
$this->items = array_merge($items, $customization);
|
||||||
|
if (!$handle = fopen(storage_path($this->items_file_key ), 'w')) {
|
||||||
|
throw new Exception('Cannot open the file');
|
||||||
|
}
|
||||||
|
fwrite($handle, json_encode($this->items));
|
||||||
|
fclose($handle);
|
||||||
|
set_time_limit($time_limit);
|
||||||
|
ini_set('memory_limit', $memory_limit);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Collection
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function getLocales(): Collection
|
public function getLocales(): array
|
||||||
{
|
{
|
||||||
return $this->locales->keys();
|
return array_keys($this->locales);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return void
|
* @return void
|
||||||
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public function refreshAllCache(): void
|
public function refreshAllCache(): void
|
||||||
{
|
{
|
||||||
@ -106,7 +137,8 @@ class ItemsCollection
|
|||||||
*/
|
*/
|
||||||
public function findItem(string $query, string $locale): Collection
|
public function findItem(string $query, string $locale): Collection
|
||||||
{
|
{
|
||||||
return $this->items->filter(function ($val, $key) use ($query, $locale) {
|
$items = collect($this->items);
|
||||||
|
return $items->filter(function ($val, $key) use ($query, $locale) {
|
||||||
return $this->contains($val['_id'], $query)
|
return $this->contains($val['_id'], $query)
|
||||||
|| $this->contains($val['_name'], $query)
|
|| $this->contains($val['_name'], $query)
|
||||||
|| $this->contains($val['_parent'], $query)
|
|| $this->contains($val['_parent'], $query)
|
||||||
@ -118,7 +150,7 @@ class ItemsCollection
|
|||||||
'item' => [
|
'item' => [
|
||||||
'_id' => $item['_id'],
|
'_id' => $item['_id'],
|
||||||
'_name' => $item['_name'],
|
'_name' => $item['_name'],
|
||||||
],
|
],
|
||||||
'locale' => $this->locales[$locale][$item['_id']] ?? ''
|
'locale' => $this->locales[$locale][$item['_id']] ?? ''
|
||||||
];
|
];
|
||||||
})->values();
|
})->values();
|
||||||
@ -132,20 +164,21 @@ class ItemsCollection
|
|||||||
*/
|
*/
|
||||||
public function getItemById(string $id, string $locale): array
|
public function getItemById(string $id, string $locale): array
|
||||||
{
|
{
|
||||||
$item = $this->items[$id] ?? throw new ItemNotFoundException('Item not found');
|
$item = $this->items[$id] ?? throw new ItemNotFoundException('Item not found');
|
||||||
return [
|
return [
|
||||||
'item' => $item,
|
'item' => $item,
|
||||||
'locale' => $this->locales[$locale][$id] ?? ''
|
'locale' => $this->locales[$locale][$id] ?? ''
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getHierarchy(string $id, string $locale = 'en'): Collection {
|
public function getHierarchy(string $id, string $locale = 'en'): Collection
|
||||||
|
{
|
||||||
// Return 404 if the item does not exist
|
// Return 404 if the item does not exist
|
||||||
$itemData = $this->items[$id] ?? throw new ItemNotFoundException('Item not found');
|
$itemData = $this->items[$id] ?? throw new ItemNotFoundException('Item not found');
|
||||||
|
|
||||||
// Initialize the hierarchy with the current item
|
// Initialize the hierarchy with the current item
|
||||||
$item = [
|
$item = [
|
||||||
'item'=> [
|
'item' => [
|
||||||
'_id' => $itemData['_id'],
|
'_id' => $itemData['_id'],
|
||||||
'_name' => $itemData['_name'],
|
'_name' => $itemData['_name'],
|
||||||
'_parent' => $itemData['_parent']
|
'_parent' => $itemData['_parent']
|
||||||
@ -157,9 +190,9 @@ class ItemsCollection
|
|||||||
// Check the whole hierarchy and merge into the return variable
|
// Check the whole hierarchy and merge into the return variable
|
||||||
while (!empty($item['item']['_parent'] ?? '')) {
|
while (!empty($item['item']['_parent'] ?? '')) {
|
||||||
$itemtId = $item['item']['_parent'];
|
$itemtId = $item['item']['_parent'];
|
||||||
$itemData = $this->items[$itemtId] ?? null;
|
$itemData = $this->items[$itemtId] ?? null;
|
||||||
$item = [
|
$item = [
|
||||||
'item'=> [
|
'item' => [
|
||||||
'_id' => $itemData['_id'],
|
'_id' => $itemData['_id'],
|
||||||
'_name' => $itemData['_name'],
|
'_name' => $itemData['_name'],
|
||||||
'_parent' => $itemData['_parent']
|
'_parent' => $itemData['_parent']
|
||||||
|
@ -65,6 +65,7 @@ task('deploy', [
|
|||||||
'deploy:vendors',
|
'deploy:vendors',
|
||||||
'deploy:writable',
|
'deploy:writable',
|
||||||
'artisan:cache:clear',
|
'artisan:cache:clear',
|
||||||
|
'items:refresh',
|
||||||
'deploy:symlink',
|
'deploy:symlink',
|
||||||
'deploy:unlock',
|
'deploy:unlock',
|
||||||
'cleanup',
|
'cleanup',
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
{
|
{
|
||||||
"files": {
|
"files": {
|
||||||
"main.js": "/static/js/main.4a751c81.chunk.js",
|
"main.js": "/static/js/main.33101a6f.chunk.js",
|
||||||
"main.js.map": "/static/js/main.4a751c81.chunk.js.map",
|
"main.js.map": "/static/js/main.33101a6f.chunk.js.map",
|
||||||
"runtime-main.js": "/static/js/runtime-main.45092312.js",
|
"runtime-main.js": "/static/js/runtime-main.45092312.js",
|
||||||
"runtime-main.js.map": "/static/js/runtime-main.45092312.js.map",
|
"runtime-main.js.map": "/static/js/runtime-main.45092312.js.map",
|
||||||
"static/js/2.0d919e81.chunk.js": "/static/js/2.0d919e81.chunk.js",
|
"static/js/2.c9c7c886.chunk.js": "/static/js/2.c9c7c886.chunk.js",
|
||||||
"static/js/2.0d919e81.chunk.js.map": "/static/js/2.0d919e81.chunk.js.map",
|
"static/js/2.c9c7c886.chunk.js.map": "/static/js/2.c9c7c886.chunk.js.map",
|
||||||
"static/js/3.ff1076df.chunk.js": "/static/js/3.ff1076df.chunk.js",
|
"static/js/3.ff1076df.chunk.js": "/static/js/3.ff1076df.chunk.js",
|
||||||
"static/js/3.ff1076df.chunk.js.map": "/static/js/3.ff1076df.chunk.js.map",
|
"static/js/3.ff1076df.chunk.js.map": "/static/js/3.ff1076df.chunk.js.map",
|
||||||
"index.html": "/index.html",
|
"index.html": "/index.html",
|
||||||
"static/js/2.0d919e81.chunk.js.LICENSE.txt": "/static/js/2.0d919e81.chunk.js.LICENSE.txt"
|
"static/js/2.c9c7c886.chunk.js.LICENSE.txt": "/static/js/2.c9c7c886.chunk.js.LICENSE.txt"
|
||||||
},
|
},
|
||||||
"entrypoints": [
|
"entrypoints": [
|
||||||
"static/js/runtime-main.45092312.js",
|
"static/js/runtime-main.45092312.js",
|
||||||
"static/js/2.0d919e81.chunk.js",
|
"static/js/2.c9c7c886.chunk.js",
|
||||||
"static/js/main.4a751c81.chunk.js"
|
"static/js/main.33101a6f.chunk.js"
|
||||||
]
|
]
|
||||||
}
|
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
public/static/js/2.c9c7c886.chunk.js.map
Normal file
1
public/static/js/2.c9c7c886.chunk.js.map
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,73 +0,0 @@
|
|||||||
/*
|
|
||||||
object-assign
|
|
||||||
(c) Sindre Sorhus
|
|
||||||
@license MIT
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A better abstraction over CSS.
|
|
||||||
*
|
|
||||||
* @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present
|
|
||||||
* @website https://github.com/cssinjs/jss
|
|
||||||
* @license MIT
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @license MUI v5.0.1
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @license React v0.20.2
|
|
||||||
* scheduler.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @license React v16.13.1
|
|
||||||
* react-is.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @license React v17.0.2
|
|
||||||
* react-dom.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @license React v17.0.2
|
|
||||||
* react-is.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @license React v17.0.2
|
|
||||||
* react-jsx-runtime.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @license React v17.0.2
|
|
||||||
* react.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
File diff suppressed because one or more lines are too long
@ -1,2 +0,0 @@
|
|||||||
(this["webpackJsonpnew-item-finder-website"]=this["webpackJsonpnew-item-finder-website"]||[]).push([[3],{208:function(e,t,n){"use strict";n.r(t),n.d(t,"getCLS",(function(){return p})),n.d(t,"getFCP",(function(){return S})),n.d(t,"getFID",(function(){return F})),n.d(t,"getLCP",(function(){return k})),n.d(t,"getTTFB",(function(){return C}));var i,a,r,o,u=function(e,t){return{name:e,value:void 0===t?-1:t,delta:0,entries:[],id:"v1-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)}},c=function(e,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){if("first-input"===e&&!("PerformanceEventTiming"in self))return;var n=new PerformanceObserver((function(e){return e.getEntries().map(t)}));return n.observe({type:e,buffered:!0}),n}}catch(e){}},f=function(e,t){var n=function n(i){"pagehide"!==i.type&&"hidden"!==document.visibilityState||(e(i),t&&(removeEventListener("visibilitychange",n,!0),removeEventListener("pagehide",n,!0)))};addEventListener("visibilitychange",n,!0),addEventListener("pagehide",n,!0)},s=function(e){addEventListener("pageshow",(function(t){t.persisted&&e(t)}),!0)},m="function"==typeof WeakSet?new WeakSet:new Set,d=function(e,t,n){var i;return function(){t.value>=0&&(n||m.has(t)||"hidden"===document.visibilityState)&&(t.delta=t.value-(i||0),(t.delta||void 0===i)&&(i=t.value,e(t)))}},p=function(e,t){var n,i=u("CLS",0),a=function(e){e.hadRecentInput||(i.value+=e.value,i.entries.push(e),n())},r=c("layout-shift",a);r&&(n=d(e,i,t),f((function(){r.takeRecords().map(a),n()})),s((function(){i=u("CLS",0),n=d(e,i,t)})))},v=-1,l=function(){return"hidden"===document.visibilityState?0:1/0},h=function(){f((function(e){var t=e.timeStamp;v=t}),!0)},g=function(){return v<0&&(v=l(),h(),s((function(){setTimeout((function(){v=l(),h()}),0)}))),{get timeStamp(){return v}}},S=function(e,t){var n,i=g(),a=u("FCP"),r=function(e){"first-contentful-paint"===e.name&&(f&&f.disconnect(),e.startTime<i.timeStamp&&(a.value=e.startTime,a.entries.push(e),m.add(a),n()))},o=performance.getEntriesByName("first-contentful-paint")[0],f=o?null:c("paint",r);(o||f)&&(n=d(e,a,t),o&&r(o),s((function(i){a=u("FCP"),n=d(e,a,t),requestAnimationFrame((function(){requestAnimationFrame((function(){a.value=performance.now()-i.timeStamp,m.add(a),n()}))}))})))},y={passive:!0,capture:!0},w=new Date,E=function(e,t){i||(i=t,a=e,r=new Date,b(removeEventListener),L())},L=function(){if(a>=0&&a<r-w){var e={entryType:"first-input",name:i.type,target:i.target,cancelable:i.cancelable,startTime:i.timeStamp,processingStart:i.timeStamp+a};o.forEach((function(t){t(e)})),o=[]}},T=function(e){if(e.cancelable){var t=(e.timeStamp>1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?function(e,t){var n=function(){E(e,t),a()},i=function(){a()},a=function(){removeEventListener("pointerup",n,y),removeEventListener("pointercancel",i,y)};addEventListener("pointerup",n,y),addEventListener("pointercancel",i,y)}(t,e):E(t,e)}},b=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach((function(t){return e(t,T,y)}))},F=function(e,t){var n,r=g(),p=u("FID"),v=function(e){e.startTime<r.timeStamp&&(p.value=e.processingStart-e.startTime,p.entries.push(e),m.add(p),n())},l=c("first-input",v);n=d(e,p,t),l&&f((function(){l.takeRecords().map(v),l.disconnect()}),!0),l&&s((function(){var r;p=u("FID"),n=d(e,p,t),o=[],a=-1,i=null,b(addEventListener),r=v,o.push(r),L()}))},k=function(e,t){var n,i=g(),a=u("LCP"),r=function(e){var t=e.startTime;t<i.timeStamp&&(a.value=t,a.entries.push(e)),n()},o=c("largest-contentful-paint",r);if(o){n=d(e,a,t);var p=function(){m.has(a)||(o.takeRecords().map(r),o.disconnect(),m.add(a),n())};["keydown","click"].forEach((function(e){addEventListener(e,p,{once:!0,capture:!0})})),f(p,!0),s((function(i){a=u("LCP"),n=d(e,a,t),requestAnimationFrame((function(){requestAnimationFrame((function(){a.value=performance.now()-i.timeStamp,m.add(a),n()}))}))}))}},C=function(e){var t,n=u("TTFB");t=function(){try{var t=performance.getEntriesByType("navigation")[0]||function(){var e=performance.timing,t={entryType:"navigation",startTime:0};for(var n in e)"navigationStart"!==n&&"toJSON"!==n&&(t[n]=Math.max(e[n]-e.navigationStart,0));return t}();if(n.value=n.delta=t.responseStart,n.value<0)return;n.entries=[t],e(n)}catch(e){}},"complete"===document.readyState?setTimeout(t,0):addEventListener("pageshow",t)}}}]);
|
|
||||||
//# sourceMappingURL=3.f4122446.chunk.js.map
|
|
File diff suppressed because one or more lines are too long
2
public/static/js/main.33101a6f.chunk.js
Normal file
2
public/static/js/main.33101a6f.chunk.js
Normal file
File diff suppressed because one or more lines are too long
1
public/static/js/main.33101a6f.chunk.js.map
Normal file
1
public/static/js/main.33101a6f.chunk.js.map
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,2 +0,0 @@
|
|||||||
!function(e){function t(t){for(var n,u,a=t[0],c=t[1],f=t[2],s=0,p=[];s<a.length;s++)u=a[s],Object.prototype.hasOwnProperty.call(o,u)&&o[u]&&p.push(o[u][0]),o[u]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(l&&l(t);p.length;)p.shift()();return i.push.apply(i,f||[]),r()}function r(){for(var e,t=0;t<i.length;t++){for(var r=i[t],n=!0,a=1;a<r.length;a++){var c=r[a];0!==o[c]&&(n=!1)}n&&(i.splice(t--,1),e=u(u.s=r[0]))}return e}var n={},o={1:0},i=[];function u(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,u),r.l=!0,r.exports}u.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var i,a=document.createElement("script");a.charset="utf-8",a.timeout=120,u.nc&&a.setAttribute("nonce",u.nc),a.src=function(e){return u.p+"static/js/"+({}[e]||e)+"."+{3:"f4122446"}[e]+".chunk.js"}(e);var c=new Error;i=function(t){a.onerror=a.onload=null,clearTimeout(f);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+i+")",c.name="ChunkLoadError",c.type=n,c.request=i,r[1](c)}o[e]=void 0}};var f=setTimeout((function(){i({type:"timeout",target:a})}),12e4);a.onerror=a.onload=i,document.head.appendChild(a)}return Promise.all(t)},u.m=e,u.c=n,u.d=function(e,t,r){u.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},u.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,t){if(1&t&&(e=u(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(u.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)u.d(r,n,function(t){return e[t]}.bind(null,n));return r},u.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(t,"a",t),t},u.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},u.p="/",u.oe=function(e){throw console.error(e),e};var a=this["webpackJsonpnew-item-finder-website"]=this["webpackJsonpnew-item-finder-website"]||[],c=a.push.bind(a);a.push=t,a=a.slice();for(var f=0;f<a.length;f++)t(a[f]);var l=c;r()}([]);
|
|
||||||
//# sourceMappingURL=runtime-main.bdac3883.js.map
|
|
File diff suppressed because one or more lines are too long
@ -2,9 +2,9 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<link rel="icon"
|
<link rel="icon"
|
||||||
href="data:image/png;base64,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" />
|
href="data:image/png;base64,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" />
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||||
<meta name="theme-color" content="#000000" />
|
<meta name="theme-color" content="#000000" />
|
||||||
<meta name="description" content="item finder" />
|
<meta name="description" content="item finder" />
|
||||||
@ -14,10 +14,10 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body><noscript>You need to enable JavaScript to run this app.</noscript>
|
<body><noscript>You need to enable JavaScript to run this app.</noscript>
|
||||||
<div id="root"></div>
|
<div id="root"></div>
|
||||||
<script>!function (e) { function t(t) { for (var n, u, a = t[0], c = t[1], f = t[2], s = 0, p = []; s < a.length; s++)u = a[s], Object.prototype.hasOwnProperty.call(o, u) && o[u] && p.push(o[u][0]), o[u] = 0; for (n in c) Object.prototype.hasOwnProperty.call(c, n) && (e[n] = c[n]); for (l && l(t); p.length;)p.shift()(); return i.push.apply(i, f || []), r() } function r() { for (var e, t = 0; t < i.length; t++) { for (var r = i[t], n = !0, a = 1; a < r.length; a++) { var c = r[a]; 0 !== o[c] && (n = !1) } n && (i.splice(t--, 1), e = u(u.s = r[0])) } return e } var n = {}, o = { 1: 0 }, i = []; function u(t) { if (n[t]) return n[t].exports; var r = n[t] = { i: t, l: !1, exports: {} }; return e[t].call(r.exports, r, r.exports, u), r.l = !0, r.exports } u.e = function (e) { var t = [], r = o[e]; if (0 !== r) if (r) t.push(r[2]); else { var n = new Promise((function (t, n) { r = o[e] = [t, n] })); t.push(r[2] = n); var i, a = document.createElement("script"); a.charset = "utf-8", a.timeout = 120, u.nc && a.setAttribute("nonce", u.nc), a.src = function (e) { return u.p + "static/js/" + ({}[e] || e) + "." + { 3: "ff1076df" }[e] + ".chunk.js" }(e); var c = new Error; i = function (t) { a.onerror = a.onload = null, clearTimeout(f); var r = o[e]; if (0 !== r) { if (r) { var n = t && ("load" === t.type ? "missing" : t.type), i = t && t.target && t.target.src; c.message = "Loading chunk " + e + " failed.\n(" + n + ": " + i + ")", c.name = "ChunkLoadError", c.type = n, c.request = i, r[1](c) } o[e] = void 0 } }; var f = setTimeout((function () { i({ type: "timeout", target: a }) }), 12e4); a.onerror = a.onload = i, document.head.appendChild(a) } return Promise.all(t) }, u.m = e, u.c = n, u.d = function (e, t, r) { u.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: r }) }, u.r = function (e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }) }, u.t = function (e, t) { if (1 & t && (e = u(e)), 8 & t) return e; if (4 & t && "object" == typeof e && e && e.__esModule) return e; var r = Object.create(null); if (u.r(r), Object.defineProperty(r, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var n in e) u.d(r, n, function (t) { return e[t] }.bind(null, n)); return r }, u.n = function (e) { var t = e && e.__esModule ? function () { return e.default } : function () { return e }; return u.d(t, "a", t), t }, u.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, u.p = "/", u.oe = function (e) { throw console.error(e), e }; var a = this["webpackJsonpnew-item-finder-website"] = this["webpackJsonpnew-item-finder-website"] || [], c = a.push.bind(a); a.push = t, a = a.slice(); for (var f = 0; f < a.length; f++)t(a[f]); var l = c; r() }([])</script>
|
<script>!function (e) { function t(t) { for (var n, u, a = t[0], c = t[1], f = t[2], s = 0, p = []; s < a.length; s++)u = a[s], Object.prototype.hasOwnProperty.call(o, u) && o[u] && p.push(o[u][0]), o[u] = 0; for (n in c) Object.prototype.hasOwnProperty.call(c, n) && (e[n] = c[n]); for (l && l(t); p.length;)p.shift()(); return i.push.apply(i, f || []), r() } function r() { for (var e, t = 0; t < i.length; t++) { for (var r = i[t], n = !0, a = 1; a < r.length; a++) { var c = r[a]; 0 !== o[c] && (n = !1) } n && (i.splice(t--, 1), e = u(u.s = r[0])) } return e } var n = {}, o = { 1: 0 }, i = []; function u(t) { if (n[t]) return n[t].exports; var r = n[t] = { i: t, l: !1, exports: {} }; return e[t].call(r.exports, r, r.exports, u), r.l = !0, r.exports } u.e = function (e) { var t = [], r = o[e]; if (0 !== r) if (r) t.push(r[2]); else { var n = new Promise((function (t, n) { r = o[e] = [t, n] })); t.push(r[2] = n); var i, a = document.createElement("script"); a.charset = "utf-8", a.timeout = 120, u.nc && a.setAttribute("nonce", u.nc), a.src = function (e) { return u.p + "static/js/" + ({}[e] || e) + "." + { 3: "ff1076df" }[e] + ".chunk.js" }(e); var c = new Error; i = function (t) { a.onerror = a.onload = null, clearTimeout(f); var r = o[e]; if (0 !== r) { if (r) { var n = t && ("load" === t.type ? "missing" : t.type), i = t && t.target && t.target.src; c.message = "Loading chunk " + e + " failed.\n(" + n + ": " + i + ")", c.name = "ChunkLoadError", c.type = n, c.request = i, r[1](c) } o[e] = void 0 } }; var f = setTimeout((function () { i({ type: "timeout", target: a }) }), 12e4); a.onerror = a.onload = i, document.head.appendChild(a) } return Promise.all(t) }, u.m = e, u.c = n, u.d = function (e, t, r) { u.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: r }) }, u.r = function (e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }) }, u.t = function (e, t) { if (1 & t && (e = u(e)), 8 & t) return e; if (4 & t && "object" == typeof e && e && e.__esModule) return e; var r = Object.create(null); if (u.r(r), Object.defineProperty(r, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var n in e) u.d(r, n, function (t) { return e[t] }.bind(null, n)); return r }, u.n = function (e) { var t = e && e.__esModule ? function () { return e.default } : function () { return e }; return u.d(t, "a", t), t }, u.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, u.p = "/", u.oe = function (e) { throw console.error(e), e }; var a = this["webpackJsonpnew-item-finder-website"] = this["webpackJsonpnew-item-finder-website"] || [], c = a.push.bind(a); a.push = t, a = a.slice(); for (var f = 0; f < a.length; f++)t(a[f]); var l = c; r() }([])</script>
|
||||||
<script src="/static/js/2.0d919e81.chunk.js"></script>
|
<script src="/static/js/2.c9c7c886.chunk.js"></script>
|
||||||
<script src="/static/js/main.4a751c81.chunk.js"></script>
|
<script src="/static/js/main.33101a6f.chunk.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user