Skip to content
This repository was archived by the owner on May 16, 2026. It is now read-only.

Commit b1dbd44

Browse files
committed
טייטל דינמי לפי דף נוכחי, סידור routes
1 parent a38797e commit b1dbd44

5 files changed

Lines changed: 56 additions & 52 deletions

File tree

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<meta charset="UTF-8" />
66
<link rel="icon" href="/favicon.ico" />
77
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
8-
<title>Vuetify 3 Vite Preview</title>
8+
<title>Rss Tracker</title>
99
</head>
1010

1111
<body>

src/components/Articles/Lists/TheFeed.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ try {
4949
const { data } = await axios.get(`/articles/by-feed-id/${feedId.value}`);
5050
articles.value = data.articles;
5151
feed.value = data.feed;
52+
document.title = `Rss Tracker - ${feed.value.title}`;
5253
} catch (error) {
5354
errorMsg.value = error.message;
5455
snacksStore.addSnack({

src/components/Articles/Single/TheArticle.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ const errorMsg = ref('')
4040
try {
4141
const { data } = await axios.get(`/articles/${articleId.value}`);
4242
article.value = data.article;
43+
document.title = `Rss Tracker - ${article.value.title}`;
4344
} catch (error) {
4445
errorMsg.value = error.message;
4546
snacksStore.addSnack({

src/router/index.js

Lines changed: 52 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,24 @@ import { useSnacksStore } from '@/stores/snacks'
1515
const router = createRouter({
1616
history: createWebHistory(import.meta.env.BASE_URL),
1717
routes: [
18+
{
19+
path: '/',
20+
name: 'HomePage',
21+
component: HomeView,
22+
meta: {
23+
viewName: 'דף הבית',
24+
requiresLogin: false,
25+
requiresVerification: false,
26+
}
27+
},
1828
{
1929
path: '/login',
2030
name: 'LoginPage',
2131
component: LoginView,
2232
meta: {
33+
viewName: 'כניסה למערכת',
2334
requiresLogin: false,
2435
requiresVerification: false,
25-
viewName: 'כניסה למערכת',
2636
},
2737
props: (route) => ({
2838
register: String(route.query.register) === '1',
@@ -34,9 +44,9 @@ const router = createRouter({
3444
name: 'ForgotPasswordPage',
3545
component: ForgotPasswordView,
3646
meta: {
47+
viewName: 'איפוס סיסמה',
3748
requiresLogin: false,
3849
requiresVerification: false,
39-
viewName: 'איפוס סיסמה',
4050
},
4151
props: (route) => ({
4252
token: route.query.code,
@@ -48,9 +58,9 @@ const router = createRouter({
4858
name: 'VerifyPage',
4959
component: VerifyView,
5060
meta: {
61+
viewName: 'אימות חשבון',
5162
requiresLogin: true,
5263
requiresVerification: false,
53-
viewName: 'אימות חשבון',
5464
},
5565
props: (route) => ({
5666
code: route.query.code,
@@ -62,71 +72,58 @@ const router = createRouter({
6272
name: 'SubscriptionsPage',
6373
component: SubscriptionsView,
6474
meta: {
75+
viewName: 'ניהול המנויים',
6576
requiresLogin: true,
6677
requiresVerification: true,
67-
viewName: 'ניהול המנויים',
6878
}
6979
},
7080
{
71-
path: '',
72-
children: [
73-
{
74-
path: '',
75-
name: 'HomePage',
76-
component: HomeView,
77-
meta: {
78-
requiresLogin: false,
79-
requiresVerification: false,
80-
viewName: 'דף הבית',
81-
}
82-
},
83-
{
84-
path: 'articles/:articleId',
85-
name: 'ArticlePage',
86-
component: ArticleView,
87-
props: (route) => ({
88-
articleId: route.params.articleId,
89-
}),
90-
meta: {
91-
viewName: 'מאמר'
92-
}
93-
},
94-
{
95-
path: 'feeds/:feedId',
96-
name: 'FeedPage',
97-
component: FeedView,
98-
props: (route) => ({
99-
feedId: route.params.feedId
100-
}),
101-
meta: {
102-
viewName: 'פיד'
103-
}
104-
},
105-
{
106-
path: 'tags/:tagName',
107-
name: 'TagPage',
108-
component: TagView,
109-
props: (route) => ({
110-
tagName: route.params.tagName,
111-
}),
112-
meta: {
113-
viewName: 'תגית'
114-
}
115-
}
116-
],
81+
path: '/articles/:articleId',
82+
name: 'ArticlePage',
83+
component: ArticleView,
84+
props: (route) => ({
85+
articleId: route.params.articleId,
86+
}),
11787
meta: {
88+
viewName: 'מאמר',
11889
requiresLogin: true,
11990
requiresVerification: true
12091
}
12192
},
93+
{
94+
path: '/feeds/:feedId',
95+
name: 'FeedPage',
96+
component: FeedView,
97+
props: (route) => ({
98+
feedId: route.params.feedId
99+
}),
100+
meta: {
101+
viewName: 'פיד',
102+
requiresLogin: true,
103+
requiresVerification: true
104+
}
105+
},
106+
{
107+
path: '/tags/:tagName',
108+
name: 'TagPage',
109+
component: TagView,
110+
props: (route) => ({
111+
tagName: route.params.tagName,
112+
}),
113+
meta: {
114+
viewName: 'תגית',
115+
requiresLogin: true,
116+
requiresVerification: true,
117+
}
118+
},
122119
{
123120
path: '/:pathMatch(.*)*',
124121
name: 'NotFound',
125122
component: NotFoundView,
126123
meta: {
124+
viewName: 'הדף לא נמצא',
127125
requiresLogin: false,
128126
requiresVerification: false,
129-
viewName: 'הדף לא נמצא',
130127
}
131128
}
132129
],
@@ -183,4 +180,8 @@ router.beforeEach(to => {
183180
}
184181
})
185182

183+
router.afterEach(to => {
184+
document.title = to.meta.viewName ? `Rss Tracker - ${to.meta.viewName}` : 'Rss Tracker';
185+
});
186+
186187
export default router

src/views/TagPage.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,5 @@ const $props = defineProps({
2727
})
2828
2929
const { tagName } = toRefs($props);
30+
document.title = `Rss Tracker - ${tagName.value}`;
3031
</script>

0 commit comments

Comments
 (0)