Skip to content

Commit 666393a

Browse files
committed
update icons in footer
1 parent b1b798d commit 666393a

7 files changed

Lines changed: 226 additions & 24 deletions

File tree

.astro/content.d.ts

Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
declare module 'astro:content' {
2+
interface Render {
3+
'.mdx': Promise<{
4+
Content: import('astro').MarkdownInstance<{}>['Content'];
5+
headings: import('astro').MarkdownHeading[];
6+
remarkPluginFrontmatter: Record<string, any>;
7+
components: import('astro').MDXInstance<{}>['components'];
8+
}>;
9+
}
10+
}
11+
12+
declare module 'astro:content' {
13+
export interface RenderResult {
14+
Content: import('astro/runtime/server/index.js').AstroComponentFactory;
15+
headings: import('astro').MarkdownHeading[];
16+
remarkPluginFrontmatter: Record<string, any>;
17+
}
18+
interface Render {
19+
'.md': Promise<RenderResult>;
20+
}
21+
22+
export interface RenderedContent {
23+
html: string;
24+
metadata?: {
25+
imagePaths: Array<string>;
26+
[key: string]: unknown;
27+
};
28+
}
29+
}
30+
31+
declare module 'astro:content' {
32+
type Flatten<T> = T extends { [K: string]: infer U } ? U : never;
33+
34+
export type CollectionKey = keyof AnyEntryMap;
35+
export type CollectionEntry<C extends CollectionKey> = Flatten<AnyEntryMap[C]>;
36+
37+
export type ContentCollectionKey = keyof ContentEntryMap;
38+
export type DataCollectionKey = keyof DataEntryMap;
39+
40+
type AllValuesOf<T> = T extends any ? T[keyof T] : never;
41+
type ValidContentEntrySlug<C extends keyof ContentEntryMap> = AllValuesOf<
42+
ContentEntryMap[C]
43+
>['slug'];
44+
45+
/** @deprecated Use `getEntry` instead. */
46+
export function getEntryBySlug<
47+
C extends keyof ContentEntryMap,
48+
E extends ValidContentEntrySlug<C> | (string & {}),
49+
>(
50+
collection: C,
51+
// Note that this has to accept a regular string too, for SSR
52+
entrySlug: E,
53+
): E extends ValidContentEntrySlug<C>
54+
? Promise<CollectionEntry<C>>
55+
: Promise<CollectionEntry<C> | undefined>;
56+
57+
/** @deprecated Use `getEntry` instead. */
58+
export function getDataEntryById<C extends keyof DataEntryMap, E extends keyof DataEntryMap[C]>(
59+
collection: C,
60+
entryId: E,
61+
): Promise<CollectionEntry<C>>;
62+
63+
export function getCollection<C extends keyof AnyEntryMap, E extends CollectionEntry<C>>(
64+
collection: C,
65+
filter?: (entry: CollectionEntry<C>) => entry is E,
66+
): Promise<E[]>;
67+
export function getCollection<C extends keyof AnyEntryMap>(
68+
collection: C,
69+
filter?: (entry: CollectionEntry<C>) => unknown,
70+
): Promise<CollectionEntry<C>[]>;
71+
72+
export function getEntry<
73+
C extends keyof ContentEntryMap,
74+
E extends ValidContentEntrySlug<C> | (string & {}),
75+
>(entry: {
76+
collection: C;
77+
slug: E;
78+
}): E extends ValidContentEntrySlug<C>
79+
? Promise<CollectionEntry<C>>
80+
: Promise<CollectionEntry<C> | undefined>;
81+
export function getEntry<
82+
C extends keyof DataEntryMap,
83+
E extends keyof DataEntryMap[C] | (string & {}),
84+
>(entry: {
85+
collection: C;
86+
id: E;
87+
}): E extends keyof DataEntryMap[C]
88+
? Promise<DataEntryMap[C][E]>
89+
: Promise<CollectionEntry<C> | undefined>;
90+
export function getEntry<
91+
C extends keyof ContentEntryMap,
92+
E extends ValidContentEntrySlug<C> | (string & {}),
93+
>(
94+
collection: C,
95+
slug: E,
96+
): E extends ValidContentEntrySlug<C>
97+
? Promise<CollectionEntry<C>>
98+
: Promise<CollectionEntry<C> | undefined>;
99+
export function getEntry<
100+
C extends keyof DataEntryMap,
101+
E extends keyof DataEntryMap[C] | (string & {}),
102+
>(
103+
collection: C,
104+
id: E,
105+
): E extends keyof DataEntryMap[C]
106+
? string extends keyof DataEntryMap[C]
107+
? Promise<DataEntryMap[C][E]> | undefined
108+
: Promise<DataEntryMap[C][E]>
109+
: Promise<CollectionEntry<C> | undefined>;
110+
111+
/** Resolve an array of entry references from the same collection */
112+
export function getEntries<C extends keyof ContentEntryMap>(
113+
entries: {
114+
collection: C;
115+
slug: ValidContentEntrySlug<C>;
116+
}[],
117+
): Promise<CollectionEntry<C>[]>;
118+
export function getEntries<C extends keyof DataEntryMap>(
119+
entries: {
120+
collection: C;
121+
id: keyof DataEntryMap[C];
122+
}[],
123+
): Promise<CollectionEntry<C>[]>;
124+
125+
export function render<C extends keyof AnyEntryMap>(
126+
entry: AnyEntryMap[C][string],
127+
): Promise<RenderResult>;
128+
129+
export function reference<C extends keyof AnyEntryMap>(
130+
collection: C,
131+
): import('astro/zod').ZodEffects<
132+
import('astro/zod').ZodString,
133+
C extends keyof ContentEntryMap
134+
? {
135+
collection: C;
136+
slug: ValidContentEntrySlug<C>;
137+
}
138+
: {
139+
collection: C;
140+
id: keyof DataEntryMap[C];
141+
}
142+
>;
143+
// Allow generic `string` to avoid excessive type errors in the config
144+
// if `dev` is not running to update as you edit.
145+
// Invalid collection names will be caught at build time.
146+
export function reference<C extends string>(
147+
collection: C,
148+
): import('astro/zod').ZodEffects<import('astro/zod').ZodString, never>;
149+
150+
type ReturnTypeOrOriginal<T> = T extends (...args: any[]) => infer R ? R : T;
151+
type InferEntrySchema<C extends keyof AnyEntryMap> = import('astro/zod').infer<
152+
ReturnTypeOrOriginal<Required<ContentConfig['collections'][C]>['schema']>
153+
>;
154+
155+
type ContentEntryMap = {
156+
157+
};
158+
159+
type DataEntryMap = {
160+
"articles": Record<string, {
161+
id: string;
162+
body?: string;
163+
collection: "articles";
164+
data: InferEntrySchema<"articles">;
165+
rendered?: RenderedContent;
166+
filePath?: string;
167+
}>;
168+
"blog": Record<string, {
169+
id: string;
170+
render(): Render[".md"];
171+
slug: string;
172+
body: string;
173+
collection: "blog";
174+
data: InferEntrySchema<"blog">;
175+
rendered?: RenderedContent;
176+
filePath?: string;
177+
}>;
178+
179+
};
180+
181+
type AnyEntryMap = ContentEntryMap & DataEntryMap;
182+
183+
export type ContentConfig = typeof import("../src/content.config.js");
184+
}

