(fix): actually migrate all the imports from tensamin/ui to methanium/ui
Some checks failed
/ build-web (push) Failing after 4m33s
/ build-desktop (linux) (push) Failing after 4m36s
/ build-mobile (push) Failing after 7m7s
/ release (push) Has been skipped

(feat): update legal loading screen
This commit is contained in:
Alois 2026-07-25 18:12:54 +02:00
commit 25c7ee7c26
Signed by: alois
SSH key fingerprint: SHA256:GBzT2DXvAuGV9XIV5W3WrzVpjU54FThmxHXdbz95J24
54 changed files with 71 additions and 87 deletions

View file

@ -5,7 +5,7 @@ import {
Tooltip,
TooltipContent,
TooltipTrigger,
} from "@tensamin/ui";
} from "@methanium/ui";
import { useEffect, useState } from "react";
import MuteButton from "./buttons/mute";
import DeafButton from "./buttons/deaf";

View file

@ -1,4 +1,4 @@
import { Button, withTooltip } from "@tensamin/ui";
import { Button, withTooltip } from "@methanium/ui";
import { toggleDeaf, useCall } from "../../store";
import { HeadphoneOff, Headphones } from "lucide-react";
import { type CallButtonProps, iconScale } from "./tooltipButton";

View file

@ -7,7 +7,7 @@ import {
Tooltip,
TooltipContent,
TooltipTrigger,
} from "@tensamin/ui";
} from "@methanium/ui";
import Wrapper from "@tensamin/user/wrapper";
import { Mail } from "lucide-react";
import { sendCallInvite, useCall } from "../../store";

View file

@ -1,5 +1,5 @@
import { LeaveIcon } from "@livekit/components-react";
import { Button, withTooltip } from "@tensamin/ui";
import { Button, withTooltip } from "@methanium/ui";
import { disconnect, useCall } from "../../store";
import { type CallButtonProps, iconScale } from "./tooltipButton";

View file

@ -1,4 +1,4 @@
import { Button, withTooltip } from "@tensamin/ui";
import { Button, withTooltip } from "@methanium/ui";
import { toggleMute, useCall } from "../../store";
import { Mic, MicOff } from "lucide-react";
import { type CallButtonProps, iconScale } from "./tooltipButton";

View file

@ -7,7 +7,7 @@ import {
Tooltip,
TooltipContent,
TooltipTrigger,
} from "@tensamin/ui";
} from "@methanium/ui";
import { MonitorDot, ScreenShare } from "lucide-react";
import { toast } from "@tensamin/shared/log";
import { isTauri } from "@tauri-apps/api/core";

View file

@ -5,7 +5,7 @@ import {
Button,
Dialog,
DialogContent,
} from "@tensamin/ui";
} from "@methanium/ui";
import Wrapper from "@tensamin/user/wrapper";
import { PhoneIncoming, X } from "lucide-react";

View file

@ -5,7 +5,7 @@ import {
Button,
ContextMenu as UIContextMenu,
ContextMenuTrigger,
} from "@tensamin/ui";
} from "@methanium/ui";
import {
focusParticipant,
getRoomMetadata,

View file

@ -4,7 +4,7 @@ import {
ContextMenuItem,
ContextMenuSeparator,
Slider,
} from "@tensamin/ui";
} from "@methanium/ui";
import type { User } from "@tensamin/user/context";
import { useCall } from "../../store";
import { useState } from "react";

View file

@ -3,7 +3,7 @@ import VideoViewer from "./videoViewer";
import { useLocation } from "@tanstack/react-router";
import { getRoom, stopWatchingStream, useCall } from "../store";
import { useState, useRef, useEffect, useCallback } from "react";
import { Button, cn } from "@tensamin/ui";
import { Button, cn } from "@methanium/ui";
import { ScreenShareOff } from "lucide-react";
function getTrackPublicationBySource(

View file

@ -14,7 +14,7 @@ import {
SelectTrigger,
SelectValue,
Switch,
} from "@tensamin/ui";
} from "@methanium/ui";
import {
type DesktopScreenShareAudioOutput,
type DesktopScreenShareCapabilities,

View file

@ -9,7 +9,7 @@ import {
TooltipContent,
TooltipTrigger,
useIsMobile,
} from "@tensamin/ui";
} from "@methanium/ui";
import ScreenshareButton from "./buttons/screenshare";
import MuteButton from "./buttons/mute";
import DeafButton from "./buttons/deaf";

