1 ---
2 import { SITE } from '@/config'
3 const today = new Date()
4 ---
5
6 <footer>
7 <div class="footer-content">
8 <div class="footer-links">
9 <nav class="footer-nav">
10 <a href="/contact">Contact</a>
11 <a href="/privacy-policy">Privacy Policy</a>
12 <a href="/terms-of-use">Terms of Use</a>
13 </nav>
14 </div>
15 <div class="footer-bottom">
16 <div class="copyright">
17 <span class="date">
18 &copy;
19 {today.getFullYear()}
20 </span>
21 {SITE.author}
22 </div>
23 <div class="powered-by">
24 Powered by{' '}
25 <a href="https://smbcloud.xyz" target="__blank">smbCloud</a>
26 </div>
27 </div>
28 </div>
29 </footer>
30 <style>
31 footer {
32 font-size: var(--font-size-s);
33 font-weight: var(--font-weight-light);
34 line-height: 1.75;
35 color: var(--text-secondary);
36 margin-top: 4rem;
37 }
38
39 .footer-content {
40 display: flex;
41 flex-direction: column;
42 gap: 1.5rem;
43 width: 100%;
44 }
45
46 .footer-links {
47 padding-bottom: 1rem;
48 border-bottom: 1px solid var(--border);
49 }
50
51 .footer-nav {
52 display: flex;
53 gap: 1.5rem;
54 justify-content: center;
55 flex-wrap: wrap;
56 }
57
58 .footer-nav a {
59 color: var(--text-secondary);
60 text-decoration: none;
61 padding: 0.25rem 0.5rem;
62 border-radius: 0.25rem;
63 transition: all 0.2s ease-out;
64 }
65
66 .footer-nav a:hover {
67 color: var(--text-primary);
68 background-color: var(--code-bg);
69 }
70
71 .footer-bottom {
72 display: flex;
73 justify-content: space-between;
74 align-items: center;
75 flex-direction: row;
76 flex-wrap: nowrap;
77 width: 100%;
78 }
79
80 .copyright,
81 .powered-by {
82 white-space: nowrap;
83 }
84
85 .powered-by a {
86 color: var(--text-secondary);
87 text-decoration: none;
88 transition: color 0.2s ease-out;
89 }
90
91 .powered-by a:hover {
92 color: var(--text-primary);
93 }
94
95 @media (max-width: 768px) {
96 .footer-nav {
97 gap: 1rem;
98 }
99
100 .footer-bottom {
101 flex-direction: column;
102 gap: 0.75rem;
103 text-align: center;
104 }
105
106 .copyright,
107 .powered-by {
108 white-space: normal;
109 }
110 }
111 </style>