src/assets/icons/github.svg

Lines changed: 1 addition & 0 deletions
Loading

src/assets/icons/mail.svg

Lines changed: 4 additions & 0 deletions
Loading

src/assets/icons/x.svg

Lines changed: 1 addition & 0 deletions
Loading

src/assets/styles/menu.css

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,27 @@
88
--header-height: 80px;
99
--sidebar-width: 16ch;
1010
--timing: 0.42s;
11-
--ease: linear(0 0%,
12-
0.0036 9.62%,
13-
0.0185 16.66%,
14-
0.0489 23.03%,
15-
0.0962 28.86%,
16-
0.1705 34.93%,
17-
0.269 40.66%,
18-
0.3867 45.89%,
19-
0.5833 52.95%,
20-
0.683 57.05%,
21-
0.7829 62.14%,
22-
0.8621 67.46%,
23-
0.8991 70.68%,
24-
0.9299 74.03%,
25-
0.9545 77.52%,
26-
0.9735 81.21%,
27-
0.9865 85%,
28-
0.9949 89.15%,
29-
1 100%);
11+
--ease: linear(
12+
0 0%,
13+
0.0036 9.62%,
14+
0.0185 16.66%,
15+
0.0489 23.03%,
16+
0.0962 28.86%,
17+
0.1705 34.93%,
18+
0.269 40.66%,
19+
0.3867 45.89%,
20+
0.5833 52.95%,
21+
0.683 57.05%,
22+
0.7829 62.14%,
23+
0.8621 67.46%,
24+
0.8991 70.68%,
25+
0.9299 74.03%,
26+
0.9545 77.52%,
27+
0.9735 81.21%,
28+
0.9865 85%,
29+
0.9949 89.15%,
30+
1 100%
31+
);
3032
}
3133

3234
.layout {
@@ -353,6 +355,10 @@
353355
display: block;
354356
}
355357

358+
.theme-toggle use {
359+
display: none;
360+
}
361+
356362
[data-theme="light"] .placement-toggle,
357363
[data-theme="system"] .placement-toggle {
358364
color: black;
@@ -365,4 +371,4 @@
365371
[data-debug="false"] .debug-toggle g:first-of-type {
366372
display: block;
367373
}
368-
}
374+
}

src/components/Footer.astro

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
---
2+
import GitHubIcon from "@/assets/icons/github.svg";
3+
import MailIcon from "@/assets/icons/mail.svg";
4+
import TwitterIcon from "@/assets/icons/x.svg";
5+
---
6+
17
<footer>
28
<div class="h-[1px] w-full bg-white/70"></div>
39

@@ -25,15 +31,15 @@
2531
target="_blank"
2632
class="social-link inline-flex size-[40px] items-center justify-center rounded-[5px]"
2733
>
28-
X
34+
<TwitterIcon />
2935
</a>
3036
</li>
3137
<li>
3238
<a
3339
href="mailto:recursivezero@outlook.com"
3440
class="social-link inline-flex size-[40px] items-center justify-center rounded-[5px]"
3541
>
36-
M
42+
<MailIcon />
3743
</a>
3844
</li>
3945
<li>
@@ -42,7 +48,7 @@
4248
target="_blank"
4349
class="social-link inline-flex size-[40px] items-center justify-center rounded-[5px]"
4450
>
45-
G
51+
<GitHubIcon < a />
4652
</a>
4753
</li>
4854
</ul>

src/pages/career.astro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ import "../assets/styles/career.css";
5757
<h2 class="about__title">How to Apply</h2>
5858
<p class="job__description">
5959
Send your resume and a brief cover letter to
60-
<a href="mailto:hello@recursivezero.com" class="apply__link"> hellow@recursivezero.com </a>
60+
<a href="mailto:hello@recursivezero.com" class="apply__link"> hello@recursivezero.com </a>
6161
</p>
6262
</section>
6363
</div>

0 commit comments

Comments
 (0)