View file

@ -9,7 +9,7 @@ import {
Tooltip,
TooltipContent,
TooltipTrigger,
} from "@tensamin/ui";
} from "@methanium/ui";
export default function TopBar() {
const { get } = useUser();

View file

@ -1,7 +1,7 @@
import { VideoTrack, useParticipantTracks } from "@livekit/components-react";
import { TrackPublication } from "livekit-client";
import { getRoom } from "../store";
import { cn } from "@tensamin/ui";
import { cn } from "@methanium/ui";
import { Loader2 } from "lucide-react";
export default function VideoViewer({

View file

@ -1,4 +1,4 @@
import { Button } from "@tensamin/ui";
import { Button } from "@methanium/ui";
import Emoji from "@tensamin/markdown/emoji";
import { getRecentEmojis, useEmojiRanks } from "./emojiRanks";

View file

@ -7,7 +7,7 @@ import {
TabsContent,
TabsList,
TabsTrigger,
} from "@tensamin/ui";
} from "@methanium/ui";
import { useStorage } from "@tensamin/storage/context";
import { Loader2, Search } from "lucide-react";
import MediaSaveButton from "./mediaSaveButton";

View file

@ -9,16 +9,16 @@ import {
PopoverContent,
PopoverTrigger,
Skeleton,
} from "@tensamin/ui";
} from "@methanium/ui";
import { useStorage } from "@tensamin/storage/context";
import React, { useEffect, useState, useRef } from "react";
import { Button } from "@tensamin/ui";
import { Button } from "@methanium/ui";
import { Plus, Laugh, FileVideo, Forward, X } from "lucide-react";
import { useChat, useReplyMessage } from "../context";
import { useMTP } from "@tensamin/mtp";
import { log, toast } from "@tensamin/shared/log";
import { cn, useIsMobile } from "@tensamin/ui";
import { cn, useIsMobile } from "@methanium/ui";
import { encryptChatText } from "@tensamin/crypto/chatSecret";
import { useSession } from "@tensamin/storage/session";

View file

@ -1,6 +1,6 @@
import Text from "@tensamin/markdown/text";
import { useStorage } from "@tensamin/storage/context";
import { Tooltip, TooltipContent, TooltipTrigger } from "@tensamin/ui";
import { Tooltip, TooltipContent, TooltipTrigger } from "@methanium/ui";
import { TriangleAlert } from "lucide-react";
import { useState, useMemo, useEffect } from "react";
import MediaSaveButton from "./mediaSaveButton";

View file

@ -1,4 +1,4 @@
import { Button, cn } from "@tensamin/ui";
import { Button, cn } from "@methanium/ui";
import { useStorage } from "@tensamin/storage/context";
import { Save } from "lucide-react";
import { useEffect, useState } from "react";

View file

@ -11,7 +11,7 @@ import {
Button,
cn,
Skeleton,
} from "@tensamin/ui";
} from "@methanium/ui";
import MessageContextMenu from "./messageContextMenu";
import Media from "./media";
import { useStorage } from "@tensamin/storage/context";

View file

