Jaspers Hub

jaspers / fmp

pluginOfficialReviewed★ 0↓ 4

FMP: News & Technicals: Connects Financial Modeling Prep's MCP server to show company news and technical indicators, with Form 13F as a source only.

2.7 KB
1/* The FMP views' CSS. A plugin view is an iframe of its own, so there is no Tailwind here: plain
2 classes, the house style by hand. Colours are the app's theme variables, so the views follow its
3 light and dark, each with its light value as the fallback for an app from before the theme.
4 Square everything, one grey line, muted secondary text, 13px, and no accent colour. */
5
6.fm-root {
7 display: flex;
8 flex-direction: column;
9 height: 100%;
10 width: 100%;
11 background: var(--jaspers-background, #fff);
12 color: var(--jaspers-foreground, #171717);
13 font: 13px/1.45 var(--jaspers-font-sans, system-ui, -apple-system, sans-serif);
14}
15
16.fm-bar {
17 flex: 0 0 auto;
18 display: flex;
19 align-items: center;
20 gap: 8px;
21 padding: 6px 8px;
22 border-bottom: 1px solid var(--jaspers-border, #e5e5e5);
23}
24
25.fm-input,
26.fm-select {
27 border: 1px solid var(--jaspers-border, #e5e5e5);
28 background: var(--jaspers-background, #fff);
29 color: var(--jaspers-foreground, #171717);
30 font: inherit;
31 padding: 2px 6px;
32 outline: none;
33 border-radius: 0;
34}
35
36.fm-input:focus,
37.fm-select:focus {
38 border-color: var(--jaspers-foreground, #171717);
39}
40
41.fm-input-symbol {
42 width: 80px;
43 text-transform: uppercase;
44}
45
46.fm-input-year {
47 width: 64px;
48}
49
50.fm-body {
51 flex: 1 1 auto;
52 overflow: auto;
53 padding: 0 8px 8px;
54}
55
56.fm-section {
57 padding-top: 8px;
58}
59
60.fm-h {
61 display: flex;
62 align-items: baseline;
63 gap: 8px;
64 margin: 0 0 4px;
65 font-size: 13px;
66 font-weight: 600;
67}
68
69.fm-muted {
70 color: var(--jaspers-muted-foreground, #737373);
71}
72
73.fm-loading {
74 font-weight: 400;
75}
76
77.fm-error {
78 color: var(--jaspers-destructive, #dc2626);
79 white-space: pre-wrap;
80 margin: 4px 0;
81}
82
83.fm-empty {
84 color: var(--jaspers-muted-foreground, #737373);
85 padding: 8px 0;
86 margin: 0;
87}
88
89/* Tables. */
90
91.fm-table {
92 border-collapse: collapse;
93 width: 100%;
94 margin: 2px 0 6px;
95}
96
97.fm-table th,
98.fm-table td {
99 border-bottom: 1px solid var(--jaspers-border, #e5e5e5);
100 padding: 3px 6px;
101 text-align: left;
102 white-space: nowrap;
103 vertical-align: top;
104}
105
106.fm-table th {
107 font-weight: 500;
108 color: var(--jaspers-muted-foreground, #737373);
109}
110
111.fm-num {
112 text-align: right !important;
113 font-variant-numeric: tabular-nums;
114}
115
116/* News. */
117
118.fm-list {
119 list-style: none;
120 margin: 0;
121 padding: 0;
122}
123
124.fm-item {
125 border-bottom: 1px solid var(--jaspers-border, #e5e5e5);
126 padding: 6px 0;
127}
128
129.fm-item-head {
130 display: flex;
131 gap: 12px;
132 font-size: 12px;
133}
134
135.fm-link {
136 display: block;
137 border: 0;
138 background: none;
139 color: var(--jaspers-foreground, #171717);
140 font: inherit;
141 font-weight: 500;
142 text-align: left;
143 padding: 0;
144 cursor: pointer;
145}
146
147.fm-link:hover {
148 text-decoration: underline;
149}
150
151.fm-title {
152 font-weight: 500;
153}
154
155.fm-snippet {
156 margin: 2px 0 0;
157 color: var(--jaspers-foreground, #404040);
158}