diff --git a/Frontend/package-lock.json b/Frontend/package-lock.json index 1e23ed67ba1d61020babef728109c4f56e8be61e..9ba3d91a8c2a664eebceb8bb1039fff9ea2b9c70 100644 --- a/Frontend/package-lock.json +++ b/Frontend/package-lock.json @@ -21,6 +21,7 @@ "react-router-dom": "^6.3.0", "react-scripts": "5.0.0", "spdx-license": "^1.0.2", + "spdx-license-list": "^6.6.0", "web-vitals": "^2.1.4" }, "devDependencies": { @@ -14440,6 +14441,17 @@ "cross-fetch-json": "^1.1.1" } }, + "node_modules/spdx-license-list": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/spdx-license-list/-/spdx-license-list-6.6.0.tgz", + "integrity": "sha512-vLwdf9AWgdJQmG8cai2HKfkInFsliKaCCOwXmdVonClIhdURTX61KdDOoXC1qcQ7gDaZj+CUTcrMJeAdnCtrKA==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", @@ -26521,6 +26533,11 @@ "cross-fetch-json": "^1.1.1" } }, + "spdx-license-list": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/spdx-license-list/-/spdx-license-list-6.6.0.tgz", + "integrity": "sha512-vLwdf9AWgdJQmG8cai2HKfkInFsliKaCCOwXmdVonClIhdURTX61KdDOoXC1qcQ7gDaZj+CUTcrMJeAdnCtrKA==" + }, "spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", diff --git a/Frontend/package.json b/Frontend/package.json index 5e338b8fe420e3230c4b9728c974fdf3956bab0b..4b0490ff63448014de7b73002063bb4c2ac7f12a 100644 --- a/Frontend/package.json +++ b/Frontend/package.json @@ -16,6 +16,7 @@ "react-router-dom": "^6.3.0", "react-scripts": "5.0.0", "spdx-license": "^1.0.2", + "spdx-license-list": "^6.6.0", "web-vitals": "^2.1.4" }, "scripts": { diff --git a/Frontend/src/components/registerwork.jsx b/Frontend/src/components/registerwork.jsx index 7f0c9f5eb98f318b3d869bfe68b277f10fd60db3..b708be39b74565429e8903db781bcd968481f095 100644 --- a/Frontend/src/components/registerwork.jsx +++ b/Frontend/src/components/registerwork.jsx @@ -155,7 +155,7 @@ const RegisterWork = () => { <RegisterWorkLicence onSetLicence={onSetLicence} licence={licence}> </RegisterWorkLicence> - + <RegisterWorkSave></RegisterWorkSave> <RegisterWorkConfirmation onSendRegister={onSendRegister}></RegisterWorkConfirmation> </> ); diff --git a/Frontend/src/components/registerwork/registerworkFileUpload.jsx b/Frontend/src/components/registerwork/registerworkFileUpload.jsx index 8aa7fad4514554a1cfd77b29dfc068b4be85cdef..553db152095232c9c9d5994ca0ca4390201e9218 100644 --- a/Frontend/src/components/registerwork/registerworkFileUpload.jsx +++ b/Frontend/src/components/registerwork/registerworkFileUpload.jsx @@ -60,9 +60,6 @@ const RegisterWorkFileUpload = (props) => { <div className="shadow sm:rounded-md sm:overflow-hidden"> <div className="px-4 py-5 bg-white space-y-6 sm:p-6"> <div> - <label className="block text-sm font-medium text-gray-700"> - upload - </label> <div {...getRootProps()} className="mt-1 flex justify-center px-6 pt-5 pb-6 border-2 border-green-600 border-dashed rounded-md"> <div className="space-y-1 text-center"> <svg @@ -84,7 +81,7 @@ const RegisterWorkFileUpload = (props) => { htmlFor="file-upload" className="relative cursor-pointer bg-white rounded-md font-medium text-green-600 hover:text-green-700 focus-within:outline-none focus-within:ring-2 focus-within:ring-offset-2 focus-within:ring-green-500" > - <span>File hochladen</span> + <span>Datei hochladen</span> <input id="file-upload" name="file-upload" @@ -93,10 +90,10 @@ const RegisterWorkFileUpload = (props) => { {...getInputProps()} /> </label> - <p className="pl-1">oder drag and drop </p> + <p className="pl-1">oder mittels drag and drop reinziehen</p> </div> <p className="text-xs text-gray-500"> - PNG, JPG, GIF up to 10MB + Dateien bis zu 10MB </p> </div> </div> diff --git a/Frontend/src/components/registerwork/registerworkLicence.jsx b/Frontend/src/components/registerwork/registerworkLicence.jsx index 78bb8ad6c52a87fa19bf762f84654a65f74d54de..d47132d9b4fa7ca49accc8bcfef641fd2c2d1983 100644 --- a/Frontend/src/components/registerwork/registerworkLicence.jsx +++ b/Frontend/src/components/registerwork/registerworkLicence.jsx @@ -2,26 +2,31 @@ import React, { useState, useEffect } from "react"; import { getLicense, getLicenses, FullLicense, Licenses, License } from "spdx-license"; import { getAssets, getDaliccLicences } from "../../api"; import HelpIcon from "./HelpIcon"; +const spdxLicenseList = require('spdx-license-list'); + //TODO: https://api.dalicc.net/docs#/ -> API lässt sich nicht abfragen?? //TODO: SPDX license https://www.npmjs.com/package/spdx-license const RegisterWorkLicence = (props) => { const [licences, setLicences] = useState([]); const [licenceLink, setLicenceLink] = useState(""); + useEffect(() => { + console.log(spdxLicenseList); + //use SPDX license information https://www.npmjs.com/package/spdx-license //function getLicense(id: string): Promise<FullLicense | undefined>; //function getLicenses(): Promise<Licenses>; getLicenses().then((res) => { - if (res.status == 200) { - return "Daten wurden erfolgreich geschickt" - } - return "Fehlgeschlagen bitte erneut versuchen" + console.log("angekommen") + }) .catch((error) => { + console.error('Error:', error) + console.log("nicht angekommen") }); //getAssets(); //getDaliccLicences(); @@ -65,9 +70,14 @@ const RegisterWorkLicence = (props) => { onChange={(event) => SelectLicence(event)} className="mt-1 block w-full py-2 px-3 border border-gray-300 bg-white rounded-md shadow-sm focus:outline-none focus:ring-green-500 focus:border-green-500 sm:text-sm" > - {licences.map((licence) => - <option value={licence.value.title}>{licence.value.title}</option> - )} + { + //spdxLicenseList.map((spdxLicense) => + //{ + //console.log(spdxLicense) + //return <option value={spdxLicense}>{spdxLicense}</option> + //}) + } + <option value="publicdomain_link">Keine Lizenz ausgewählt</option> <option value="publicdomain_link">Public Domain</option> <option value="recombo_link">Sampling</option> <option value="standard_link">Creative Commons</option> @@ -80,7 +90,7 @@ const RegisterWorkLicence = (props) => { <option value="arr_link">All Rights Reserved</option> </select> <div>Ausgewählte Lizenz: {licenceLink}</div> - + <br></br> <div> <legend className="text-base font-medium text-gray-900"> CC-Lizenzen @@ -183,48 +193,6 @@ const RegisterWorkLicence = (props) => { </div> </div> </fieldset> - <fieldset> - <div className="shadow overflow-hidden sm:rounded-md"> - <div className="px-4 py-5 bg-white space-y-6 sm:p-6"> - <h4 className="text-lg font-medium leading-6 text-gray-900"> - Weitere Lizenz-Informationen - </h4> - {/* License Terms */} - <div> - <div className="inset-y-0 right-0 flex items-center pr-2 sm:static sm:inset-auto" > - <label - htmlFor="licenseterms" - className="block text-sm font-medium text-gray-700" - > - Lizenzbedingungen - </label> - <HelpIcon Title="Lizenzbedingungen" Message="Lizenzbedingungen eher ins Lizenz hinzufügen Feld - falls überhaupt gebraucht ? "></HelpIcon> - </div> - <div className="mt-1"> - <textarea - id="licenseterms" - name="licenseterms" - onChange={(event)=> props.onSetLicenceTerms(event.target.value)} - rows={3} - className="shadow-sm focus:ring-green-500 focus:border-green-500 mt-1 block w-full sm:text-sm border border-gray-300 rounded-md" - placeholder="Lizenzbedingungen" - defaultValue={""} - /> - <p className="mt-2 text-sm text-gray-500"> - Hier können Sie angeben, wo Ihr Werk verwendet - werden soll oder nicht (z. B. von - Organisationen, die die Produktion von Waffen - unterstützen). Oder unter welchen Bedingungen - Sie eine kommerzielle Nutzung erlauben würden. - Dies ist jedoch nicht Teil des rechtlichen - Lizenztextes. Dennoch wird jeder, der Ihre - Lizenz nachschlägt, sie sehen. - </p> - </div> - </div> - </div> - </div> - </fieldset> </div> <div className="px-4 py-3 bg-gray-50 text-right sm:px-6"> <button