50966867b2
- Created proper TypeScript types for Office API operations - Replaced 'any' casts with appropriate types - Added type-safe utility functions in office-types.ts - Improved error handling with proper unknown type - Added helper functions for PowerPoint shape operations - Created proper TypeScript interface for webpack HMR These changes improve code quality, maintainability, and help catch potential bugs at compile time rather than runtime. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import * as React from "react";
|
|
import { createRoot } from "react-dom/client";
|
|
import App from "./components/App";
|
|
import { FluentProvider, webLightTheme } from "@fluentui/react-components";
|
|
|
|
/* global document, Office, module, require, HTMLElement */
|
|
|
|
const title = "Edison for PowerPoint";
|
|
|
|
const rootElement: HTMLElement | null = document.getElementById("container");
|
|
const root = rootElement ? createRoot(rootElement) : undefined;
|
|
|
|
/* Render application after Office initializes */
|
|
Office.onReady(() => {
|
|
root?.render(
|
|
<FluentProvider theme={webLightTheme}>
|
|
<App title={title} />
|
|
</FluentProvider>
|
|
);
|
|
});
|
|
|
|
// Define proper module hot interface for webpack hot module replacement
|
|
interface HotModule extends NodeModule {
|
|
hot?: {
|
|
accept(path: string, callback: () => void): void;
|
|
};
|
|
}
|
|
|
|
// Use the proper type for module with HMR
|
|
if ((module as HotModule).hot) {
|
|
(module as HotModule).hot?.accept("./components/App", () => {
|
|
const NextApp = require("./components/App").default;
|
|
root?.render(
|
|
<FluentProvider theme={webLightTheme}>
|
|
<NextApp title={title} />
|
|
</FluentProvider>
|
|
);
|
|
});
|
|
}
|