<?xml version="1.0" encoding="UTF-8"?>
<!--
  Development manifest: every URL points at the Vite dev server on
  https://outlook.bortocall.dz. `pnpm build` writes dist/manifest.xml with the
  production host substituted (see scripts/build-manifest.mjs).
-->
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"
           xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides/1.0"
           xsi:type="MailApp">
  <Id>d24377a4-f419-4eea-9ed8-c31f6577b829</Id>
  <Version>1.0.0.0</Version>
  <ProviderName>BortoCall</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="Confy for Outlook"/>
  <Description DefaultValue="Add Confy video meetings to your Outlook calendar events."/>
  <IconUrl DefaultValue="https://outlook.bortocall.dz/assets/icon-64.png"/>
  <HighResolutionIconUrl DefaultValue="https://outlook.bortocall.dz/assets/icon-128.png"/>
  <SupportUrl DefaultValue="https://confy.bortocall.dz"/>
  <AppDomains>
    <AppDomain>https://confy.bortocall.dz</AppDomain>
  </AppDomains>
  <Hosts>
    <Host Name="Mailbox"/>
  </Hosts>
  <Requirements>
    <Sets>
      <Set Name="Mailbox" MinVersion="1.3"/>
    </Sets>
  </Requirements>
  <FormSettings>
    <Form xsi:type="ItemEdit">
      <DesktopSettings>
        <SourceLocation DefaultValue="https://outlook.bortocall.dz/taskpane.html"/>
      </DesktopSettings>
    </Form>
  </FormSettings>
  <Permissions>ReadWriteItem</Permissions>
  <Rule xsi:type="RuleCollection" Mode="Or">
    <Rule xsi:type="ItemIs" ItemType="Appointment" FormType="Edit"/>
  </Rule>
  <DisableEntityHighlighting>false</DisableEntityHighlighting>

  <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
    <Requirements>
      <bt:Sets DefaultMinVersion="1.3">
        <bt:Set Name="Mailbox"/>
      </bt:Sets>
    </Requirements>
    <Hosts>
      <Host xsi:type="MailHost">
        <DesktopFormFactor>
          <FunctionFile resid="Commands.Url"/>

          <!-- Ribbon of a new/edited calendar event (organizer view). -->
          <ExtensionPoint xsi:type="AppointmentOrganizerCommandSurface">
            <OfficeTab id="TabDefault">
              <Group id="confyGroup">
                <Label resid="Group.Label"/>
                <Control xsi:type="Button" id="confyAddMeeting">
                  <Label resid="AddMeeting.Label"/>
                  <Supertip>
                    <Title resid="AddMeeting.Label"/>
                    <Description resid="AddMeeting.Tooltip"/>
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Icon.16"/>
                    <bt:Image size="32" resid="Icon.32"/>
                    <bt:Image size="80" resid="Icon.80"/>
                  </Icon>
                  <Action xsi:type="ExecuteFunction">
                    <FunctionName>addConfyMeeting</FunctionName>
                  </Action>
                </Control>
                <Control xsi:type="Button" id="confyOpenPane">
                  <Label resid="OpenPane.Label"/>
                  <Supertip>
                    <Title resid="OpenPane.Label"/>
                    <Description resid="OpenPane.Tooltip"/>
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Icon.16"/>
                    <bt:Image size="32" resid="Icon.32"/>
                    <bt:Image size="80" resid="Icon.80"/>
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <SourceLocation resid="Taskpane.Url"/>
                  </Action>
                </Control>
              </Group>
            </OfficeTab>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
    </Hosts>
    <Resources>
      <bt:Images>
        <bt:Image id="Icon.16" DefaultValue="https://outlook.bortocall.dz/assets/icon-16.png"/>
        <bt:Image id="Icon.32" DefaultValue="https://outlook.bortocall.dz/assets/icon-32.png"/>
        <bt:Image id="Icon.80" DefaultValue="https://outlook.bortocall.dz/assets/icon-80.png"/>
      </bt:Images>
      <bt:Urls>
        <bt:Url id="Commands.Url" DefaultValue="https://outlook.bortocall.dz/commands.html"/>
        <bt:Url id="Taskpane.Url" DefaultValue="https://outlook.bortocall.dz/taskpane.html"/>
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="Group.Label" DefaultValue="Confy"/>
        <bt:String id="AddMeeting.Label" DefaultValue="Add Confy meeting"/>
        <bt:String id="OpenPane.Label" DefaultValue="Confy settings"/>
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="AddMeeting.Tooltip" DefaultValue="Create a Confy video meeting for this event and add the join link to the invitation."/>
        <bt:String id="OpenPane.Tooltip" DefaultValue="Sign in to Confy, change meeting options, sync changes or remove the Confy meeting."/>
      </bt:LongStrings>
    </Resources>
    <!-- Clients that understand VersionOverridesV1_1 use this block instead
         of the one above; it adds the event-based handlers. -->
    <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
      <Requirements>
        <bt:Sets DefaultMinVersion="1.3">
          <bt:Set Name="Mailbox"/>
        </bt:Sets>
      </Requirements>
      <Hosts>
        <Host xsi:type="MailHost">
          <!-- Runs the event-based handlers below. Classic Outlook on Windows
               would also need a plain-JS <Override>; it falls back to syncing
               only while the task pane is open. -->
          <Runtimes>
            <Runtime resid="Commands.Url"/>
          </Runtimes>
          <DesktopFormFactor>
            <FunctionFile resid="Commands.Url"/>

            <!-- Ribbon of a new/edited calendar event (organizer view). -->
            <ExtensionPoint xsi:type="AppointmentOrganizerCommandSurface">
              <OfficeTab id="TabDefault">
                <Group id="confyGroup">
                  <Label resid="Group.Label"/>
                  <Control xsi:type="Button" id="confyAddMeeting">
                    <Label resid="AddMeeting.Label"/>
                    <Supertip>
                      <Title resid="AddMeeting.Label"/>
                      <Description resid="AddMeeting.Tooltip"/>
                    </Supertip>
                    <Icon>
                      <bt:Image size="16" resid="Icon.16"/>
                      <bt:Image size="32" resid="Icon.32"/>
                      <bt:Image size="80" resid="Icon.80"/>
                    </Icon>
                    <Action xsi:type="ExecuteFunction">
                      <FunctionName>addConfyMeeting</FunctionName>
                    </Action>
                  </Control>
                  <Control xsi:type="Button" id="confyOpenPane">
                    <Label resid="OpenPane.Label"/>
                    <Supertip>
                      <Title resid="OpenPane.Label"/>
                      <Description resid="OpenPane.Tooltip"/>
                    </Supertip>
                    <Icon>
                      <bt:Image size="16" resid="Icon.16"/>
                      <bt:Image size="32" resid="Icon.32"/>
                      <bt:Image size="80" resid="Icon.80"/>
                    </Icon>
                    <Action xsi:type="ShowTaskpane">
                      <SourceLocation resid="Taskpane.Url"/>
                    </Action>
                  </Control>
                </Group>
              </OfficeTab>
            </ExtensionPoint>

            <!-- Without the task pane: mark new events for "Add Confy to every
                 new meeting" (Mailbox 1.10); repair Confy when an event moved
                 elsewhere is opened (1.12); save date, time and repeat changes
                 (1.11); add or update the meeting when the invitation is sent
                 (1.12). Clients without these sets ignore them. -->
            <ExtensionPoint xsi:type="LaunchEvent">
              <LaunchEvents>
                <LaunchEvent Type="OnNewAppointmentOrganizer" FunctionName="onNewAppointment"/>
                <LaunchEvent Type="OnAppointmentOrganizer" FunctionName="onAppointmentOpened"/>
                <LaunchEvent Type="OnAppointmentTimeChanged" FunctionName="onAppointmentTimeChanged"/>
                <LaunchEvent Type="OnAppointmentRecurrenceChanged" FunctionName="onAppointmentTimeChanged"/>
                <LaunchEvent Type="OnAppointmentSend" FunctionName="onAppointmentSend" SendMode="PromptUser"/>
              </LaunchEvents>
              <SourceLocation resid="Commands.Url"/>
            </ExtensionPoint>
          </DesktopFormFactor>
          <!-- Outlook on iOS/Android: Confy appears as the online-meeting toggle on
               a new meeting (replacing Teams). Needs a Microsoft 365 account and an
               admin-deployed add-in; icons must be grey (#919191). -->
          <MobileFormFactor>
            <FunctionFile resid="Commands.Url"/>
            <ExtensionPoint xsi:type="MobileOnlineMeetingCommandSurface">
              <Control xsi:type="MobileButton" id="confyMobileAddMeeting">
                <Label resid="AddMeeting.Label"/>
                <Icon>
                  <bt:Image size="25" scale="1" resid="Icon.Mobile.25"/>
                  <bt:Image size="25" scale="2" resid="Icon.Mobile.25"/>
                  <bt:Image size="25" scale="3" resid="Icon.Mobile.25"/>
                  <bt:Image size="32" scale="1" resid="Icon.Mobile.32"/>
                  <bt:Image size="32" scale="2" resid="Icon.Mobile.32"/>
                  <bt:Image size="32" scale="3" resid="Icon.Mobile.32"/>
                  <bt:Image size="48" scale="1" resid="Icon.Mobile.48"/>
                  <bt:Image size="48" scale="2" resid="Icon.Mobile.48"/>
                  <bt:Image size="48" scale="3" resid="Icon.Mobile.48"/>
                </Icon>
                <Action xsi:type="ExecuteFunction">
                  <FunctionName>addConfyMeetingOnline</FunctionName>
                </Action>
              </Control>
            </ExtensionPoint>
          </MobileFormFactor>
        </Host>
      </Hosts>
      <Resources>
        <bt:Images>
          <bt:Image id="Icon.16" DefaultValue="https://outlook.bortocall.dz/assets/icon-16.png"/>
          <bt:Image id="Icon.32" DefaultValue="https://outlook.bortocall.dz/assets/icon-32.png"/>
          <bt:Image id="Icon.80" DefaultValue="https://outlook.bortocall.dz/assets/icon-80.png"/>
          <bt:Image id="Icon.Mobile.25" DefaultValue="https://outlook.bortocall.dz/assets/icon-mobile-25.png"/>
          <bt:Image id="Icon.Mobile.32" DefaultValue="https://outlook.bortocall.dz/assets/icon-mobile-32.png"/>
          <bt:Image id="Icon.Mobile.48" DefaultValue="https://outlook.bortocall.dz/assets/icon-mobile-48.png"/>
        </bt:Images>
        <bt:Urls>
          <bt:Url id="Commands.Url" DefaultValue="https://outlook.bortocall.dz/commands.html"/>
          <bt:Url id="Taskpane.Url" DefaultValue="https://outlook.bortocall.dz/taskpane.html"/>
        </bt:Urls>
        <bt:ShortStrings>
          <bt:String id="Group.Label" DefaultValue="Confy"/>
          <bt:String id="AddMeeting.Label" DefaultValue="Add Confy meeting"/>
          <bt:String id="OpenPane.Label" DefaultValue="Confy settings"/>
        </bt:ShortStrings>
        <bt:LongStrings>
          <bt:String id="AddMeeting.Tooltip" DefaultValue="Create a Confy video meeting for this event and add the join link to the invitation."/>
          <bt:String id="OpenPane.Tooltip" DefaultValue="Sign in to Confy, change meeting options, sync changes or remove the Confy meeting."/>
        </bt:LongStrings>
      </Resources>
    </VersionOverrides>
  </VersionOverrides>
</OfficeApp>
