feeds-fun 1.22.6 → 1.22.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/components/RuleForList.vue +6 -5
- package/src/components/page_footer/Footer.vue +8 -2
- package/src/components/tags/Base.vue +2 -0
- package/src/components/tags/RuleTag.vue +4 -1
- package/src/logic/api.ts +25 -0
- package/src/logic/settings.ts +1 -0
- package/src/router/index.ts +6 -0
package/package.json
CHANGED
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
v-for="tag of rule.tags"
|
|
25
25
|
:key="tag"
|
|
26
26
|
:uid="tag"
|
|
27
|
+
:excluded="rule.excludedTags.includes(tag)"
|
|
27
28
|
:css-modifier="cssModifiers[tag]" />
|
|
28
29
|
</div>
|
|
29
30
|
</div>
|
|
@@ -80,11 +81,11 @@
|
|
|
80
81
|
|
|
81
82
|
const cssModifiers: {[key: string]: string} = {};
|
|
82
83
|
|
|
84
|
+
const modifier = properties.rule.score > 0 ? "positive" : "negative";
|
|
85
|
+
|
|
86
|
+
console.log("score", properties.rule.score, "modifier", modifier);
|
|
87
|
+
|
|
83
88
|
for (const tag of properties.rule.tags) {
|
|
84
|
-
|
|
85
|
-
cssModifiers[tag] = "negative";
|
|
86
|
-
continue;
|
|
87
|
-
}
|
|
88
|
-
cssModifiers[tag] = "positive";
|
|
89
|
+
cssModifiers[tag] = modifier;
|
|
89
90
|
}
|
|
90
91
|
</script>
|
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
<div class="flex flex-col col-span-2 items-center sm:items-start">
|
|
5
5
|
<h3 class="text-lg font-semibold mb-4">Feeds Fun</h3>
|
|
6
6
|
<div class="flex flex-col space-y-2">
|
|
7
|
-
<div class="font-medium"> The project is in demo mode and free of charge </div>
|
|
8
|
-
|
|
9
7
|
<div>Version: {{ settings.version }}</div>
|
|
10
8
|
|
|
11
9
|
<div>
|
|
@@ -73,6 +71,14 @@
|
|
|
73
71
|
Privacy Policy
|
|
74
72
|
</a>
|
|
75
73
|
|
|
74
|
+
<a
|
|
75
|
+
v-if="settings.crmImpressum"
|
|
76
|
+
:href="router.resolve({name: 'impressum'}).href"
|
|
77
|
+
class="ffun-normal-link"
|
|
78
|
+
@click.prevent="router.push({name: 'impressum'})">
|
|
79
|
+
Impressum
|
|
80
|
+
</a>
|
|
81
|
+
|
|
76
82
|
<a
|
|
77
83
|
v-if="!globalState.isSingleUserMode"
|
|
78
84
|
href="#"
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
<div
|
|
3
3
|
:class="classes"
|
|
4
4
|
@click.prevent="onClick()">
|
|
5
|
-
<tag-base
|
|
5
|
+
<tag-base
|
|
6
|
+
:tag-info="tagInfo"
|
|
7
|
+
:excluded="excluded" />
|
|
6
8
|
</div>
|
|
7
9
|
</template>
|
|
8
10
|
|
|
@@ -26,6 +28,7 @@
|
|
|
26
28
|
const properties = defineProps<{
|
|
27
29
|
uid: string;
|
|
28
30
|
cssModifier: string;
|
|
31
|
+
excluded: boolean;
|
|
29
32
|
}>();
|
|
30
33
|
|
|
31
34
|
const tagInfo = computed(() => {
|
package/src/logic/api.ts
CHANGED
|
@@ -41,6 +41,10 @@ export function logoutRedirect() {
|
|
|
41
41
|
window.location.assign("/spa/auth/logout");
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
function handle503() {
|
|
45
|
+
window.location.reload();
|
|
46
|
+
}
|
|
47
|
+
|
|
44
48
|
let _refreshingAuth: Promise<void> | null = null;
|
|
45
49
|
|
|
46
50
|
enum Ffun401Behaviour {
|
|
@@ -60,6 +64,10 @@ apiPrivate.interceptors.response.use(
|
|
|
60
64
|
throw error;
|
|
61
65
|
}
|
|
62
66
|
|
|
67
|
+
if (response.status === 503) {
|
|
68
|
+
return handle503();
|
|
69
|
+
}
|
|
70
|
+
|
|
63
71
|
if (response.status !== 401) {
|
|
64
72
|
throw error;
|
|
65
73
|
}
|
|
@@ -99,6 +107,23 @@ apiPrivate.interceptors.response.use(
|
|
|
99
107
|
}
|
|
100
108
|
);
|
|
101
109
|
|
|
110
|
+
apiPublic.interceptors.response.use(
|
|
111
|
+
(r) => r,
|
|
112
|
+
async (error: AxiosError) => {
|
|
113
|
+
const {response} = error;
|
|
114
|
+
|
|
115
|
+
if (!response) {
|
|
116
|
+
throw error;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if (response.status === 503) {
|
|
120
|
+
return handle503();
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
throw error;
|
|
124
|
+
}
|
|
125
|
+
);
|
|
126
|
+
|
|
102
127
|
async function postPublic({url, data}: {url: string; data: any}) {
|
|
103
128
|
const response = await apiPublic.post(url, data);
|
|
104
129
|
return response.data;
|
package/src/logic/settings.ts
CHANGED
|
@@ -20,6 +20,7 @@ export const utmLifetime = import.meta.env.VITE_FFUN_UTM_LIFETIME || 7; // days
|
|
|
20
20
|
|
|
21
21
|
export const crmTerms = import.meta.env.VITE_FFUN_CRM_TERMS || null;
|
|
22
22
|
export const crmPrivacy = import.meta.env.VITE_FFUN_CRM_PRIVACY || null;
|
|
23
|
+
export const crmImpressum = import.meta.env.VITE_FFUN_CRM_IMPRESSUM || null;
|
|
23
24
|
|
|
24
25
|
export const hasCollections = import.meta.env.VITE_FFUN_HAS_COLLECTIONS == "true" || false;
|
|
25
26
|
|
package/src/router/index.ts
CHANGED
|
@@ -69,6 +69,12 @@ const router = createRouter({
|
|
|
69
69
|
component: CRMView,
|
|
70
70
|
props: {content: settings.crmPrivacy, kind: "privacy"}
|
|
71
71
|
},
|
|
72
|
+
{
|
|
73
|
+
path: "/impressum",
|
|
74
|
+
name: "impressum",
|
|
75
|
+
component: CRMView,
|
|
76
|
+
props: {content: settings.crmImpressum, kind: "impressum"}
|
|
77
|
+
},
|
|
72
78
|
{
|
|
73
79
|
path: "/:pathMatch(.*)*",
|
|
74
80
|
redirect: "/"
|