Use same intervention flag text in send and view
This commit is contained in:
parent
ed4991a5b1
commit
b022e2f800
6 changed files with 78 additions and 66 deletions
|
|
@ -1,7 +1,5 @@
|
|||
<template>
|
||||
<div class="cc-detail-info" v-if="infoText !== undefined">
|
||||
{{ infoText }}
|
||||
</div>
|
||||
<div class="cc-detail-info" v-if="infoText !== undefined" v-html="infoText" />
|
||||
<div class="attachment-info__detail-box">
|
||||
<div class="detail-title">
|
||||
{{ t("cc.details") }}
|
||||
|
|
@ -38,6 +36,7 @@ import { computed, ref, Ref, watch } from "vue";
|
|||
import dayjs from "dayjs";
|
||||
import CCProperty, { CCPropertyProps } from "./CCProperty.vue";
|
||||
import relativeTime from "dayjs/plugin/relativeTime";
|
||||
import { interventionText } from "./intervention";
|
||||
|
||||
dayjs.extend(relativeTime);
|
||||
|
||||
|
|
@ -162,26 +161,7 @@ watch(
|
|||
creationDate.value = date.format("lll");
|
||||
}
|
||||
|
||||
let result = "";
|
||||
if (props.flags.generator === "camera") {
|
||||
result += t("file_mode.captured_with_camera");
|
||||
} else if (props.flags.generator === "screenshot") {
|
||||
if (date) {
|
||||
result += t("file_mode.captured_screenshot_ago", { ago: date.fromNow(true) });
|
||||
} else {
|
||||
result += t("file_mode.captured_screenshot");
|
||||
}
|
||||
} else if (props.flags.generator === "ai") {
|
||||
if (date) {
|
||||
result += t("file_mode.generated_with_ai_ago", { ago: date.fromNow(true) });
|
||||
} else {
|
||||
result += t("file_mode.generated_with_ai");
|
||||
}
|
||||
}
|
||||
if (date && dayjs().diff(date, "month") >= 3) {
|
||||
result += t("file_mode.old_photo");
|
||||
}
|
||||
infoText.value = result === "" ? undefined : result;
|
||||
infoText.value = interventionText(t, props.flags);
|
||||
}
|
||||
} catch (error) { }
|
||||
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@
|
|||
<script setup lang="ts">
|
||||
import { computed } from "vue";
|
||||
import { ProofHintFlags } from "../../models/proof";
|
||||
import dayjs from "dayjs";
|
||||
import { useI18n } from "vue-i18n";
|
||||
import { interventionText } from "./intervention";
|
||||
|
||||
const { t } = useI18n()
|
||||
|
||||
|
|
@ -31,41 +31,7 @@ const showCheck = computed(() => {
|
|||
|
||||
const infoText = computed(() => {
|
||||
if (!multiple && flags.length == 1) {
|
||||
const f = flags[0];
|
||||
let res = "";
|
||||
|
||||
if (f.generator !== "unknown" && f.generatorSource === "c2pa") {
|
||||
if (f.generator === "camera") {
|
||||
res += "<b>" + t("cc.captured_with_camera") + "</b> ";
|
||||
} else if (f.generator === "screenshot") {
|
||||
res += "<b>" + t("cc.screenshot") + "</b> ";
|
||||
} else if (f.generator === "ai") {
|
||||
res += "<b>" + t("cc.generated_with_ai") + "</b> ";
|
||||
}
|
||||
if ((f.edits?.length ?? 0) > 0) {
|
||||
res += "<b>" + t("cc.modified") + "</b> ";
|
||||
}
|
||||
if (f.creationDate && dayjs().diff(f.creationDate, "month") >= 3) {
|
||||
res += "<b>" + t("cc.older_than_n_months", {n: 3}) + "</b> ";
|
||||
}
|
||||
return res;
|
||||
} else if (f.generator !== "unknown") {
|
||||
if (f.generator === "camera") {
|
||||
res += "<b>" + t("cc.captured_with_camera") + "</b> ";
|
||||
} else if (f.generator === "screenshot") {
|
||||
res += "<b>" + t("cc.screenshot_probably") + "</b> ";
|
||||
return res;
|
||||
} else if (f.generator === "ai") {
|
||||
res += "<b>" + t("cc.generated_with_ai") + "</b> ";
|
||||
}
|
||||
if ((f.edits?.length ?? 0) > 0) {
|
||||
res += "<b>" + t("cc.modified") + "</b> ";
|
||||
}
|
||||
if (f.creationDate && dayjs().diff(f.creationDate, "month") >= 3) {
|
||||
res += "<b>" + t("cc.older_than_n_months", {n: 3}) + "</b> ";
|
||||
}
|
||||
return res;
|
||||
}
|
||||
return interventionText(t, flags[0]);
|
||||
} else if (multiple && flags.length >= 1) {
|
||||
const modifiedMedia = flags.some((f) => f.edits?.length);
|
||||
const aiGeneratedMedia = flags.some((f) => f.generator === "ai");
|
||||
|
|
|
|||
45
src/components/content-credentials/intervention.ts
Normal file
45
src/components/content-credentials/intervention.ts
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
import { ProofHintFlags } from "../../models/proof";
|
||||
import dayjs from "dayjs";
|
||||
|
||||
export const interventionText = (
|
||||
t: any,
|
||||
f: ProofHintFlags
|
||||
): string | undefined => {
|
||||
let res = "";
|
||||
|
||||
if (f.generator !== "unknown" && f.generatorSource === "c2pa") {
|
||||
if (f.generator === "camera") {
|
||||
res += "<b>" + t("cc.captured_with_camera") + "</b> ";
|
||||
} else if (f.generator === "screenshot") {
|
||||
res += "<b>" + t("cc.screenshot") + "</b> ";
|
||||
} else if (f.generator === "ai") {
|
||||
res += "<b>" + t("cc.generated_with_ai") + "</b> ";
|
||||
}
|
||||
if ((f.edits?.length ?? 0) > 0) {
|
||||
res += "<b>" + t("cc.modified") + "</b> ";
|
||||
}
|
||||
if (f.creationDate && dayjs().diff(f.creationDate, "month") >= 3) {
|
||||
res += "<b>" + t("cc.older_than_n_months", { n: 3 }) + "</b> ";
|
||||
}
|
||||
if (res === "") return undefined;
|
||||
return res;
|
||||
} else if (f.generator !== "unknown") {
|
||||
if (f.generator === "camera") {
|
||||
res += "<b>" + t("cc.captured_with_camera") + "</b> ";
|
||||
} else if (f.generator === "screenshot") {
|
||||
res += "<b>" + t("cc.screenshot_probably") + "</b> ";
|
||||
return res;
|
||||
} else if (f.generator === "ai") {
|
||||
res += "<b>" + t("cc.generated_with_ai") + "</b> ";
|
||||
}
|
||||
if ((f.edits?.length ?? 0) > 0) {
|
||||
res += "<b>" + t("cc.modified") + "</b> ";
|
||||
}
|
||||
if (f.creationDate && dayjs().diff(f.creationDate, "month") >= 3) {
|
||||
res += "<b>" + t("cc.older_than_n_months", { n: 3 }) + "</b> ";
|
||||
}
|
||||
if (res === "") return undefined;
|
||||
return res;
|
||||
}
|
||||
return undefined;
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue