Live video on the AT Protocol
1import { config as configBase } from "@tamagui/config/v3";
2import { createFont, createTamagui } from "tamagui";
3
4const sizes = {
5 "1": 11,
6 "2": 12,
7 "3": 13,
8 "4": 14,
9 "5": 13,
10 "6": 15,
11 "7": 20,
12 "8": 23,
13 "9": 32,
14 "10": 44,
15 "11": 55,
16 "12": 62,
17 "13": 72,
18 "14": 92,
19 "15": 114,
20 "16": 134,
21};
22
23const lineHeights = {
24 "1": 22,
25 "2": 23,
26 "3": 24,
27 "4": 25,
28 "5": 24,
29 "6": 27,
30 "7": 32,
31 "8": 35,
32 "9": 40,
33 "10": 53,
34 "11": 66,
35 "12": 73,
36 "13": 84,
37 "14": 106,
38 "15": 130,
39 "16": 152,
40};
41
42const bodyFont = createFont({
43 ...configBase.fonts.body,
44 family: `FiraSans-Medium`,
45 lineHeight: lineHeights,
46 size: sizes,
47});
48
49const headingFont = createFont({
50 ...configBase.fonts.heading,
51 family: `FiraSans-Medium`,
52 lineHeight: lineHeights,
53 size: sizes,
54});
55
56const codeFont = createFont({
57 family: `FiraCode-Medium`,
58 size: sizes,
59 lineHeight: lineHeights,
60 weight: {
61 1: "300",
62 // 2 will be 300
63 3: "600",
64 },
65 letterSpacing: {
66 1: 0,
67 2: -1,
68 // 3 will be -1
69 },
70});
71
72const streamplaceConfig = {
73 ...configBase,
74 fonts: {
75 ...configBase.fonts,
76 heading: headingFont,
77 body: bodyFont,
78 mono: codeFont,
79 },
80 media: {
81 xxs: { maxWidth: 440 },
82 gtXxs: { minWidth: 440 + 1 },
83 xs: { maxWidth: 660 },
84 gtXs: { minWidth: 660 + 1 },
85 sm: { maxWidth: 860 },
86 gtSm: { minWidth: 860 + 1 },
87 md: { maxWidth: 980 },
88 gtMd: { minWidth: 980 + 1 },
89 lg: { maxWidth: 1120 },
90 gtLg: { minWidth: 1120 + 1 },
91 xl: { maxWidth: 1550 },
92 gtXl: { minWidth: 1550 + 1 },
93 xxl: { maxWidth: 1920 },
94 gtXxl: { minWidth: 1920 + 1 },
95 short: { maxHeight: 820 },
96 tall: { minHeight: 820 },
97 hoverNone: { hover: "none" },
98 pointerCoarse: { pointer: "coarse" },
99 },
100 themes: {
101 ...configBase.themes,
102 dark: {
103 ...configBase.themes.dark,
104 accentColor: "rgb(189, 110, 134)",
105 accentBackground: "rgb(39, 43, 80)",
106 background2: "rgb(18, 18, 18)",
107 },
108 },
109};
110
111const config = createTamagui(streamplaceConfig);
112
113export { config };
114export default config;
115
116export type Conf = typeof config;
117
118declare module "tamagui" {
119 interface TamaguiCustomConfig extends Conf {}
120}