@flowselections/dashboard-planner-installatie-techniek 1.0.41 → 1.0.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-lib/components/DashboardDagNotities.d.ts +2 -0
- package/dist-lib/components/DashboardDagNotities.d.ts.map +1 -0
- package/dist-lib/components/DashboardDagNotities.js +65 -0
- package/dist-lib/components/DashboardPlannerInstallatieTechniekPage.d.ts.map +1 -1
- package/dist-lib/components/DashboardPlannerInstallatieTechniekPage.js +2 -1
- package/dist-lib/components/dashboard-viewport.d.ts +1 -1
- package/dist-lib/components/dashboard-viewport.d.ts.map +1 -1
- package/dist-lib/components/dashboard-viewport.js +6 -4
- package/dist-lib/integrations/supabase/types.d.ts +1034 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/dashboard-dagnotities.d.ts +10 -0
- package/dist-lib/lib/dashboard-dagnotities.d.ts.map +1 -0
- package/dist-lib/lib/dashboard-dagnotities.js +32 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardDagNotities.d.ts","sourceRoot":"","sources":["../../src/components/DashboardDagNotities.tsx"],"names":[],"mappings":"AAYA,wBAAgB,oBAAoB,gCA2EnC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from "react";
|
|
3
|
+
import { useQuery, useQueryClient } from "@tanstack/react-query";
|
|
4
|
+
import { ChevronLeft, ChevronRight, StickyNote } from "lucide-react";
|
|
5
|
+
import { supabase, toast } from "@flowselections/core";
|
|
6
|
+
import { dashboardDatum } from "../lib/dashboard-constanten";
|
|
7
|
+
import { dagNaam, knipNotitie, verschuifDag, metPunten, PUNT, MAX_NOTITIE_LENGTE } from "../lib/dashboard-dagnotities";
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9
|
+
const db = supabase;
|
|
10
|
+
export function DashboardDagNotities() {
|
|
11
|
+
const [datum, setDatum] = useState(null);
|
|
12
|
+
const [tekst, setTekst] = useState("");
|
|
13
|
+
const [bewaren, setBewaren] = useState("");
|
|
14
|
+
const vuil = useRef(false);
|
|
15
|
+
const queryClient = useQueryClient();
|
|
16
|
+
useEffect(() => { setDatum(dashboardDatum()); }, []);
|
|
17
|
+
const { data, isLoading } = useQuery({
|
|
18
|
+
queryKey: ["dashboard-dagnotitie", datum],
|
|
19
|
+
enabled: !!datum,
|
|
20
|
+
queryFn: async () => {
|
|
21
|
+
const { data, error } = await db.from("dashboard_dagnotities").select("tekst, updated_at").eq("datum", datum).maybeSingle();
|
|
22
|
+
if (error)
|
|
23
|
+
throw error;
|
|
24
|
+
return { tekst: typeof data?.tekst === "string" ? data.tekst : "", updated_at: data?.updated_at ?? null };
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (data && !vuil.current)
|
|
29
|
+
setTekst(metPunten(data.tekst));
|
|
30
|
+
}, [data]);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
if (!vuil.current || !datum)
|
|
33
|
+
return;
|
|
34
|
+
const d = datum;
|
|
35
|
+
const t = window.setTimeout(async () => {
|
|
36
|
+
setBewaren("bezig");
|
|
37
|
+
const { error } = await db.from("dashboard_dagnotities").upsert({ datum: d, tekst }, { onConflict: "datum" });
|
|
38
|
+
if (error) {
|
|
39
|
+
setBewaren("");
|
|
40
|
+
toast.error("Notitie kon niet worden bewaard");
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
vuil.current = false;
|
|
44
|
+
setBewaren("bewaard");
|
|
45
|
+
queryClient.setQueryData(["dashboard-dagnotitie", d], { tekst, updated_at: new Date().toISOString() });
|
|
46
|
+
}, 800);
|
|
47
|
+
return () => window.clearTimeout(t);
|
|
48
|
+
}, [tekst, datum, queryClient]);
|
|
49
|
+
const wissel = (n) => { vuil.current = false; setBewaren(""); setTekst(""); setDatum(n); };
|
|
50
|
+
const naam = datum ? dagNaam(datum) : "vandaag";
|
|
51
|
+
const vandaag = datum ? dashboardDatum() : "";
|
|
52
|
+
const knop = "inline-flex h-6 w-6 items-center justify-center rounded-md border border-border text-muted-foreground hover:bg-accent hover:text-foreground";
|
|
53
|
+
return (_jsxs("div", { className: "dashboard-notes flex w-full max-w-sm flex-col gap-1 rounded-xl border border-border bg-card p-2 shadow-sm", children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsxs("p", { className: "flex items-center gap-1.5 whitespace-nowrap text-xs font-semibold", children: [_jsx(StickyNote, { className: "h-3.5 w-3.5 text-muted-foreground" }), "Notities voor ", naam] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("button", { type: "button", className: knop, "aria-label": "Vorige dag", onClick: () => datum && wissel(verschuifDag(datum, -1)), children: _jsx(ChevronLeft, { className: "h-3.5 w-3.5" }) }), _jsx("button", { type: "button", className: "h-6 rounded-md border border-border px-2 text-[11px] hover:bg-accent disabled:opacity-50", disabled: datum === vandaag, onClick: () => wissel(vandaag), children: "Vandaag" }), _jsx("button", { type: "button", className: "h-6 rounded-md border border-border px-2 text-[11px] hover:bg-accent disabled:opacity-50", disabled: !!datum && datum === verschuifDag(vandaag, 1), onClick: () => wissel(verschuifDag(vandaag, 1)), children: "Morgen" }), _jsx("button", { type: "button", className: knop, "aria-label": "Volgende dag", onClick: () => datum && wissel(verschuifDag(datum, 1)), children: _jsx(ChevronRight, { className: "h-3.5 w-3.5" }) })] })] }), _jsx("textarea", { "aria-label": `Notities voor ${naam}`, value: tekst, disabled: isLoading || !datum, maxLength: MAX_NOTITIE_LENGTE, onChange: (e) => {
|
|
54
|
+
const el = e.target;
|
|
55
|
+
const oud = el.value;
|
|
56
|
+
const pos = el.selectionStart ?? oud.length;
|
|
57
|
+
const nieuw = knipNotitie(oud.replace(/^• ?$/, "") === "" ? "" : metPunten(oud));
|
|
58
|
+
const extra = metPunten(oud.slice(0, pos)).length - oud.slice(0, pos).length;
|
|
59
|
+
vuil.current = true;
|
|
60
|
+
setBewaren("");
|
|
61
|
+
setTekst(nieuw);
|
|
62
|
+
requestAnimationFrame(() => { const c = Math.min(nieuw.length, pos + (nieuw === "" ? -pos : extra)); el.setSelectionRange(c, c); });
|
|
63
|
+
}, onFocus: () => { if (tekst === "")
|
|
64
|
+
setTekst(PUNT); }, placeholder: isLoading ? "Laden…" : `Schrijf een notitie voor ${naam}…`, className: "h-[108px] w-full resize-none overflow-auto rounded-md border border-input bg-background px-2 py-1 text-xs focus:outline-none focus-visible:ring-1 focus-visible:ring-ring" }), _jsx("p", { className: "h-3 text-[10px] leading-3 text-muted-foreground", children: bewaren === "bezig" ? "Bewaren…" : bewaren === "bewaard" ? "Bewaard" : "Gedeeld met alle planners" })] }));
|
|
65
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardPlannerInstallatieTechniekPage.d.ts","sourceRoot":"","sources":["../../src/components/DashboardPlannerInstallatieTechniekPage.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;
|
|
1
|
+
{"version":3,"file":"DashboardPlannerInstallatieTechniekPage.d.ts","sourceRoot":"","sources":["../../src/components/DashboardPlannerInstallatieTechniekPage.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AAKzF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AA0FvD,8FAA8F;AAC9F,wBAAgB,uCAAuC,CAAC,EAAE,OAAO,EAAE,GAAE;IAAE,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;CAAO,+BA0GnG;AAED,wBAAgB,wBAAwB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,+BAqF5G"}
|
|
@@ -16,6 +16,7 @@ import { getDashboardData } from "../lib/dashboard-planner-installatie-techniek.
|
|
|
16
16
|
import { MODULE_TEGELS, kiesModulePad } from "../lib/dashboard-planner-installatie-techniek.modules";
|
|
17
17
|
import { DashboardStatistieken, normaliseerStats } from "./DashboardStatistieken";
|
|
18
18
|
import { DashboardSnelkoppelingen } from "./DashboardSnelkoppelingen";
|
|
19
|
+
import { DashboardDagNotities } from "./DashboardDagNotities";
|
|
19
20
|
import { dashboardViewportStyles } from "./dashboard-viewport";
|
|
20
21
|
const ICONEN = {
|
|
21
22
|
planning: CalendarDays,
|
|
@@ -158,7 +159,7 @@ export function DashboardPlannerInstallatieTechniekPage({ modules } = {}) {
|
|
|
158
159
|
refetch();
|
|
159
160
|
toast.success("Dashboard ververst");
|
|
160
161
|
};
|
|
161
|
-
return (_jsxs("main", { ref: mainRef, className: "planner-dashboard px-4 pb-6 pt-2 space-y-4 lg:px-6", children: [_jsx("style", { children: dashboardViewportStyles }), _jsxs("div", { className: "dashboard-toolbar flex flex-wrap items-center justify-between gap-3", children: [_jsxs("p", { className: "min-w-0 text-sm text-muted-foreground", children: ["Welkom terug", profile?.display_name || user?.email ? `, ${profile?.display_name ?? user?.email}` : "", ". Kies een module."] }), _jsx(DashboardSnelkoppelingen, { modules: modules }), _jsxs(Button, { onClick: handleVernieuwen, variant: "outline", size: "sm", className: "h-8 shrink-0 gap-2", children: [_jsx(RefreshCw, { className: `w-4 h-4 ${isFetching ? "animate-spin" : ""}` }), "Vernieuwen"] })] }), isError && (_jsxs("div", { className: "flex items-center gap-3 rounded-md border border-destructive/30 bg-destructive/5 p-4 text-sm", children: [_jsx(AlertTriangle, { className: "h-4 w-4 text-destructive" }), _jsx("span", { className: "text-muted-foreground", children: error instanceof Error && error.message.includes('unauthorized')
|
|
162
|
+
return (_jsxs("main", { ref: mainRef, className: "planner-dashboard px-4 pb-6 pt-2 space-y-4 lg:px-6", children: [_jsx("style", { children: dashboardViewportStyles }), _jsxs("div", { className: "dashboard-toolbar flex flex-wrap items-center justify-between gap-3", children: [_jsxs("p", { className: "min-w-0 text-sm text-muted-foreground", children: ["Welkom terug", profile?.display_name || user?.email ? `, ${profile?.display_name ?? user?.email}` : "", ". Kies een module."] }), _jsx(DashboardSnelkoppelingen, { modules: modules }), _jsxs(Button, { onClick: handleVernieuwen, variant: "outline", size: "sm", className: "h-8 shrink-0 gap-2", children: [_jsx(RefreshCw, { className: `w-4 h-4 ${isFetching ? "animate-spin" : ""}` }), "Vernieuwen"] }), _jsx(DashboardDagNotities, {})] }), isError && (_jsxs("div", { className: "flex items-center gap-3 rounded-md border border-destructive/30 bg-destructive/5 p-4 text-sm", children: [_jsx(AlertTriangle, { className: "h-4 w-4 text-destructive" }), _jsx("span", { className: "text-muted-foreground", children: error instanceof Error && error.message.includes('unauthorized')
|
|
162
163
|
? 'Je sessie is verlopen — log opnieuw in.'
|
|
163
164
|
: 'Kon de aantallen niet laden — probeer het opnieuw met Vernieuwen.' })] })), _jsx(DashboardModuleNavigatie, { kpis: dashboard.kpis, loading: isLoading }), _jsx(DashboardStatistieken, { stats: normaliseerStats(data?.stats), wekenTerug: wekenTerug, onWeek: setWekenTerug, loading: isLoading })] }));
|
|
164
165
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const dashboardViewportStyles = "\n.planner-dashboard {\n --dashboard-gap: 12px;\n --funnel-blue-1: #3b82f6; --funnel-blue-2: #2563eb; --funnel-blue-3: #1d4ed8;\n --funnel-navy: #1e3a8a;\n --funnel-gray-1: #1e40af; --funnel-gray-2: #1e3a8a; --funnel-gray-3: #172554; --funnel-gray-4: #172554; --funnel-gray-5: #0f1d4a;\n --funnel-paid: #1e40af; --funnel-unpaid: #172554;\n --funnel-extra: #5b21b6;\n}\n.dark .planner-dashboard, .planner-dashboard.dark {\n --funnel-blue-1: #60a5fa; --funnel-blue-2: #3b82f6; --funnel-blue-3: #2563eb;\n --funnel-navy: #3b5bdb;\n --funnel-gray-1: #4f6fe0; --funnel-gray-2: #3b5bdb; --funnel-gray-3: #3451c7; --funnel-gray-4: #2f47b3; --funnel-gray-5: #2a3f9f;\n --funnel-paid: #4f6fe0; --funnel-unpaid: #3451c7;\n --funnel-extra: #8b5cf6;\n}\n.dashboard-shortcuts { max-width: 100%; }\n.dashboard-shortcut-items { display: flex; flex-wrap: wrap; align-items: stretch; gap: 6px; }\n.dashboard-shortcut-items > div { display: flex; min-width: 0; max-width: 100%; }\n.dashboard-shortcut-items a { width: 100%; height: 100%; min-height: 32px; max-width: 100%; white-space: normal; overflow-wrap: anywhere; padding: 5px 28px 5px 10px; line-height: 16px; border: 1px dashed color-mix(in oklab, var(--muted-foreground) 45%, transparent); }\n.dashboard-shortcut-items a:hover { border-color: color-mix(in oklab, var(--muted-foreground) 85%, transparent); }\n.dashboard-hours-heading { flex-wrap: wrap; }\n@media (max-width: 1023px) {\n .dashboard-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; }\n .dashboard-toolbar > p { grid-column: 1; grid-row: 1; }\n .dashboard-toolbar > .dashboard-shortcuts { grid-column: 1 / -1; grid-row: 2; }\n .dashboard-toolbar > button { grid-column: 2; grid-row: 1; }\n .dashboard-shortcuts { grid-column: 1 / -1; flex-wrap: wrap; }\n .dashboard-shortcut-items { flex-basis: 100%; }\n}\n\n@media (min-width: 1024px) {\n .planner-dashboard {\n display: flex;\n flex-direction: column;\n gap: var(--dashboard-gap);\n min-height: var(--dashboard-height, auto);\n padding-bottom: 12px;\n }\n .planner-dashboard > * { margin-block: 0; }\n .dashboard-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; }\n .dashboard-toolbar > p { grid-column: 1; grid-row: 1; }\n .dashboard-toolbar > .dashboard-shortcuts { grid-column: 1
|
|
1
|
+
export declare const dashboardViewportStyles = "\n.planner-dashboard {\n --dashboard-gap: 12px;\n --funnel-blue-1: #3b82f6; --funnel-blue-2: #2563eb; --funnel-blue-3: #1d4ed8;\n --funnel-navy: #1e3a8a;\n --funnel-gray-1: #1e40af; --funnel-gray-2: #1e3a8a; --funnel-gray-3: #172554; --funnel-gray-4: #172554; --funnel-gray-5: #0f1d4a;\n --funnel-paid: #1e40af; --funnel-unpaid: #172554;\n --funnel-extra: #5b21b6;\n}\n.dark .planner-dashboard, .planner-dashboard.dark {\n --funnel-blue-1: #60a5fa; --funnel-blue-2: #3b82f6; --funnel-blue-3: #2563eb;\n --funnel-navy: #3b5bdb;\n --funnel-gray-1: #4f6fe0; --funnel-gray-2: #3b5bdb; --funnel-gray-3: #3451c7; --funnel-gray-4: #2f47b3; --funnel-gray-5: #2a3f9f;\n --funnel-paid: #4f6fe0; --funnel-unpaid: #3451c7;\n --funnel-extra: #8b5cf6;\n}\n.dashboard-shortcuts { max-width: 100%; }\n.dashboard-shortcut-items { display: flex; flex-wrap: wrap; align-items: stretch; gap: 6px; }\n.dashboard-shortcut-items > div { display: flex; min-width: 0; max-width: 100%; }\n.dashboard-shortcut-items a { width: 100%; height: 100%; min-height: 32px; max-width: 100%; white-space: normal; overflow-wrap: anywhere; padding: 5px 28px 5px 10px; line-height: 16px; border: 1px dashed color-mix(in oklab, var(--muted-foreground) 45%, transparent); }\n.dashboard-shortcut-items a:hover { border-color: color-mix(in oklab, var(--muted-foreground) 85%, transparent); }\n.dashboard-hours-heading { flex-wrap: wrap; }\n@media (max-width: 1023px) {\n .dashboard-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; }\n .dashboard-toolbar > p { grid-column: 1; grid-row: 1; }\n .dashboard-toolbar > .dashboard-shortcuts { grid-column: 1 / -1; grid-row: 2; }\n .dashboard-toolbar > button { grid-column: 2; grid-row: 1; }\n .dashboard-toolbar > .dashboard-notes { grid-column: 1 / -1; grid-row: 3; max-width: none; }\n .dashboard-shortcuts { grid-column: 1 / -1; flex-wrap: wrap; }\n .dashboard-shortcut-items { flex-basis: 100%; }\n}\n\n@media (min-width: 1024px) {\n .planner-dashboard {\n display: flex;\n flex-direction: column;\n gap: var(--dashboard-gap);\n min-height: var(--dashboard-height, auto);\n padding-bottom: 12px;\n }\n .planner-dashboard > * { margin-block: 0; }\n .dashboard-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 6px 12px; align-items: start; }\n .dashboard-toolbar > p { grid-column: 1; grid-row: 1; }\n .dashboard-toolbar > .dashboard-shortcuts { grid-column: 1; grid-row: 2; }\n .dashboard-toolbar > button { grid-column: 2; grid-row: 1 / span 2; justify-self: end; align-self: start; }\n .dashboard-toolbar > .dashboard-notes { grid-column: 3; grid-row: 1 / span 2; width: 380px; max-width: none; }\n .dashboard-shortcuts { padding-block: 0; }\n .dashboard-shortcut-items a { font-size: 11px; line-height: 14px; }\n .dashboard-module-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }\n .dashboard-module-content { min-height: 156px; padding: 12px; }\n .dashboard-module-icon { width: 40px; height: 40px; border-radius: 12px; }\n .dashboard-module-icon svg { width: 24px; height: 24px; }\n .dashboard-module-title { margin-top: 8px; font-size: 14px; overflow-wrap: anywhere; }\n .dashboard-module-count { padding-top: 8px; }\n .dashboard-stats { flex: 1; display: flex; flex-direction: column; gap: 8px; }\n .dashboard-stats > * { margin-block: 0; }\n .dashboard-stats-grid { flex: 1; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }\n .dashboard-stat-content { padding: 12px; }\n .dashboard-stat-content > * { margin-block: 0; }\n .dashboard-stat-content > * + * { margin-top: 8px; }\n .dashboard-financial > div > * { margin-block: 0; }\n .dashboard-financial > div > * + * { margin-top: 8px; }\n .dashboard-financial > div > div > * { margin-block: 0; }\n .dashboard-financial > div > div > * + * { margin-top: 4px; }\n .dashboard-financial .dashboard-offers { padding-top: 10px; }\n .dashboard-financial .dashboard-amount { font-size: 26px; line-height: 32px; }\n .dashboard-hours-content { height: 100%; display: flex; flex-direction: column; gap: 8px; }\n .dashboard-hours-content > * { margin-block: 0; }\n .dashboard-hours-content > dl { flex-shrink: 0; padding-top: 8px; gap: 8px; }\n .dashboard-hours { flex: 1; display: flex; flex-direction: column; gap: 8px; }\n .dashboard-hours > * { margin-block: 0; }\n .dashboard-hours-heading { flex-wrap: wrap; }\n .dashboard-hours-chart { height: 160px; flex: 1; min-height: 116px; }\n .dashboard-funnel-chart { max-height: 200px; }\n .dashboard-funnel-tip { min-height: 48px; }\n .dashboard-stats h2 { font-size: 16px; line-height: 20px; }\n .dashboard-funnel-loading { height: 240px; }\n}\n\n@media (min-width: 1024px) and (max-height: 800px) {\n .planner-dashboard { --dashboard-gap: 8px; }\n .dashboard-module-content { min-height: 112px; padding: 8px; }\n .dashboard-module-icon { width: 32px; height: 32px; }\n .dashboard-module-icon svg { width: 20px; height: 20px; }\n .dashboard-module-title { margin-top: 0; }\n .dashboard-module-count { padding-top: 4px; }\n .dashboard-module-count > div { padding: 3px 8px; }\n .dashboard-module-count > div > span:first-child { font-size: 18px; line-height: 20px; }\n .dashboard-stat-content { padding: 10px; }\n .dashboard-stat-content > * + * { margin-top: 4px; }\n .dashboard-stat-content > div:first-child { min-height: 28px; }\n .dashboard-financial > div > * + * { margin-top: 4px; }\n .dashboard-financial > div:first-child > div { width: 28px; height: 28px; }\n .dashboard-financial .dashboard-amount { font-size: 24px; line-height: 28px; }\n .dashboard-financial .dashboard-offers { padding-top: 8px; }\n .dashboard-funnel-chart { max-height: 130px; }\n .dashboard-hours-chart { height: 140px; }\n}\n\n@media (min-width: 1024px) and (max-height: 740px) {\n .dashboard-module-icon { width: 24px; height: 24px; }\n .dashboard-module-icon svg { width: 16px; height: 16px; }\n .dashboard-module-content { min-height: 104px; }\n .dashboard-financial .dashboard-offers dl { gap: 4px; }\n .dashboard-stat-content { padding: 8px; }\n .dashboard-financial > div > * + * { margin-top: 2px; }\n .dashboard-financial > div > div > * + * { margin-top: 2px; }\n .dashboard-hours-content { gap: 4px; }\n .dashboard-hours-chart { min-height: 116px; }\n .dashboard-funnel-chart { max-height: 118px; }\n}";
|
|
2
2
|
//# sourceMappingURL=dashboard-viewport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-viewport.d.ts","sourceRoot":"","sources":["../../src/components/dashboard-viewport.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"dashboard-viewport.d.ts","sourceRoot":"","sources":["../../src/components/dashboard-viewport.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,uuMA8GlC,CAAC"}
|
|
@@ -25,6 +25,7 @@ export const dashboardViewportStyles = `
|
|
|
25
25
|
.dashboard-toolbar > p { grid-column: 1; grid-row: 1; }
|
|
26
26
|
.dashboard-toolbar > .dashboard-shortcuts { grid-column: 1 / -1; grid-row: 2; }
|
|
27
27
|
.dashboard-toolbar > button { grid-column: 2; grid-row: 1; }
|
|
28
|
+
.dashboard-toolbar > .dashboard-notes { grid-column: 1 / -1; grid-row: 3; max-width: none; }
|
|
28
29
|
.dashboard-shortcuts { grid-column: 1 / -1; flex-wrap: wrap; }
|
|
29
30
|
.dashboard-shortcut-items { flex-basis: 100%; }
|
|
30
31
|
}
|
|
@@ -38,10 +39,11 @@ export const dashboardViewportStyles = `
|
|
|
38
39
|
padding-bottom: 12px;
|
|
39
40
|
}
|
|
40
41
|
.planner-dashboard > * { margin-block: 0; }
|
|
41
|
-
.dashboard-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; }
|
|
42
|
+
.dashboard-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 6px 12px; align-items: start; }
|
|
42
43
|
.dashboard-toolbar > p { grid-column: 1; grid-row: 1; }
|
|
43
|
-
.dashboard-toolbar > .dashboard-shortcuts { grid-column: 1
|
|
44
|
-
.dashboard-toolbar > button { grid-column: 2; grid-row: 1; }
|
|
44
|
+
.dashboard-toolbar > .dashboard-shortcuts { grid-column: 1; grid-row: 2; }
|
|
45
|
+
.dashboard-toolbar > button { grid-column: 2; grid-row: 1 / span 2; justify-self: end; align-self: start; }
|
|
46
|
+
.dashboard-toolbar > .dashboard-notes { grid-column: 3; grid-row: 1 / span 2; width: 380px; max-width: none; }
|
|
45
47
|
.dashboard-shortcuts { padding-block: 0; }
|
|
46
48
|
.dashboard-shortcut-items a { font-size: 11px; line-height: 14px; }
|
|
47
49
|
.dashboard-module-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
|
|
@@ -68,7 +70,7 @@ export const dashboardViewportStyles = `
|
|
|
68
70
|
.dashboard-hours { flex: 1; display: flex; flex-direction: column; gap: 8px; }
|
|
69
71
|
.dashboard-hours > * { margin-block: 0; }
|
|
70
72
|
.dashboard-hours-heading { flex-wrap: wrap; }
|
|
71
|
-
.dashboard-hours-chart { height: 160px; flex: 1; min-height:
|
|
73
|
+
.dashboard-hours-chart { height: 160px; flex: 1; min-height: 116px; }
|
|
72
74
|
.dashboard-funnel-chart { max-height: 200px; }
|
|
73
75
|
.dashboard-funnel-tip { min-height: 48px; }
|
|
74
76
|
.dashboard-stats h2 { font-size: 16px; line-height: 20px; }
|