Skip to content
Snippets Groups Projects
Commit b4771fc3 authored by Dominik Hebeler's avatar Dominik Hebeler
Browse files

Merge branch 'development' into 1041-opening-in-new-tab

parents 0894ccb4 28ca0eef
No related branches found
No related tags found
3 merge requests!1895Development,!1747Development,!1742Resolve "Opening in New Tab"
Showing
with 228 additions and 97 deletions
...@@ -77,6 +77,10 @@ review: ...@@ -77,6 +77,10 @@ review:
variables: variables:
HELM_UPGRADE_VALUES_FILE: .gitlab/review-apps-values.yaml HELM_UPGRADE_VALUES_FILE: .gitlab/review-apps-values.yaml
ROLLOUT_RESOURCE_TYPE: deployment ROLLOUT_RESOURCE_TYPE: deployment
environment:
name: review/$CI_COMMIT_REF_NAME
on_stop: stop_review
auto_stop_in: 2 days
rules: rules:
- if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""' - if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""'
when: never when: never
...@@ -89,6 +93,11 @@ review: ...@@ -89,6 +93,11 @@ review:
- if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH' - if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH'
stop_review: stop_review:
variables:
GIT_STRATEGY: none
environment:
name: review/$CI_COMMIT_REF_NAME
action: stop
rules: rules:
- if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""' - if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""'
when: never when: never
......
...@@ -7,13 +7,26 @@ hpa: ...@@ -7,13 +7,26 @@ hpa:
enabled: true enabled: true
minReplicas: 1 minReplicas: 1
maxReplicas: 5 maxReplicas: 5
resources: resourcesPhpfpm:
limits: requests:
cpu: 500m cpu: 500m
memory: 500M
limits:
resourcesNginx:
requests:
cpu: 100m
memory: 100M
limits:
resourcesRedis:
requests:
cpu: 100m
memory: 1Gi memory: 1Gi
limits:
resourcesFetcher:
requests: requests:
cpu: 500m cpu: 500m
memory: 1Gi memory: 100M
limits:
podDisruptionBudget: podDisruptionBudget:
enabled: true enabled: true
minAvailable: minAvailable:
......
...@@ -7,13 +7,6 @@ hpa: ...@@ -7,13 +7,6 @@ hpa:
enabled: true enabled: true
minReplicas: 3 minReplicas: 3
maxReplicas: 100 maxReplicas: 100
resources:
limits:
cpu: 500m
memory: 1Gi
requests:
cpu: 500m
memory: 1Gi
podDisruptionBudget: podDisruptionBudget:
enabled: true enabled: true
minAvailable: minAvailable:
...@@ -23,6 +16,29 @@ podAnnotations: ...@@ -23,6 +16,29 @@ podAnnotations:
prometheus.io/path: /metrics prometheus.io/path: /metrics
prometheus.io/port: "80" prometheus.io/port: "80"
deploymentApiVersion: apps/v1 deploymentApiVersion: apps/v1
resources:
requests:
limits:
resourcesPhpfpm:
requests:
cpu: 500m
memory: 500M
limits:
resourcesNginx:
requests:
cpu: 100m
memory: 100M
limits:
resourcesRedis:
requests:
cpu: 100m
memory: 1Gi
limits:
resourcesFetcher:
requests:
cpu: 500m
memory: 100M
limits:
ingress: ingress:
annotations: annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod cert-manager.io/cluster-issuer: letsencrypt-prod
......
...@@ -2,6 +2,9 @@ postgresql: ...@@ -2,6 +2,9 @@ postgresql:
enabled: false enabled: false
hpa: hpa:
enabled: false enabled: false
resources:
requests:
limits:
ingress: ingress:
annotations: annotations:
kubernetes.io/tls-acme: "false" kubernetes.io/tls-acme: "false"
...@@ -21,4 +24,16 @@ service: ...@@ -21,4 +24,16 @@ service:
commonName: "" commonName: ""
externalPort: 80 externalPort: 80
internalPort: 80 internalPort: 80
deploymentApiVersion: apps/v1 deploymentApiVersion: apps/v1
\ No newline at end of file resourcesPhpfpm:
requests:
limits:
resourcesNginx:
requests:
limits:
resourcesRedis:
requests:
limits:
resourcesFetcher:
requests:
limits:
\ No newline at end of file
...@@ -31,7 +31,6 @@ class AdminInterface extends Controller ...@@ -31,7 +31,6 @@ class AdminInterface extends Controller
if (strstr($key, "_time")) { if (strstr($key, "_time")) {
$stati[$name]["fetcher"][$pid]["connection"][$key] = $val; $stati[$name]["fetcher"][$pid]["connection"][$key] = $val;
} }
} }
$stati[$name]["fetcher"][$pid]["poptime"] = $value[1]; $stati[$name]["fetcher"][$pid]["poptime"] = $value[1];
} }
...@@ -157,7 +156,7 @@ class AdminInterface extends Controller ...@@ -157,7 +156,7 @@ class AdminInterface extends Controller
$now->minute = 0; $now->minute = 0;
$now->second = 0; $now->second = 0;
while($now->lessThanOrEqualTo(Carbon::now())){ while ($now->lessThanOrEqualTo(Carbon::now())) {
$sameTime += empty($stats->time->{$now->format('H:i')}->{$interface}) ? 0 : $stats->time->{$now->format('H:i')}->{$interface}; $sameTime += empty($stats->time->{$now->format('H:i')}->{$interface}) ? 0 : $stats->time->{$now->format('H:i')}->{$interface};
$now->addMinutes(5); $now->addMinutes(5);
} }
...@@ -178,19 +177,38 @@ class AdminInterface extends Controller ...@@ -178,19 +177,38 @@ class AdminInterface extends Controller
if ($size > 0) { if ($size > 0) {
$oldLogs[$key]['median'] = number_format(floatval(round($count / $size)), 0, ",", "."); $oldLogs[$key]['median'] = number_format(floatval(round($count / $size)), 0, ",", ".");
} }
}
$sameTimes = [];
$sum = 0;
foreach ($oldLogs as $index => $oldLog) {
if ($index % 7 === 0) {
$sameTime = $oldLog["sameTime"];
$sameTime = str_replace(".", "", $sameTime);
$sameTime = \intval($sameTime);
$sameTimes[] = ($logToday - $sameTime);
$sum += ($logToday - $sameTime);
}
}
$averageIncrease = 0;
if (sizeof($sameTimes) > 0) {
$averageIncrease = $sum / sizeof($sameTimes);
} }
if ($request->input('out', 'web') === "web") { if ($request->input('out', 'web') === "web") {
return view('admin.count') return view('admin.count')
->with('title', 'Suchanfragen - MetaGer') ->with('title', 'Suchanfragen - MetaGer')
->with('today', number_format(floatval($logToday), 0, ",", ".")) ->with('today', number_format(floatval($logToday), 0, ",", "."))
->with('averageIncrease', $averageIncrease)
->with('oldLogs', $oldLogs) ->with('oldLogs', $oldLogs)
->with('minCount', $minCount) ->with('minCount', $minCount)
->with('rekordCount', number_format(floatval($rekordTag), 0, ",", ".")) ->with('rekordCount', number_format(floatval($rekordTag), 0, ",", "."))
->with('rekordTagSameTime', number_format(floatval($rekordTagSameTime), 0, ",", ".")) ->with('rekordTagSameTime', number_format(floatval($rekordTagSameTime), 0, ",", "."))
->with('rekordDate', $rekordTagDate) ->with('rekordDate', $rekordTagDate)
->with('days', $days); ->with('days', $days)
->with('css', [mix('/css/count/style.css')])
->with('darkcss', [mix('/css/count/dark.css')]);
} else { } else {
$result = ""; $result = "";
foreach ($oldLogs as $key => $value) { foreach ($oldLogs as $key => $value) {
...@@ -203,9 +221,7 @@ class AdminInterface extends Controller ...@@ -203,9 +221,7 @@ class AdminInterface extends Controller
return response($result, 200) return response($result, 200)
->header('Content-Type', 'text/csv') ->header('Content-Type', 'text/csv')
->header('Content-Disposition', 'attachment; filename="count.csv"'); ->header('Content-Disposition', 'attachment; filename="count.csv"');
} }
} }
public function countGraphToday() public function countGraphToday()
...@@ -235,7 +251,6 @@ class AdminInterface extends Controller ...@@ -235,7 +251,6 @@ class AdminInterface extends Controller
return response() return response()
->view('admin.countGraphToday', ["data" => $result], 200) ->view('admin.countGraphToday', ["data" => $result], 200)
->header('Content-Type', "image/svg+xml"); ->header('Content-Type', "image/svg+xml");
} }
public function engineStats() public function engineStats()
......
...@@ -53,7 +53,8 @@ class StartpageController extends Controller ...@@ -53,7 +53,8 @@ class StartpageController extends Controller
->with('request', $request->input('request', 'GET')) ->with('request', $request->input('request', 'GET'))
->with('option_values', $option_values) ->with('option_values', $option_values)
->with('autocomplete', $autocomplete) ->with('autocomplete', $autocomplete)
->with('pluginmodal', $request->input('plugin-modal', 'off')); ->with('pluginmodal', $request->input('plugin-modal', 'off'))
->with('darkcss', [mix('css/themes/startpage-only-dark.css')]);
} }
public function loadPage($subpage) public function loadPage($subpage)
...@@ -88,8 +89,9 @@ class StartpageController extends Controller ...@@ -88,8 +89,9 @@ class StartpageController extends Controller
} }
$response = Response::make( $response = Response::make(
view('plugin') view('plugin')
->with('link', $link) ->with('link', $link),
, "200"); "200"
);
$response->header('Content-Type', "application/opensearchdescription+xml"); $response->header('Content-Type', "application/opensearchdescription+xml");
return $response; return $response;
} }
......
...@@ -95,15 +95,13 @@ class ConvertCountFile implements ShouldQueue ...@@ -95,15 +95,13 @@ class ConvertCountFile implements ShouldQueue
fclose($fh); fclose($fh);
} }
if (!$error) { $oldUmask = umask(0);
$oldUmask = umask(0); // Write the result to a File
// Write the result to a File if (!file_exists($this->files["countPath"])) {
if (!file_exists($this->files["countPath"])) { mkdir($this->files["countPath"], 0777, true);
mkdir($this->files["countPath"], 0777, true);
}
file_put_contents($this->files["countFile"], json_encode($result, JSON_PRETTY_PRINT));
umask($oldUmask);
} }
file_put_contents($this->files["countFile"], json_encode($result, JSON_PRETTY_PRINT));
umask($oldUmask);
Redis::del(md5($this->files["countFile"])); Redis::del(md5($this->files["countFile"]));
} }
......
...@@ -139,9 +139,7 @@ spec: ...@@ -139,9 +139,7 @@ spec:
subPath: adBlacklistDomains.txt subPath: adBlacklistDomains.txt
readOnly: true readOnly: true
resources: resources:
requests: {{ toYaml .Values.resourcesPhpfpm | indent 12 }}
cpu: 500m
memory: 500m
# Nginx Container # Nginx Container
- name: {{ .Chart.Name }}-nginx - name: {{ .Chart.Name }}-nginx
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
...@@ -187,9 +185,7 @@ spec: ...@@ -187,9 +185,7 @@ spec:
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }} initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }} timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
resources: resources:
requests: {{ toYaml .Values.resourcesNginx | indent 12 }}
cpu: 100m
memory: 100m
# Redis Container # Redis Container
- name: {{ .Chart.Name }}-redis - name: {{ .Chart.Name }}-redis
image: "redis:5.0.3-alpine" image: "redis:5.0.3-alpine"
...@@ -208,9 +204,7 @@ spec: ...@@ -208,9 +204,7 @@ spec:
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }} initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }} timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
resources: resources:
requests: {{ toYaml .Values.resourcesRedis | indent 12 }}
cpu: 100m
memory: 1Gi
# Fetcher Container # Fetcher Container
- name: {{ .Chart.Name }}-fetcher - name: {{ .Chart.Name }}-fetcher
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
...@@ -237,7 +231,5 @@ spec: ...@@ -237,7 +231,5 @@ spec:
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }} initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }} timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
resources: resources:
requests: {{ toYaml .Values.resourcesFetcher | indent 12 }}
cpu: 500m
memory: 100m
{{- end -}} {{- end -}}
<?php return [ <?php
"foki.web" => "Web",
"foki.bilder" => "Imágenes", return [
"foki.nachrichten" => "Informativos/Política", "foki.web" => "Web",
"foki.science" => "Ciencia", "foki.bilder" => "Imágenes",
"foki.produkte" => "Productos", "foki.nachrichten" => "Informativos/Política",
"foki.angepasst" => "ajustado", "foki.science" => "Ciencia",
"foki.maps" => "Maps.metager.de", "foki.produkte" => "Productos",
"design" => "Escoger un diseño personalizado", "foki.angepasst" => "ajustado",
"conveyor" => "Comprar en tiendas que apoyan MetaGer ", "foki.maps" => "Maps.metager.de",
"partnertitle" => "Apoyar MetaGer, sin costos para usted", "design" => "Escoger un diseño personalizado",
"mapstitle" => "MetaGer - Servicio de tarjeta", "conveyor" => "Comprar en tiendas que apoyan MetaGer ",
"plugin" => "Instalar MetaGer", "partnertitle" => "Apoyar MetaGer, sin costos adicionales para usted",
"plugin-title" => "Añadir MetaGer a su navegador", "mapstitle" => "MetaGer - Servicio de tarjeta",
"options.head" => "Administrar filtros", "plugin" => "Instalar MetaGer",
"focus-creator.head" => "Adaptar búsqueda", "plugin-title" => "Añadir MetaGer a su navegador",
"focus-creator.description" => "Compilar motores de búsqueda", "options.head" => "Administrar filtros",
"focus-creator.name-placeholder" => "Nombre de mis propios de búsqueda", "focus-creator.head" => "Adaptar búsqueda",
"focus-creator.save" => "Hacer búsqueda con mis propios de búsqueda", "focus-creator.description" => "Compilar motores de búsqueda",
"focus-creator.delete" => "Borrar mis propios de búsqueda", "focus-creator.name-placeholder" => "Nombre de su propia búsqueda",
"about.1.1" => "Privacidad garantizada", "focus-creator.save" => "Realize su propia búsqueda",
"about.1.2" => "Con nosotros tiene control total sobre sus datos. No rastreamos y nuestro código fuente es gratuito.", "focus-creator.delete" => "Borrar su propia búsqueda",
"about.2.1" => "Diversa y libre", "focus-creator.focusname" => "Nombre de búsqueda",
"about.2.2" => "MetaGer protege contra la censura al combinar los resultados de múltiples motores de búsqueda.", "about.1.1" => "Privacidad garantizada",
"about.3.1" => "Energía 100% renovable", "about.1.2" => "Con nosotros tiene control total sobre sus datos. No almacenamos y nuestro código fuente es gratuito.",
"about.3.2" => "Todos nuestros servicios se ejecutan con energía renovable. Sostenible y limpio.", "about.2.1" => "Diversa y libre",
"about.4.1" => "Organización sin ánimo de lucro", "about.2.2" => "MetaGer protege contra la censura al combinar los resultados de múltiples motores de búsqueda.",
"about.4.2" => "¡Fortalécenos convirtiéndote en miembro o donando a nuestra organización sin fines de lucro!", "about.3.1" => "Energía 100% renovable",
"lang.tooltip" => "Idioma de resultados", "about.3.2" => "Todos nuestros servicios se ejecutan con energía renovable. Sostenible y limpio.",
"key.placeholder" => "Llave para buscar sin publicidad", "about.4.1" => "Organización sin ánimo de lucro",
"key.tooltip" => "Llave para buscar sin publicidad", "about.4.2" => "¡Fortalécenos convirtiéndote en miembro o donando a nuestra organización sin fines de lucro!",
"placeholder" => "MetaGer: Buscar & encontrar seguro", "lang.tooltip" => "Seleccionar idioma de resultados",
"searchbutton" => "MetaGer - Búsqueda", "key.placeholder" => "Introducir la clave para la búsqueda sin publicidad",
"tooltips.add-focus" => "Adaptar búsqueda", "key.tooltip" => "Introducir la clave para la búsqueda sin publicidad",
"tooltips.edit-focus" => "Labra el atención actual", "placeholder" => "MetaGer: Buscar & encontrar de forma segura",
"tooltips.settings" => "Ajuste general", "searchbutton" => "MetaGer - Búsqueda",
"tooltips.add-focus" => "Adaptar búsqueda",
"tooltips.edit-focus" => "Editar el foco actual",
"tooltips.settings" => "Ajustes generales"
]; ];
<?php
return [
"password" => "Las contraseñas deben tener al menos 6 caracteres y coincidir con la confirmación.",
"reset" => "¡Tu contraseña ha sido restablecida!",
"sent" => "Tu enlace personal para restablecer tu contraseña acaba de ser enviado a tu dirección de correo electrónico.",
"token" => "Este token para restablecer su contraseña no es válido.",
"user" => "No podemos encontrar un usuario con esta dirección de correo electrónico."
];
<?php <?php
return [ return [
"default-search-v49.1" => "En la parte superior derecha de su aplicación Chrome haga clic en <i class = \"fas fa-bars\"></i> y en el menú desplegable siguiente haga clic en \"Configuración\" para abrir las configuraciones de su Chrome.", "default-search-v49.1" => "En la parte superior derecha de la aplicación Chrome haga clic en <i class = \"fas fa-bars\"></i> y en el menú siguiente de opciones haga clic en \"Configuración\" para abrir las configuraciones de Chrome.",
"default-search-v49.2" => "En \"Buscar\", haga clic en \"Administrar motores de búsqueda ...\".", "default-search-v49.2" => "En \"Buscar\", haga clic en \"Administrar motores de búsqueda ...\".",
"default-search-v53.1" => "En la parte superior derecha de su aplicación Chrome haga clic en <i class=\"fa fa-ellipsis-v\"></i> y en el siguiente menú de opciones haga clic en \"Configuración\" para abrir las configuraciónes de su Chrome.", "default-search-v49.3" => "En la mitad inferior del menú que aparece, mueva el mouse sobre la página web de MetaGer y haga clic en el botón azul \"Establecer como predeterminado\" que aparece en el lado derecho",
"default-search-v53.2" => "En el área \"Buscar\", haga clic en \"Administrar buscadores...\".", "default-search-v53.1" => "En la parte superior derecha de la aplicación Chrome haga clic en <i class=\"fa fa-ellipsis-v\"></i> y en el siguiente menú de opciones haga clic en \"Configuración\" para abrir las configuraciónes de Chrome.",
"default-search-v59.1" => "En la parte superior derecha de su aplicación Chrome haga clic en <i class=\"fa fa-ellipsis-v\"></i> y en el menú despegable siguiente haga clic en \"Configuración\" para abrir las configuraciónes de Chrome.\r\n", "default-search-v53.2" => "En la sección \"Buscar\", haga clic en \"Administrar buscadores...\".",
"default-search-v59.2" => "En \"Buscador\", haga clic en \"Administrar buscadores...\"", "default-search-v53.3" => "En la mitad inferior del menú que aparece, mueva el mouse sobre la página web de MetaGer y haga clic en el botón azul \"Establecer como predeterminado\" que aparece en el lado derecho",
"default-search-v59.1" => "En la parte superior derecha de la aplicación Chrome haga clic en <i class=\"fa fa-ellipsis-v\"></i> y en el siguiente menú de opciones haga clic en \"Configuración\" para abrir las configuraciónes de Chrome.",
"default-search-v59.2" => "En la sección \"Motor de búsqueda\", haga clic en \"Administrar buscadores...\"",
"default-search-v59.3" => "En la lista mostrada aparece \"MetaGer\". Mueva el ratón sobre \"MetaGer\" y haga clic a la derecha en <i class=\"fa fa-ellipsis-v\"></i> y después en \"Establecer como predeterminado\"", "default-search-v59.3" => "En la lista mostrada aparece \"MetaGer\". Mueva el ratón sobre \"MetaGer\" y haga clic a la derecha en <i class=\"fa fa-ellipsis-v\"></i> y después en \"Establecer como predeterminado\"",
"default-page-v49.1" => "En la esquina superior derecha del navegador haga clic en <i class=\"fa fa-ellipsis-v\"></i> y abra la \"Configuración\".", "default-page-v49.1" => "En la esquina superior derecha del navegador haga clic en <i class=\"fa fa-ellipsis-v\"></i> y abra la \"Configuración\".",
"default-page-v49.2" => "\"En inicio\", seleccione la opción \"Abrir una página específica o conjunto de páginas\" y luego haga clic en el enlace \"Establecer páginas\".", "default-page-v49.2" => "En la sección \"En inicio\", seleccione la opción \"Abrir una página específica o conjunto de páginas\" y luego haga clic en el enlace \"Agregar nueva página\".",
"default-page-v49.3" => "Ingrese \":link\" como URL en \"Agregar nueva página\"." "default-page-v49.3" => "Escriba \":link\" como URL de la página web en el cuadro \"Agregar nueva página\".",
"default-page-v49.4" => "NOTA:\r\nTodas las páginas web que aparecen en la lista actual se abriràn cuando se inicie el navegador.\r\nPara eliminar una página web de la lista, mueva el mouse sobre la página web y haga clic en el botón \"X\" a la derecha."
]; ];
<?php
return [
"heading" => "Junto con usted",
"text" => "desarrollamos y administramos MetaGer. Con su ayuda podemos asegurar la protección de datos y la privacidad al buscar en Internet:",
"button" => "Al llamamiento a hacer donaciones...",
"link" => "/llamamiento a hacer donaciones"
];
<?php
return [
"title" => "MetaGer - Búsqueda por citas",
"subtitle" => "Puede buscar citas o autores en nuestra base de datos en el campo de texto a continuación.",
"search-label" => "Ingresar los términos de búsqueda",
"results-label" => "Resultados de la búsqueda"
];
text {
fill: white;
}
table.table-striped > tbody > tr:nth-child(odd) {
background-color: #404040;
}
\ No newline at end of file
text {
fill: white;
}
table.table-striped > tbody > tr:nth-child(odd) {
background-color: #404040;
}
\ No newline at end of file
td {
padding: 4px 8px;
}
table.table-striped > tbody > tr:nth-child(odd) {
background-color: lightgrey;
}
\ No newline at end of file
...@@ -88,15 +88,26 @@ ...@@ -88,15 +88,26 @@
@if( isset($today) ) @if( isset($today) )
<tr> <tr>
<td>{{ Carbon::now()->format('D, d.m.Y') }}</td> <td>{{ Carbon::now()->format('D, d.m.Y') }}</td>
<td>{{ $today }}</td> <td>{{ $today }}
@if(isset($averageIncrease))
<span
@if($averageIncrease < 0)
style="color: red"
@else
style="color: green"
@endif
>
@if($averageIncrease < 0)-@else+@endif{{number_format(floatval($averageIncrease), 0, ",", ".")}}
</span>
@endif</td>
<td>???</td> <td>???</td>
<td>???</td> <td>???</td>
</tr> </tr>
@endif @endif
@foreach($oldLogs as $key => $value) @foreach($oldLogs as $key => $value)
<tr> <tr @if(Carbon::now()->dayOfWeek === Carbon::now()->subDays($key)->dayOfWeek)style="font-weight: bold;"@endif>
<td>{{ Carbon::now()->subDays($key)->format('D, d.m.Y') }}</td> <td>{{ Carbon::now()->subDays($key)->format('D, d.m.Y') }}</td>
<td>{{ $value['sameTime'] }}</td> <td @if(Carbon::now()->dayOfWeek === Carbon::now()->subDays($key)->dayOfWeek)style="color: #e34b4b;"@endif>{{ $value['sameTime'] }}</td>
<td>{{ $value['insgesamt'] }}</td> <td>{{ $value['insgesamt'] }}</td>
<td>{{ $value['median'] }}</td> <td>{{ $value['median'] }}</td>
</tr> </tr>
......
...@@ -28,13 +28,20 @@ ...@@ -28,13 +28,20 @@
@endif @endif
<link type="text/css" rel="stylesheet" href="{{ mix('css/themes/metager.css') }}"/> <link type="text/css" rel="stylesheet" href="{{ mix('css/themes/metager.css') }}"/>
@if (isset($css) && is_array($css))
@foreach($css as $cssFile)
<link href="{{ $cssFile }}" rel="stylesheet" />
@endforeach
@endif
@if(isset($page) && $page === 'startpage') @if(isset($page) && $page === 'startpage')
<link type="text/css" rel="stylesheet" href="{{ mix('css/themes/startpage-only-light.css') }}"/> <link type="text/css" rel="stylesheet" href="{{ mix('css/themes/startpage-only-light.css') }}"/>
@endif @endif
@if(Cookie::get('dark_mode') === "2") @if(Cookie::get('dark_mode') === "2")
<link type="text/css" rel="stylesheet" href="{{ mix('css/themes/metager-dark.css') }}"/> <link type="text/css" rel="stylesheet" href="{{ mix('css/themes/metager-dark.css') }}"/>
@if(isset($page) && $page === 'startpage') @if(!empty($darkcss) && is_array($darkcss))
<link type="text/css" rel="stylesheet" href="{{ mix('css/themes/startpage-only-dark.css') }}"/> @foreach($darkcss as $cssFile)
<link rel="stylesheet" type="text/css" href="{{ $cssFile }}" />
@endforeach
@endif @endif
@elseif(Cookie::get('dark_mode') === "1") @elseif(Cookie::get('dark_mode') === "1")
<link type="text/css" rel="stylesheet" href="{{ mix('css/themes/metager.css') }}"/> <link type="text/css" rel="stylesheet" href="{{ mix('css/themes/metager.css') }}"/>
...@@ -43,8 +50,10 @@ ...@@ -43,8 +50,10 @@
@endif @endif
@else @else
<link type="text/css" rel="stylesheet" media="(prefers-color-scheme:dark)" href="{{ mix('css/themes/metager-dark.css') }}"/> <link type="text/css" rel="stylesheet" media="(prefers-color-scheme:dark)" href="{{ mix('css/themes/metager-dark.css') }}"/>
@if(isset($page) && $page === 'startpage') @if(!empty($darkcss) && is_array($darkcss))
<link type="text/css" rel="stylesheet" media="(prefers-color-scheme:dark)" href="{{ mix('css/themes/startpage-only-dark.css') }}"/> @foreach($darkcss as $cssFile)
<link rel="stylesheet" type="text/css" media="(prefers-color-scheme:dark)" href="{{ $cssFile }}" />
@endforeach
@endif @endif
@endif @endif
<link type="text/css" rel="stylesheet" href="{{ mix('css/utility.css') }}" /> <link type="text/css" rel="stylesheet" href="{{ mix('css/utility.css') }}" />
...@@ -53,13 +62,6 @@ ...@@ -53,13 +62,6 @@
<link type="text/css" rel="stylesheet" href="{{ mix('css/fontawesome-solid.css') }}" /> <link type="text/css" rel="stylesheet" href="{{ mix('css/fontawesome-solid.css') }}" />
<script src="{{ mix('js/lib.js') }}"></script> <script src="{{ mix('js/lib.js') }}"></script>
<script src="{{ mix('js/utility.js') }}"></script> <script src="{{ mix('js/utility.js') }}"></script>
@if (isset($css))
@if(is_array($css))
@foreach($css as $cssFile)
<link href="{{ $cssFile }}" rel="stylesheet" />
@endforeach
@endif
@endif
</head> </head>
<body> <body>
@if(Request::getHttpHost() === "metager3.de") @if(Request::getHttpHost() === "metager3.de")
......
...@@ -46,6 +46,12 @@ mix ...@@ -46,6 +46,12 @@ mix
.less("resources/less/utility.less", "public/css/utility.css", { .less("resources/less/utility.less", "public/css/utility.css", {
strictMath: true strictMath: true
}) })
.less("resources/less/metager/pages/count/style-dark.less", "public/css/count/dark.css", {
strictMath: true
})
.less("resources/less/metager/pages/count/style.less", "public/css/count/style.css", {
strictMath: true
})
// js // js
.babel( .babel(
[ [
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment