summaryrefslogtreecommitdiff
path: root/src/components/templates/CopyrightNotice.astro
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/templates/CopyrightNotice.astro')
-rw-r--r--src/components/templates/CopyrightNotice.astro70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/components/templates/CopyrightNotice.astro b/src/components/templates/CopyrightNotice.astro
new file mode 100644
index 0000000..8335293
--- /dev/null
+++ b/src/components/templates/CopyrightNotice.astro
@@ -0,0 +1,70 @@
+---
+import {
+ CREATIVE_COMMONS_LICENSES,
+ type LICENSES,
+} from "@lib/collection/schemas";
+import CC from "./licenses/CC.astro";
+import WTFPL from "./licenses/WTFPL.astro";
+import type { Person } from "@lib/collection/types";
+
+export interface Props {
+ title: string;
+ holders: Person[];
+ years: number[];
+ license?: typeof LICENSES[number];
+}
+
+let { license = "public domain" } = Astro.props;
+
+let Notice = undefined;
+if (license !== undefined) {
+ if (license === "WTFPL") {
+ Notice = WTFPL;
+ } else if (
+ CREATIVE_COMMONS_LICENSES.some((x) => license.localeCompare(x) === 0)
+ ) {
+ Notice = CC;
+ }
+}
+---
+
+{Notice && <div lang="en"><Notice {...Astro.props} /></div>}
+
+{
+ /*
+ https://spdx.org/licenses/WTFPL.html
+ https://spdx.org/licenses/GFDL-1.3-or-later.html
+ https://spdx.org/licenses/FSFAP.html
+ https://artlibre.org/licence/lal/en/
+ https://harmful.cat-v.org/software/
+
+ IPL-1.0
+ IPA
+ Intel
+ HPND
+ EUPL-1.2
+ EUPL-1.1
+ EUDatagrid
+ EPL-2.0
+ EPL-1.0
+ EFL-2.0
+ ECL-2.0
+ CPL-1.0
+ CPAL-1.0
+ CDDL-1.0
+ BSL-1.0
+ BSD-3-Clause
+ BSD-2-Clause
+ Artistic-2.0
+ APSL-2.0
+ Apache-2.0
+ Apache-1.1
+ AGPL-3.0-or-later
+ AGPL-3.0-only
+ AFL-3.0
+ AFL-2.1
+ AFL-2.0
+ AFL-1.2
+ AFL-1.1
+ */
+}