@ -23,7 +23,7 @@ import {
TooltipContent,
TooltipTrigger,
useIsMobile,
} from "@tensamin/ui";
} from "@methanium/ui";
import {
Clipboard,
Ellipsis,

View file

@ -20,7 +20,7 @@ import {
type RawMessage,
} from "./values";
import Wrapper from "@tensamin/user/wrapper";
import { Skeleton } from "@tensamin/ui";
import { Skeleton } from "@methanium/ui";
type MessageChunk = {
key: string;

View file

@ -1,7 +1,7 @@
import { describe, expect, it, vi } from "vitest";
import type { ReactNode } from "react";
vi.mock("@tensamin/ui", () => ({
vi.mock("@methanium/ui", () => ({
Tooltip: ({ children }: { children: ReactNode }) => children,
TooltipContent: ({ children }: { children: ReactNode }) => children,
TooltipTrigger: ({ render }: { render: ReactNode }) => render,

View file

@ -1,5 +1,5 @@
import twemoji from "@twemoji/api";
import { Tooltip, TooltipContent, TooltipTrigger } from "@tensamin/ui";
import { Tooltip, TooltipContent, TooltipTrigger } from "@methanium/ui";
import { resolveEmoji } from "./emojiData";
export {

View file

@ -14,7 +14,7 @@ import { MTPClient } from "mtp";
import { type z } from "zod";
import { ConnectionState } from "mtp";
import createAsyncQueue from "@tensamin/shared/asyncQueue";
import { toast as sonnerToast } from "@tensamin/ui";
import { toast as sonnerToast } from "@methanium/ui";
import {
type Calls,

View file

@ -4,7 +4,7 @@ import { useChat } from "@tensamin/chat/context";
import { useMTP } from "@tensamin/mtp";
import { createContext, useEffect, useContext } from "react";
import { toast as sonnerToast } from "sonner";
import { Avatar, AvatarFallback, AvatarImage } from "@tensamin/ui";
import { Avatar, AvatarFallback, AvatarImage } from "@methanium/ui";
import { isTauri } from "@tauri-apps/api/core";
import { useSession } from "@tensamin/storage/session";
import { useNavigate } from "@tanstack/react-router";

View file

@ -1,12 +1,10 @@
import { useCallback, useEffect, useState, type ReactNode } from "react";
import {
CreateScreen,
ErrorScreen,
Link,
LoadingScreen,
OnboardingFlow,
Spinner,
type OnboardingStep,
} from "@tensamin/ui";
} from "@methanium/ui";
import { useStorage } from "@tensamin/storage/context";
import { legalDocsSchema } from "@tensamin/shared/features/legal/schema";
import { log } from "@tensamin/shared/log";
@ -19,7 +17,7 @@ export {
useOnboardingStep,
type OnboardingStep,
type OnboardingStepControls,
} from "@tensamin/ui";
} from "@methanium/ui";
type LegalDocs = z.infer<typeof legalDocsSchema>;
@ -137,20 +135,7 @@ export default function OnboardingGate({ children }: { children: ReactNode }) {
if (!state) {
if (!showLoading) return null;
return (
<CreateScreen>
<div className="flex flex-col items-center gap-3">
<Spinner className="size-8" />
<p className="text-sm text-muted-foreground">
Fetching legal documents...
</p>
<Link
label="status.methanium.net"
link="https://status.methanium.net"
/>
</div>
</CreateScreen>
);
return <LoadingScreen noProgress title="Fetching legal documents..." />;
}
const steps: OnboardingStep[] = [];

View file

@ -1,9 +1,9 @@
import { useCallback, useState } from "react";
import { Checkbox, Label, Link } from "@tensamin/ui";
import { Checkbox, Label, Link } from "@methanium/ui";
import { legalDocsSchema } from "@tensamin/shared/features/legal/schema";
import type { z } from "zod";
import { useOnboardingStep } from "@tensamin/ui";
import { useOnboardingStep } from "@methanium/ui";
type LegalDocs = z.infer<typeof legalDocsSchema>;

View file

@ -1,4 +1,4 @@
import type { OnboardingStep } from "@tensamin/ui";
import type { OnboardingStep } from "@methanium/ui";
import OnboardingPage from "./pages/onboarding";
// Add future onboarding pages here. Completed users skip this entire manifest.

View file

@ -1 +0,0 @@
- Make the legal loader use ldrs line wobble to better fit to the LoadingScreen from @tensamin/ui

View file

@ -1,4 +1,4 @@
import { EditableList, LabeledSwitch } from "@tensamin/ui";
import { EditableList, LabeledSwitch } from "@methanium/ui";
import { useEffect, useState } from "react";
import { storageDefaults, type Storage } from "@tensamin/shared/data";

View file

@ -1,5 +1,5 @@
import { Outlet, useLocation, useNavigate } from "@tanstack/react-router";
import { Button, ClearStorageButton, cn, useIsMobile } from "@tensamin/ui";
import { Button, ClearStorageButton, cn, useIsMobile } from "@methanium/ui";
import { settingsNavigation } from "./manifest";

View file

@ -2,7 +2,7 @@ import { createCache } from "@tensamin/cache";
import { storageDefaults } from "@tensamin/shared/data";
import { useStorage } from "@tensamin/storage/context";
import { secureValueCodec } from "@tensamin/storage/secure";
import { Button, Input, Label } from "@tensamin/ui";
import { Button, Input, Label } from "@methanium/ui";
import { useEffect, useState } from "react";
const validLimit = (value: number) => Number.isSafeInteger(value) && value >= 0;

View file

@ -1,6 +1,6 @@
import { storageDefaults } from "@tensamin/shared/data";
import { useStorage } from "@tensamin/storage/context";
import { Button, Kbd } from "@tensamin/ui";
import { Button, Kbd } from "@methanium/ui";
import { List, Switch } from "../components";
export default function Page() {

View file

@ -1,4 +1,4 @@
import { useIsMobile } from "@tensamin/ui";
import { useIsMobile } from "@methanium/ui";
import { SettingsSidebar } from "../layout";
export default function Page() {

View file

@ -1,4 +1,4 @@
import { Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Dialog, DialogContent, DialogTrigger } from "@tensamin/ui";
import { Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Dialog, DialogContent, DialogTrigger } from "@methanium/ui";
import { generatedAt, packageCount, packages } from "../../../../licenses/third-party-credits.json";
const licenseTexts = import.meta.glob("../../../../licenses/**/*", { eager: true, import: "default", query: "?raw" }) as Record<string, string>;

View file

@ -2,7 +2,7 @@ import MDInput from "@tensamin/markdown/input";
import { useMTP } from "@tensamin/mtp";
import { mtp } from "@tensamin/shared/data";
import { useStorage } from "@tensamin/storage/context";
import { Avatar, AvatarFallback, AvatarImage, Button, cn, Input, useIsMobile } from "@tensamin/ui";
import { Avatar, AvatarFallback, AvatarImage, Button, cn, Input, useIsMobile } from "@methanium/ui";
import { useUser, type User } from "@tensamin/user/context";
import { Check } from "lucide-react";
import { useEffect, useRef, useState } from "react";

View file

@ -1,5 +1,5 @@
import { useStorage } from "@tensamin/storage/context";
import { Button, Input, Label } from "@tensamin/ui";
import { Button, Input, Label } from "@methanium/ui";
import { useEffect, useState } from "react";
export default function Page() {

View file

@ -1,4 +1,4 @@
import { StylePicker } from "@tensamin/ui";
import { StylePicker } from "@methanium/ui";
export default function Page() {
return <div className="overflow-y-auto"><StylePicker /><div className="absolute bottom-0 right-0 mb-3 mr-2"><a className="block w-60 text-xs whitespace-pre-wrap" href="https://git.methanium.net/tensamin/client/issues/new" target="_blank" rel="noreferrer">Please open a Git issue to help us improve this feature. We want to get it right.</a></div></div>;

View file

@ -1,4 +1,4 @@
import { toast as sonnerToast } from "@tensamin/ui";
import { toast as sonnerToast } from "@methanium/ui";
import { Ban, Check, Info, TriangleAlert } from "lucide-react";
/**

View file

@ -17,7 +17,7 @@ import {
getDatabaseEntry,
setDatabaseEntry,
} from "@tensamin/shared/indexedDb";
import { ErrorScreen } from "@tensamin/ui";
import { ErrorScreen } from "@methanium/ui";
import { log } from "@tensamin/shared/log";
import {
decodeSecureValue,

View file

@ -11,7 +11,7 @@ import {
DialogFooter,
DialogHeader,
DialogTitle,
} from "@tensamin/ui";
} from "@methanium/ui";
import { useLocation, useNavigate } from "@tanstack/react-router";
import { useDeeplinks } from "@tensamin/tauri/deeplinkHandler";
import { useMTP } from "@tensamin/mtp";