feat: Implement blog and blog post models, routes, and services
- Added Blog and BlogPost models with necessary fields and relationships. - Created blogRouter for handling blog-related API endpoints including CRUD operations. - Developed BlogService for business logic related to blogs and posts, including sharing functionality. - Implemented API client methods for frontend to interact with blog-related endpoints. - Added internationalization support for blog-related text in English and German. - Created Vue components for blog editing, listing, and viewing, including a rich text editor for post content. - Enhanced user experience with form validations and dynamic visibility settings based on user input.
This commit is contained in:
@@ -15,6 +15,7 @@ import enSocialNetwork from './locales/en/socialnetwork.json';
|
||||
import enFriends from './locales/en/friends.json';
|
||||
import enFalukant from './locales/en/falukant.json';
|
||||
import enPasswordReset from './locales/en/passwordReset.json';
|
||||
import enBlog from './locales/en/blog.json';
|
||||
|
||||
import deGeneral from './locales/de/general.json';
|
||||
import deHeader from './locales/de/header.json';
|
||||
@@ -30,6 +31,7 @@ import deSocialNetwork from './locales/de/socialnetwork.json';
|
||||
import deFriends from './locales/de/friends.json';
|
||||
import deFalukant from './locales/de/falukant.json';
|
||||
import dePasswordReset from './locales/de/passwordReset.json';
|
||||
import deBlog from './locales/de/blog.json';
|
||||
|
||||
const messages = {
|
||||
en: {
|
||||
@@ -47,6 +49,7 @@ const messages = {
|
||||
...enSocialNetwork,
|
||||
...enFriends,
|
||||
...enFalukant,
|
||||
...enBlog,
|
||||
},
|
||||
de: {
|
||||
'Ok': 'Ok',
|
||||
@@ -64,6 +67,7 @@ const messages = {
|
||||
...deSocialNetwork,
|
||||
...deFriends,
|
||||
...deFalukant,
|
||||
...deBlog,
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
11
frontend/src/i18n/locales/de/blog.json
Normal file
11
frontend/src/i18n/locales/de/blog.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"blog": {
|
||||
"posts": "Beiträge",
|
||||
"noPosts": "Keine Beiträge.",
|
||||
"newPost": "Neuen Beitrag verfassen",
|
||||
"title": "Titel",
|
||||
"publish": "Veröffentlichen",
|
||||
"pickImage": "Bild auswählen",
|
||||
"uploadImage": "Bild hochladen"
|
||||
}
|
||||
}
|
||||
@@ -16,6 +16,7 @@
|
||||
},
|
||||
"m-socialnetwork": {
|
||||
"guestbook": "Gästebuch",
|
||||
"blog": "Blog",
|
||||
"usersearch": "Benutzersuche",
|
||||
"forum": "Forum",
|
||||
"gallery": "Galerie",
|
||||
|
||||
11
frontend/src/i18n/locales/en/blog.json
Normal file
11
frontend/src/i18n/locales/en/blog.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"blog": {
|
||||
"posts": "Posts",
|
||||
"noPosts": "No posts.",
|
||||
"newPost": "Write new post",
|
||||
"title": "Title",
|
||||
"publish": "Publish",
|
||||
"pickImage": "Pick an image",
|
||||
"uploadImage": "Upload image"
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,79 @@
|
||||
{
|
||||
"home": "Home",
|
||||
"about": "About",
|
||||
"services": "Services",
|
||||
"team": "Team",
|
||||
"company": "Company",
|
||||
"consulting": "Consulting",
|
||||
"development": "Development",
|
||||
"mailbox": "Mailbox",
|
||||
"logout": "Logout"
|
||||
"navigation": {
|
||||
"home": "Home",
|
||||
"logout": "Logout",
|
||||
"friends": "Friends",
|
||||
"socialnetwork": "Meeting point",
|
||||
"chats": "Chats",
|
||||
"falukant": "Falukant",
|
||||
"minigames": "Mini games",
|
||||
"settings": "Settings",
|
||||
"administration": "Administration",
|
||||
"m-chats": {
|
||||
"multiChat": "Multiuser chat",
|
||||
"randomChat": "Random single chat",
|
||||
"eroticChat": "Erotic chat"
|
||||
},
|
||||
"m-socialnetwork": {
|
||||
"guestbook": "Guestbook",
|
||||
"blog": "Blog",
|
||||
"usersearch": "User search",
|
||||
"forum": "Forum",
|
||||
"gallery": "Gallery",
|
||||
"blockedUsers": "Blocked users",
|
||||
"oneTimeInvitation": "One-time invitations",
|
||||
"diary": "Diary",
|
||||
"erotic": "Erotic",
|
||||
"m-erotic": {
|
||||
"pictures": "Pictures",
|
||||
"videos": "Videos"
|
||||
}
|
||||
},
|
||||
"m-settings": {
|
||||
"homepage": "Homepage",
|
||||
"account": "Account",
|
||||
"personal": "Personal",
|
||||
"view": "Appearance",
|
||||
"flirt": "Flirt",
|
||||
"interests": "Interests",
|
||||
"notifications": "Notifications",
|
||||
"sexuality": "Sexuality"
|
||||
},
|
||||
"m-administration": {
|
||||
"contactrequests": "Contact requests",
|
||||
"useradministration": "User administration",
|
||||
"forum": "Forum",
|
||||
"userrights": "User rights",
|
||||
"interests": "Interests",
|
||||
"falukant": "Falukant",
|
||||
"m-falukant": {
|
||||
"logentries": "Log entries",
|
||||
"edituser": "Edit user",
|
||||
"database": "Database"
|
||||
}
|
||||
},
|
||||
"m-friends": {
|
||||
"manageFriends": "Manage friends",
|
||||
"chat": "Chat",
|
||||
"profile": "Profile"
|
||||
},
|
||||
"m-falukant": {
|
||||
"create": "Create",
|
||||
"overview": "Overview",
|
||||
"towns": "Towns",
|
||||
"directors": "Directors",
|
||||
"factory": "Factory",
|
||||
"family": "Family",
|
||||
"house": "House",
|
||||
"darknet": "Underground",
|
||||
"reputation": "Reputation",
|
||||
"moneyhistory": "Money flow",
|
||||
"nobility": "Social status",
|
||||
"politics": "Politics",
|
||||
"education": "Education",
|
||||
"health": "Health",
|
||||
"bank": "Bank",
|
||||
"church": "Church"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user