fix: Alle Icons in digitalen Ein- und Ausgängen lokal eingebunden
- Icons input, login, output und switch lokal installiert und verwendet - Keine Internet-Abhängigkeit mehr für Icon-Anzeige - Projekt ist vollständig offlinefähig
This commit is contained in:
@@ -1,9 +1,12 @@
|
|||||||
"use client";
|
"use client";
|
||||||
// /components/main/einausgaenge/DigitalInputs.tsx
|
// /components/main/einausgaenge/DigitalInputs.tsx
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { Icon } from "@iconify/react";
|
|
||||||
import { useSelector } from "react-redux";
|
import { useSelector } from "react-redux";
|
||||||
import { RootState } from "../../../redux/store";
|
import { RootState } from "../../../redux/store";
|
||||||
|
import { Icon } from "@iconify/react";
|
||||||
|
import settingsIcon from "@iconify/icons-mdi/settings";
|
||||||
|
import inputIcon from "@iconify/icons-mdi/input";
|
||||||
|
import loginIcon from "@iconify/icons-mdi/login";
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
openInputModal: (input: any) => void;
|
openInputModal: (input: any) => void;
|
||||||
@@ -21,7 +24,7 @@ export default function DigitalInputs({ openInputModal, inputRange }: Props) {
|
|||||||
<div className="bg-white shadow-md border border-gray-200 p-3 rounded-lg w-full">
|
<div className="bg-white shadow-md border border-gray-200 p-3 rounded-lg w-full">
|
||||||
<h2 className="text-sm font-bold mb-3 flex items-center laptop:text-xs">
|
<h2 className="text-sm font-bold mb-3 flex items-center laptop:text-xs">
|
||||||
<Icon
|
<Icon
|
||||||
icon="mdi:input"
|
icon={inputIcon}
|
||||||
className="text-littwin-blue mr-2 text-xl laptop:text-lg"
|
className="text-littwin-blue mr-2 text-xl laptop:text-lg"
|
||||||
/>
|
/>
|
||||||
Meldungseingänge {inputRange.start + 1} – {inputRange.end}
|
Meldungseingänge {inputRange.start + 1} – {inputRange.end}
|
||||||
@@ -48,7 +51,7 @@ export default function DigitalInputs({ openInputModal, inputRange }: Props) {
|
|||||||
<tr key={input.id} className="border-b">
|
<tr key={input.id} className="border-b">
|
||||||
<td className="flex items-center px-1 py-1 laptop:px-0.5 laptop:py-0.5">
|
<td className="flex items-center px-1 py-1 laptop:px-0.5 laptop:py-0.5">
|
||||||
<Icon
|
<Icon
|
||||||
icon="mdi:login"
|
icon={loginIcon}
|
||||||
className="text-gray-600 mr-1 text-base laptop:text-sm"
|
className="text-gray-600 mr-1 text-base laptop:text-sm"
|
||||||
/>
|
/>
|
||||||
{input.id}
|
{input.id}
|
||||||
@@ -89,7 +92,7 @@ export default function DigitalInputs({ openInputModal, inputRange }: Props) {
|
|||||||
</td>
|
</td>
|
||||||
<td className="px-1 py-1 laptop:px-0.5 laptop:py-0.5">
|
<td className="px-1 py-1 laptop:px-0.5 laptop:py-0.5">
|
||||||
<Icon
|
<Icon
|
||||||
icon="mdi:settings"
|
icon={settingsIcon}
|
||||||
className="text-gray-400 text-base cursor-pointer"
|
className="text-gray-400 text-base cursor-pointer"
|
||||||
onClick={() => openInputModal(input)}
|
onClick={() => openInputModal(input)}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
"use client"; // /components/main/einausgaenge/DigitalOutputs.tsx
|
"use client"; // /components/main/einausgaenge/DigitalOutputs.tsx
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { Icon } from "@iconify/react";
|
|
||||||
import { useSelector } from "react-redux";
|
import { useSelector } from "react-redux";
|
||||||
import { RootState } from "../../../redux/store";
|
import { RootState } from "../../../redux/store";
|
||||||
|
import { Icon } from "@iconify/react";
|
||||||
|
import settingsIcon from "@iconify/icons-mdi/settings";
|
||||||
|
import outputIcon from "@iconify/icons-mdi/output";
|
||||||
|
import switchIcon from "@iconify/icons-ion/switch";
|
||||||
|
|
||||||
export default function DigitalOutputs({ openOutputModal }) {
|
export default function DigitalOutputs({ openOutputModal }) {
|
||||||
const digitalOutputs = useSelector(
|
const digitalOutputs = useSelector(
|
||||||
@@ -12,7 +15,7 @@ export default function DigitalOutputs({ openOutputModal }) {
|
|||||||
return (
|
return (
|
||||||
<div className="bg-white shadow-md border border-gray-200 p-3 rounded-lg w-full h-fit max-h-[400px] overflow-auto">
|
<div className="bg-white shadow-md border border-gray-200 p-3 rounded-lg w-full h-fit max-h-[400px] overflow-auto">
|
||||||
<h2 className="text-sm font-bold mb-3 flex items-center">
|
<h2 className="text-sm font-bold mb-3 flex items-center">
|
||||||
<Icon icon="mdi:output" className="text-littwin-blue mr-2 text-xl" />
|
<Icon icon={outputIcon} className="text-littwin-blue mr-2 text-xl" />
|
||||||
Digitale Ausgänge
|
Digitale Ausgänge
|
||||||
</h2>
|
</h2>
|
||||||
<table className="w-full text-xs border-collapse bg-white rounded-lg">
|
<table className="w-full text-xs border-collapse bg-white rounded-lg">
|
||||||
@@ -29,7 +32,7 @@ export default function DigitalOutputs({ openOutputModal }) {
|
|||||||
<tr key={output.id} className="border-b">
|
<tr key={output.id} className="border-b">
|
||||||
<td className="flex items-center px-1 py-1">
|
<td className="flex items-center px-1 py-1">
|
||||||
<Icon
|
<Icon
|
||||||
icon="mdi:output"
|
icon={outputIcon}
|
||||||
className="text-gray-600 mr-1 text-base"
|
className="text-gray-600 mr-1 text-base"
|
||||||
/>
|
/>
|
||||||
{output.id}
|
{output.id}
|
||||||
@@ -47,7 +50,7 @@ export default function DigitalOutputs({ openOutputModal }) {
|
|||||||
</td>
|
</td>
|
||||||
<td className="px-1 py-1">
|
<td className="px-1 py-1">
|
||||||
<Icon
|
<Icon
|
||||||
icon="mdi:settings"
|
icon={settingsIcon}
|
||||||
className="text-gray-400 text-base cursor-pointer"
|
className="text-gray-400 text-base cursor-pointer"
|
||||||
onClick={() => openOutputModal(output)}
|
onClick={() => openOutputModal(output)}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -6,5 +6,5 @@
|
|||||||
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
|
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
|
||||||
|
|
||||||
*/
|
*/
|
||||||
const webVersion = "1.6.311";
|
const webVersion = "1.6.312";
|
||||||
export default webVersion;
|
export default webVersion;
|
||||||
|
|||||||
18
package-lock.json
generated
18
package-lock.json
generated
@@ -10,6 +10,8 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fontsource/roboto": "^5.1.0",
|
"@fontsource/roboto": "^5.1.0",
|
||||||
"@iconify-icons/ri": "^1.2.10",
|
"@iconify-icons/ri": "^1.2.10",
|
||||||
|
"@iconify/icons-ion": "^1.2.10",
|
||||||
|
"@iconify/icons-mdi": "^1.2.48",
|
||||||
"@iconify/json": "^2.2.253",
|
"@iconify/json": "^2.2.253",
|
||||||
"@iconify/react": "^5.0.2",
|
"@iconify/react": "^5.0.2",
|
||||||
"@reduxjs/toolkit": "^2.3.0",
|
"@reduxjs/toolkit": "^2.3.0",
|
||||||
@@ -745,6 +747,22 @@
|
|||||||
"@iconify/types": "*"
|
"@iconify/types": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@iconify/icons-ion": {
|
||||||
|
"version": "1.2.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/@iconify/icons-ion/-/icons-ion-1.2.10.tgz",
|
||||||
|
"integrity": "sha512-8vd2gihc8fkugNH+bqnNpgAbXJl2AyTiGRgpDG/ELDUyscvUefEE/kW7uz6NnPUYH293vR+tdiruLIgvVsQfNA==",
|
||||||
|
"dependencies": {
|
||||||
|
"@iconify/types": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@iconify/icons-mdi": {
|
||||||
|
"version": "1.2.48",
|
||||||
|
"resolved": "https://registry.npmjs.org/@iconify/icons-mdi/-/icons-mdi-1.2.48.tgz",
|
||||||
|
"integrity": "sha512-1Tiq+iX1d2MzrdDiw45Tc9HuhNgg8H4vvaKNV+kF+jmr/kPG+YyeLMyXUKp4bwv+gheIAgNpZPjuqAPRkmMieA==",
|
||||||
|
"dependencies": {
|
||||||
|
"@iconify/types": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@iconify/json": {
|
"node_modules/@iconify/json": {
|
||||||
"version": "2.2.299",
|
"version": "2.2.299",
|
||||||
"resolved": "https://registry.npmjs.org/@iconify/json/-/json-2.2.299.tgz",
|
"resolved": "https://registry.npmjs.org/@iconify/json/-/json-2.2.299.tgz",
|
||||||
|
|||||||
@@ -15,6 +15,8 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fontsource/roboto": "^5.1.0",
|
"@fontsource/roboto": "^5.1.0",
|
||||||
"@iconify-icons/ri": "^1.2.10",
|
"@iconify-icons/ri": "^1.2.10",
|
||||||
|
"@iconify/icons-ion": "^1.2.10",
|
||||||
|
"@iconify/icons-mdi": "^1.2.48",
|
||||||
"@iconify/json": "^2.2.253",
|
"@iconify/json": "^2.2.253",
|
||||||
"@iconify/react": "^5.0.2",
|
"@iconify/react": "^5.0.2",
|
||||||
"@reduxjs/toolkit": "^2.3.0",
|
"@reduxjs/toolkit": "^2.3.0",
|
||||||
|
|||||||
Reference in New Issue
Block a user