diff --git a/app/components/About.vue b/app/components/About.vue index 5e558ab..1eb140c 100644 --- a/app/components/About.vue +++ b/app/components/About.vue @@ -5,26 +5,26 @@

About Me

-
-
-
- +
+
+
+
-
-

SticksDev

-

Tanner Sommers

-
+
+

SticksDev

+

Tanner Sommers

+
- Age: + Age: 22
- Location: - United States (UTC-5) + Location: + United States (UTC-5)
- Occupation: - Software Engineer / Freelancer + Occupation: + Software Engineer / Freelancer
diff --git a/app/components/Blog.vue b/app/components/Blog.vue index dcd7105..15e51e7 100644 --- a/app/components/Blog.vue +++ b/app/components/Blog.vue @@ -65,74 +65,17 @@

Check back later for updates!

- - -
-
- -
- {{ selectedPost.title }} - -
- - -
-
-
-

{{ selectedPost.title }}

-
- - - {{ formatDate(selectedPost.date) }} - - - - {{ selectedPost.tags.join(', ') }} - -
-
- - - - - -
-
-
-
-
diff --git a/app/components/Contact.vue b/app/components/Contact.vue index 857424a..bab0e8d 100644 --- a/app/components/Contact.vue +++ b/app/components/Contact.vue @@ -13,15 +13,15 @@ -
- +
+
-
-

Email

-

Best for professional inquiries and projects

-

tanner@teamhydra.dev

+
+

Email

+

Best for professional inquiries and projects

+

tanner@teamhydra.dev

@@ -29,19 +29,19 @@ -
- +
+
-
-

Discord

-

Join the Discord server for casual conversations

-

- Username: sticksdev +

+

Discord

+

Join the Discord server for casual conversations

+

+ Username: sticksdev

-

- Channel: #other-support +

+ Channel: #other-support

@@ -50,15 +50,15 @@ -
- +
+
-
diff --git a/app/pages/desktop.vue b/app/pages/desktop.vue index c849ce6..48c0d25 100644 --- a/app/pages/desktop.vue +++ b/app/pages/desktop.vue @@ -172,7 +172,27 @@ @activate="activeWindow = 'blog'" @minimize="minimizeWindow('blog')" > - + + + + + + @@ -303,6 +323,13 @@ :isActive="activeWindow === 'blog' && !minimizedWindows.blog" @click="toggleMinimize('blog')" /> +
@@ -323,7 +350,9 @@ import Projects from '~/components/Projects.vue' import Experience from '~/components/Experience.vue' import Contact from '~/components/Contact.vue' import Blog from '~/components/Blog.vue' +import BlogArticle from '~/components/BlogArticle.vue' import AboutShrimpOS from '~/components/AboutShrimpOS.vue' +import type { BlogCollectionItem } from '@nuxt/content' const windows = reactive({ about: false, @@ -331,6 +360,7 @@ const windows = reactive({ experience: false, contact: false, blog: false, + article: false, }) const minimizedWindows = reactive({ @@ -339,10 +369,13 @@ const minimizedWindows = reactive({ experience: false, contact: false, blog: false, + article: false, }) const activeWindow = ref(null) const selectedIcon = ref(null) +const openArticleTitle = ref(null) +const openArticleContent = ref(null) const isLoading = ref(false) const currentTime = ref('') const isDesktopLoading = ref(true) @@ -425,6 +458,23 @@ const toggleMinimize = (windowName: keyof typeof windows) => { } } +const handleArticleOpened = (title: string, content: BlogCollectionItem) => { + openArticleTitle.value = title + openArticleContent.value = content + windows.article = true + activeWindow.value = 'article' +} + +const handleArticleClosed = () => { + openArticleTitle.value = null + openArticleContent.value = null + windows.article = false + minimizedWindows.article = false + if (activeWindow.value === 'article') { + activeWindow.value = null + } +} + const startShutdown = async () => { showStartMenu.value = false isShuttingDown.value = true