-
{{ totalCitations }}
-
Citations
+ class="bg-white dark:bg-slate-900 p-4 rounded-xl shadow-sm border border-slate-200 dark:border-slate-800 text-center hover:border-slate-300 dark:hover:border-slate-700 transition-colors">
+
{{ totalCitations }}
+
+ Citations
-
{{ user.publications.length }}
-
Papers
+ class="bg-white dark:bg-slate-900 p-4 rounded-xl shadow-sm border border-slate-200 dark:border-slate-800 text-center hover:border-slate-300 dark:hover:border-slate-700 transition-colors">
+
{{
+ userProfile.publications.length
+ }}
+
+ Publications
@@ -82,162 +103,562 @@
-
+
+ :class="activeTab === 'overview' ? 'bg-slate-100 dark:bg-slate-800 text-slate-900 dark:text-white shadow-sm ring-1 ring-black/5 dark:ring-white/5' : 'text-slate-500 dark:text-slate-400 hover:text-slate-900 dark:hover:text-white hover:bg-slate-50 dark:hover:bg-slate-800'"
+ class="flex-1 min-w-[100px] py-2.5 px-4 rounded-lg text-lg font-semibold cursor-pointer transition-colors"
+ @click="activeTab = 'overview'">
Overview
+ :class="activeTab === 'activity' ? 'bg-slate-100 dark:bg-slate-800 text-slate-900 dark:text-white shadow-sm ring-1 ring-black/5 dark:ring-white/5' : 'text-slate-500 dark:text-slate-400 hover:text-slate-900 dark:hover:text-white hover:bg-slate-50 dark:hover:bg-slate-800'"
+ class="flex-1 min-w-[100px] py-2.5 px-4 rounded-lg text-lg font-medium transition-colors cursor-pointer"
+ @click="activeTab = 'activity'">
Activity Log
+ :class="activeTab === 'settings' ? 'bg-slate-100 dark:bg-slate-800 text-slate-900 dark:text-white shadow-sm ring-1 ring-black/5 dark:ring-white/5' : 'text-slate-500 dark:text-slate-400 hover:text-slate-900 dark:hover:text-white hover:bg-slate-50 dark:hover:bg-slate-800'"
+ class="flex-1 min-w-[100px] py-2.5 px-4 rounded-lg text-lg font-medium transition-colors cursor-pointer"
+ @click="activeTab = 'settings'">
Settings
-
-
Biography
-
- {{ user.biography }}
-
-
-
-
-
- Recent Publications
- {{
- user.publications.length }}
-
-
-
-
-
-
No publications found yet.
-
-
-
-
-
-
- {{ pub.publishedYear }}
-
+
+
+
+
+ Recent Publications
+
+ {{ userProfile.publications.length }} Publications
+
+
-
- {{ pub.abstract }}
-
+
+
+
+
+
+
+
+
+
+ No publications yet
+
+
+
+
+
+
+ Submit your first publication
+
+
+
+
+
+
+
+
+ ▲
+ {{ post.rating }}
+ ▼
+
+
+
+
+ {{ post.type.replace('_', ' ') }}
+
+
{{ new
+ Date(post.publicationDate).toLocaleDateString('en-US', {
+ year:
+ 'numeric', month: 'long', day: 'numeric'
+ }) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{
+ post.title }}
+
By {{
+ post.authors.join(', ') }}
+
+
💬 {{ post.commentCount }} Comments
+
+ #{{ tag.name }}
+
+
+
+
+
+
+
+
+
+
User History
+
+
+
No activity recorded.
+
-
-
- {{ pub.field }}
-
-
-
-
-
- {{ pub.citations }} Citations
-
-
•
-
{{ pub.publishedDate }}
+ class="bg-white dark:bg-slate-900 rounded-xl shadow-sm border border-slate-200 dark:border-slate-800 overflow-hidden">
+
+
+
+
+ {{ new Date(item.timestamp).toLocaleDateString('en-US', {
+ month: 'short',
+ day: 'numeric', year: 'numeric' }) }}
+
+
+ {{ new Date(item.timestamp).toLocaleTimeString([], {
+ hour: '2-digit',
+ minute: '2-digit' }) }}
+
+
+
+
+
+
+ {{ item.actionType.replace('_', ' ') }}
+
+
+
+ {{ item.targetType }} #{{ item.targetId }}
+
+
+
+
+ {{ item.description }}
+
+
+
+
+
-
+
+
+
+ Edit Profile
+
+
+ Update your personal information and account details.
+
+
+
+
+
+
+ Name
+
+
+
+
+
+
+ Email address
+
+
+
+ Dont worry, Your email is going to be sold to russian hackers.
+
+
+
+
+ Reset Password
+
+
+
+
+
+
+ Save changes
+
+
+
+
-
+
+
diff --git a/app/pages/profile/update-password.vue b/app/pages/profile/update-password.vue
new file mode 100644
index 0000000..ce181ab
--- /dev/null
+++ b/app/pages/profile/update-password.vue
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+
Password Update
+
Please update your password to
+ secure your account.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/stores/notification-store.js b/app/stores/notification-store.js
new file mode 100644
index 0000000..d7373c2
--- /dev/null
+++ b/app/stores/notification-store.js
@@ -0,0 +1,22 @@
+import { defineStore } from 'pinia'
+
+export const useNotificationStore = defineStore('notifications', {
+ state: () => ({
+ notifications: []
+ }),
+ actions: {
+ add(message, type = 'success', duration = 3000) {
+ const id = Date.now()
+ this.notifications.push({ id, message, type })
+
+ setTimeout(() => {
+ this.remove(id)
+ }, duration)
+ },
+ remove(id) {
+ this.notifications = this.notifications.filter(n => n.id !== id)
+ },
+ error(msg) { this.add(msg, 'error') },
+ success(msg) { this.add(msg, 'success') }
+ }
+})
\ No newline at end of file
diff --git a/nuxt.config.ts b/nuxt.config.ts
index 19a2d61..1168135 100644
--- a/nuxt.config.ts
+++ b/nuxt.config.ts
@@ -3,7 +3,13 @@ import tailwindcss from "@tailwindcss/vite";
export default defineNuxtConfig({
compatibilityDate: "2026-01-01",
devtools: { enabled: true },
-
+ app: {
+ head: {
+ link: [
+ { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
+ ]
+ }
+ },
css: [
"~/assets/css/main.css",
"~/assets/css/tailwind.css"
diff --git a/public/f.png b/public/f.png
new file mode 100644
index 0000000..ecc0d36
Binary files /dev/null and b/public/f.png differ
diff --git a/public/favicon.ico b/public/favicon.ico
index 18993ad..438a0e1 100644
Binary files a/public/favicon.ico and b/public/favicon.ico differ