diff --git a/src/components/ui/Background.astro b/src/components/ui/Background.astro
index e3fef9b..5907e81 100644
--- a/src/components/ui/Background.astro
+++ b/src/components/ui/Background.astro
@@ -7,7 +7,7 @@ export interface Props {
disableParallax?: boolean;
}
-const { isDark = false, showIcons = true, disableParallax = false } = Astro.props;
+const { isDark = false, showIcons = true, disableParallax = true } = Astro.props;
// Define color palettes for light and dark modes with higher contrast
const lightModeColors = [
@@ -22,14 +22,14 @@ const lightModeColors = [
];
const darkModeColors = [
- 'dark:text-blue-400/45',
- 'dark:text-indigo-400/45',
- 'dark:text-purple-400/45',
- 'dark:text-cyan-400/45',
- 'dark:text-teal-400/45',
- 'dark:text-emerald-400/45',
- 'dark:text-sky-400/45',
- 'dark:text-violet-400/45',
+ 'dark:text-blue-500/65',
+ 'dark:text-indigo-500/65',
+ 'dark:text-purple-500/65',
+ 'dark:text-cyan-500/65',
+ 'dark:text-teal-500/65',
+ 'dark:text-emerald-500/65',
+ 'dark:text-sky-500/65',
+ 'dark:text-violet-500/65',
];
// Define interfaces for our icon objects
@@ -98,14 +98,20 @@ const getRandomRotation = (): string => {
return `${getRandomInRange(-30, 30)}deg`;
};
-// Function to get a random size (restored to original dimensions)
-const getRandomSize = (): string => {
- return `${getRandomInRange(140, 180)}px`;
+// Function to get a random size
+const getRandomSize = (isDarkMode: boolean = false): string => {
+ // Slightly larger size range for dark mode for better visibility
+ return isDarkMode
+ ? `${getRandomInRange(160, 200)}px`
+ : `${getRandomInRange(140, 180)}px`;
};
// Function to get a random opacity
-const getRandomOpacity = (): string => {
- return getRandomInRange(0.32, 0.38).toFixed(2);
+const getRandomOpacity = (isDarkMode: boolean = false): string => {
+ // Higher opacity range for dark mode for better visibility
+ return isDarkMode
+ ? getRandomInRange(0.45, 0.55).toFixed(2)
+ : getRandomInRange(0.32, 0.38).toFixed(2);
};
// Create a spacious layout with well-separated icons
@@ -172,8 +178,8 @@ const createSpacedIcons = (): BaseIconObject[] => {
icon: iconNames[iconIndex],
x: `${x}%`,
y: `${y}%`,
- size: getRandomSize(),
- opacity: getRandomOpacity(),
+ size: getRandomSize(isDark),
+ opacity: getRandomOpacity(isDark),
rotate: getRandomRotation(),
});
}
@@ -200,15 +206,12 @@ const iconsWithColors: IconWithColors[] = icons.map(icon => ({
{showIcons && (
- /* Decorative background icons with parallax effect */
-
- {iconsWithColors.map(({ icon, x, y, size, opacity, rotate, lightColor, darkColor }, index) => (
+ /* Decorative background icons with random placement */
+
+ {iconsWithColors.map(({ icon, x, y, size, opacity, rotate, lightColor, darkColor }) => (
diff --git a/src/components/ui/GlobalBackground.astro b/src/components/ui/GlobalBackground.astro
index 4ac8261..00946bd 100644
--- a/src/components/ui/GlobalBackground.astro
+++ b/src/components/ui/GlobalBackground.astro
@@ -20,14 +20,14 @@ const lightModeColors = [
];
const darkModeColors = [
- 'dark:text-blue-400/45',
- 'dark:text-indigo-400/45',
- 'dark:text-purple-400/45',
- 'dark:text-cyan-400/45',
- 'dark:text-teal-400/45',
- 'dark:text-emerald-400/45',
- 'dark:text-sky-400/45',
- 'dark:text-violet-400/45',
+ 'dark:text-blue-500/65',
+ 'dark:text-indigo-500/65',
+ 'dark:text-purple-500/65',
+ 'dark:text-cyan-500/65',
+ 'dark:text-teal-500/65',
+ 'dark:text-emerald-500/65',
+ 'dark:text-sky-500/65',
+ 'dark:text-violet-500/65',
];
// Define interfaces for our icon objects
@@ -99,13 +99,19 @@ const getRandomRotation = (): string => {
};
// Function to get a random size
-const getRandomSize = (): string => {
- return `${getRandomInRange(140, 180)}px`;
+const getRandomSize = (isDarkMode: boolean = false): string => {
+ // Slightly larger size range for dark mode for better visibility
+ return isDarkMode
+ ? `${getRandomInRange(160, 200)}px`
+ : `${getRandomInRange(140, 180)}px`;
};
// Function to get a random opacity
-const getRandomOpacity = (): string => {
- return getRandomInRange(0.32, 0.38).toFixed(2);
+const getRandomOpacity = (isDarkMode: boolean = false): string => {
+ // Higher opacity range for dark mode for better visibility
+ return isDarkMode
+ ? getRandomInRange(0.45, 0.55).toFixed(2)
+ : getRandomInRange(0.32, 0.38).toFixed(2);
};
// Create a spacious layout with well-separated icons
@@ -188,8 +194,8 @@ const createSpacedIcons = (): BaseIconObject[] => {
icon: iconNames[iconIndex],
x: `${x}%`,
y: `${y}%`,
- size: getRandomSize(),
- opacity: getRandomOpacity(),
+ size: getRandomSize(isDark),
+ opacity: getRandomOpacity(isDark),
rotate: getRandomRotation(),
visibilityClass, // Add the visibility class to the icon object
});
@@ -219,15 +225,12 @@ const iconsWithColors: IconWithColors[] = icons.map(icon => ({
- {/* Decorative background icons with parallax effect */}
-
- {iconsWithColors.map(({ icon, x, y, size, opacity, rotate, lightColor, darkColor, visibilityClass }, index) => (
+ {/* Decorative background icons with random placement */}
+
+ {iconsWithColors.map(({ icon, x, y, size, opacity, rotate, lightColor, darkColor, visibilityClass }) => (
@@ -235,82 +238,4 @@ const iconsWithColors: IconWithColors[] = icons.map(icon => ({
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/components/widgets/Footer.astro b/src/components/widgets/Footer.astro
index 418544f..d0ec6c3 100644
--- a/src/components/widgets/Footer.astro
+++ b/src/components/widgets/Footer.astro
@@ -76,8 +76,13 @@ const {
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/src/navigation.ts b/src/navigation.ts
index e4adb6f..e30108e 100644
--- a/src/navigation.ts
+++ b/src/navigation.ts
@@ -7,8 +7,8 @@ export const getHeaderData = (lang = 'en') => {
// For hash links on the homepage, we need special handling
const homeHashLink = (hash) => {
// Create an absolute path to the homepage with the language prefix
- // and then append the hash
- return getPermalink('/', 'page', lang) + hash;
+ // and include the hash in the permalink generation
+ return getPermalink('/' + hash, 'page', lang);
};
return {
diff --git a/src/pages/[lang]/aboutme.astro b/src/pages/[lang]/aboutme.astro
index ab55dba..dcbd780 100644
--- a/src/pages/[lang]/aboutme.astro
+++ b/src/pages/[lang]/aboutme.astro
@@ -57,7 +57,6 @@ const metadata = {
diff --git a/src/pages/[lang]/privacy.astro b/src/pages/[lang]/privacy.astro
index f0f004a..ff86b92 100644
--- a/src/pages/[lang]/privacy.astro
+++ b/src/pages/[lang]/privacy.astro
@@ -85,7 +85,7 @@ const tocItems = [
-
+
1. Introduction
This Privacy Policy explains how we handle information when you visit our website. We are committed to protecting your privacy and complying with applicable data protection laws, including the General Data Protection Regulation (GDPR).
diff --git a/src/pages/[lang]/terms.astro b/src/pages/[lang]/terms.astro
index 2452b80..2b19ec3 100644
--- a/src/pages/[lang]/terms.astro
+++ b/src/pages/[lang]/terms.astro
@@ -83,7 +83,7 @@ const tocItems = [
-
+
Please read these terms and conditions carefully before using our website. By accessing or using our website, you agree to be bound by these terms and conditions.