mirror of
https://github.com/hpware/news-analyze.git
synced 2025-06-23 15:51:01 +08:00
Compare commits
No commits in common. "bd3a81dfbcc56b715eea8c429fa339d8272ea18b" and "99a42a87f101ff60acf1f8349eae57e45b7fb262" have entirely different histories.
bd3a81dfbc
...
99a42a87f1
@ -14,15 +14,9 @@ Deploy: [via docker compose](/deploy.md)
|
|||||||
|
|
||||||
Goals before the next devlog: [Markdown file](/GOALS_BEFORE_NEXT_DEVLOG.md)
|
Goals before the next devlog: [Markdown file](/GOALS_BEFORE_NEXT_DEVLOG.md)
|
||||||
|
|
||||||
Video Guide: [YouTube](https://youtu.be/8P3qgVm6m6g)
|
|
||||||
|
|
||||||
## Demo:
|
## Demo:
|
||||||
https://yhw.tw/news
|
https://yhw.tw/news
|
||||||
|
|
||||||
## Video Guide
|
|
||||||
|
|
||||||
https://github.com/user-attachments/assets/29414c5d-3b2f-420d-93c0-95c14a15bbb7
|
|
||||||
|
|
||||||
## Issues:
|
## Issues:
|
||||||
### Onboarding:
|
### Onboarding:
|
||||||
Onboarding is a must for most people that are using the app for the first time, but I want to do to via a non-video like system, however implementing the function in a already large repo is kinda hard. So later this week, I will just add a basic video onboarding system.
|
Onboarding is a must for most people that are using the app for the first time, but I want to do to via a non-video like system, however implementing the function in a already large repo is kinda hard. So later this week, I will just add a basic video onboarding system.
|
||||||
|
@ -182,7 +182,7 @@ const useArgFindRel = (title, newsOrg) => {
|
|||||||
if (
|
if (
|
||||||
item.title !== title &&
|
item.title !== title &&
|
||||||
item.contentType === "GENERAL" &&
|
item.contentType === "GENERAL" &&
|
||||||
item.publisher !== newsOrg
|
item.publisher === newsOrg
|
||||||
) {
|
) {
|
||||||
const itemVector = tf(item.title);
|
const itemVector = tf(item.title);
|
||||||
const similarity = jaccardSimilarity(targetVector, itemVector);
|
const similarity = jaccardSimilarity(targetVector, itemVector);
|
||||||
|
@ -38,6 +38,9 @@ onMounted(async () => {
|
|||||||
useremail.value = res.email;
|
useremail.value = res.email;
|
||||||
isLoggedIn.value = true;
|
isLoggedIn.value = true;
|
||||||
});
|
});
|
||||||
|
const setFirstName = async () => {
|
||||||
|
const staticFirstName = "";
|
||||||
|
};
|
||||||
|
|
||||||
const emit = defineEmits(["windowopener"]);
|
const emit = defineEmits(["windowopener"]);
|
||||||
|
|
||||||
@ -66,7 +69,7 @@ const submitCustomApiKey = async () => {
|
|||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json",
|
||||||
},
|
},
|
||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
value: customApiKey.value,
|
value: customApiKey,
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -95,12 +98,23 @@ const confirmDelete = async () => {
|
|||||||
showDeleteDialog.value = false;
|
showDeleteDialog.value = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
const deleteAccount = async () => {
|
const apiKey = customApiKey.value;
|
||||||
const req = await fetch("/api/user/sendUserChanges", {
|
try {
|
||||||
method: "DELETE",
|
const sendApi = await fetch("/api/ai/loadCustomGroqApi", {
|
||||||
|
method: "POST",
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
},
|
||||||
|
body: JSON.stringify({
|
||||||
|
apiKey: apiKey,
|
||||||
|
}),
|
||||||
});
|
});
|
||||||
};
|
const data = await sendApi.json();
|
||||||
|
if (data.error) {
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
const submitChangeAction = async (action: string) => {
|
const submitChangeAction = async (action: string) => {
|
||||||
const actions = [
|
const actions = [
|
||||||
{ name: "NAME", sendValue: enterFirstName.value },
|
{ name: "NAME", sendValue: enterFirstName.value },
|
||||||
|
@ -591,7 +591,6 @@ const toggleTranslate = (windowId: string) => {
|
|||||||
const translateAvailable = () => {};
|
const translateAvailable = () => {};
|
||||||
|
|
||||||
// Load user config via HTTP requests to the server.
|
// Load user config via HTTP requests to the server.
|
||||||
/*
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
const loadUserInfoData = await loadUserInfo();
|
const loadUserInfoData = await loadUserInfo();
|
||||||
if (!loadUserInfoData.user) {
|
if (!loadUserInfoData.user) {
|
||||||
@ -609,7 +608,7 @@ onMounted(async () => {
|
|||||||
// Use Google as the default translate provider
|
// Use Google as the default translate provider
|
||||||
translateProvider.value = loadUserInfoData.translate.provider || "google";
|
translateProvider.value = loadUserInfoData.translate.provider || "google";
|
||||||
console.log(langPrefDifferent);
|
console.log(langPrefDifferent);
|
||||||
});*/
|
});
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div v-if="changeLangAnimation">
|
<div v-if="changeLangAnimation">
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
export default defineEventHandler(async (event) => {
|
|
||||||
const userToken = getCookie(event, "token");
|
|
||||||
return {
|
|
||||||
token: userToken,
|
|
||||||
};
|
|
||||||
});
|
|
@ -21,8 +21,6 @@
|
|||||||
"色誘",
|
"色誘",
|
||||||
"死亡",
|
"死亡",
|
||||||
"撩妹",
|
"撩妹",
|
||||||
"裸上身",
|
"裸上身"
|
||||||
"曬辣",
|
|
||||||
"辣媽"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user