diff --git a/src/components/FloatingActions.astro b/src/components/FloatingActions.astro
new file mode 100644
index 0000000..985bf79
--- /dev/null
+++ b/src/components/FloatingActions.astro
@@ -0,0 +1,224 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro
index e555598..66bacf7 100644
--- a/src/layouts/BaseLayout.astro
+++ b/src/layouts/BaseLayout.astro
@@ -3,6 +3,7 @@ import Footer from "@/components/Footer.astro";
import Header from "@/components/Header.astro";
import { ClientRouter } from "astro:transitions";
import SEO from "@/components/SEO.astro";
+import FloatingActions from "@/components/FloatingActions.astro";
const {
pageTitle,
@@ -23,48 +24,7 @@ const {
{pageTitle}
-
-
-
-
-
+
@@ -81,184 +41,4 @@ const {
width: 100%;
height: 100%;
}
-
- .floating-actions {
- position: fixed;
- right: 1.25rem;
- bottom: 1.25rem;
- display: flex;
- flex-direction: column;
- gap: 0.75rem;
- z-index: 1000;
- }
-
- #theme-toggle-fab,
- #back-to-top {
- width: 3rem;
- height: 3rem;
- border: #a7a7a7 1.5px solid;
- border-radius: 999px;
- background: rgba(255, 255, 255, 0.92);
- color: #222;
- /* box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16); */
- cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- backdrop-filter: blur(6px);
- }
-
- #theme-toggle-fab {
- position: relative;
- }
-
- #theme-toggle-fab {
- position: relative;
- }
-
- .theme-toggle-icon {
- width: 1.2rem;
- height: 1.2rem;
- fill: currentColor;
- }
-
- .theme-toggle-icon .sun,
- .theme-toggle-icon .moon {
- transform-origin: center;
- transition:
- opacity 0.2s ease,
- transform 0.2s ease;
- }
-
- .theme-toggle-icon .sun {
- opacity: 1;
- transform: scale(1) rotate(0deg);
- }
-
- .theme-toggle-icon .moon {
- opacity: 0;
- transform: scale(0.75) rotate(-20deg);
- }
-
- :global(.dark) .theme-toggle-icon .sun {
- opacity: 0;
- transform: scale(0.75) rotate(20deg);
- }
-
- :global(.dark) .theme-toggle-icon .moon {
- opacity: 1;
- transform: scale(1) rotate(0deg);
- }
-
- #theme-toggle-fab,
- #back-to-top {
- /* opacity: 0; */
- visibility: hidden;
- transform: translateY(150px);
- transition:
- opacity 0.2s ease,
- transform 0.27s ease,
- visibility 0.2s ease;
- }
-
- #theme-toggle-fab.show,
- #back-to-top.show {
- opacity: 1;
- visibility: visible;
- transform: translateY(0);
- }
-
- #theme-toggle-fab.show:hover,
- #back-to-top.show:hover {
- transform: translateY(-2px);
- }
-
- :global(.dark) #theme-toggle-fab,
- :global(.dark) #back-to-top {
- background: rgba(34, 34, 34, 0.92);
- color: #f5f5f5;
- box-shadow: 0 4px 14px rgba(0, 0, 0, 0.32);
- border: #515151 2px solid;
- }
-
- @media (max-width: 640px) {
- .floating-actions {
- right: 1rem;
- bottom: 1rem;
- gap: 0.65rem;
- }
-
- #theme-toggle-fab,
- #back-to-top {
- width: 2.75rem;
- height: 2.75rem;
- }
- }
-
-