<commit_before>import React, { Fragment } from "react";
import PropTypes from "prop-types";
import { AdContainer } from "@times-components/ad";
import ArticleExtras from "@times-components/article-extras";
import LazyLoad from "@times-components/lazy-load";
import { spacing } from "@times-components/styleguide";
import { StickyProvider } from "@times-components/sticky";
import { withTrackScrollDepth } from "@times-components/tracking";
import UserState from "@times-components/user-state";
import { MessageContext } from "@times-components/message-bar";
import ArticleBody, { ArticleLink } from "./article-body/article-body";
import {
  articleSkeletonDefaultProps,
  articleSkeletonPropTypes
} from "./article-skeleton-prop-types";
import articleTrackingContext from "./tracking/article-tracking-context";
import insertDropcapIntoAST from "./dropcap-util";
import insertNativeAd from "./native-ad.web";

import {
  BodyContainer,
  getHeaderAdStyles,
  HeaderContainer,
  MainContainer
} from "./styles/responsive";
import styles from "./styles/article-body/index.web";
import Head from "./head";
import PaywallPortal from "./paywall-portal";
import StickySaveAndShareBar from "./sticky-save-and-share-bar";

const ArticleSkeleton = ({
  analyticsStream,
  data: article,
  Header,
  logoUrl,
  receiveChildList,
  spotAccountId,
  paidContentClassName,
  isPreview
}) => {
  const {
    commentsEnabled,
    content,
    dropcapsDisabled,
    id: articleId,
    section,
    url,
    headline,
    topics,
    relatedArticleSlice,
    template,
    savingEnabled,
    sharingEnabled
  } = article;

  const newContent =
    content &&
    content.length > 0 &&
    insertNativeAd(insertDropcapIntoAST(content, template, dropcapsDisabled));

  const HeaderAdContainer = getHeaderAdStyles(template);

  receiveChildList([
    {
      elementId: "related-articles",
      name: "related articles"
    }
  ]);
  return (
    <StickyProvider>
      {isPreview && (
        <div className="Container">
          <div className="ArticleMetaBanner">
            <div className="ArticleMetaBanner-field">
              <label htmlFor="ArticleMetaBanner-uuid">
                UUID
                <input
                  type="text"
                  placeholder="UUID"
                  name="UUID"
                  id="ArticleMetaBanner-uuid"
                  value={articleId}
                  readOnly
                />
              </label><commit_msg>fix(TNLT-000): remove native ad placement (#2656)<commit_after>import React, { Fragment } from "react";
import PropTypes from "prop-types";
import { AdContainer } from "@times-components/ad";
import ArticleExtras from "@times-components/article-extras";
import LazyLoad from "@times-components/lazy-load";
import { spacing } from "@times-components/styleguide";
import { StickyProvider } from "@times-components/sticky";
import { withTrackScrollDepth } from "@times-components/tracking";
import UserState from "@times-components/user-state";
import { MessageContext } from "@times-components/message-bar";
import ArticleBody, { ArticleLink } from "./article-body/article-body";
import {
  articleSkeletonDefaultProps,
  articleSkeletonPropTypes
} from "./article-skeleton-prop-types";
import articleTrackingContext from "./tracking/article-tracking-context";
import insertDropcapIntoAST from "./dropcap-util";

import {
  BodyContainer,
  getHeaderAdStyles,
  HeaderContainer,
  MainContainer
} from "./styles/responsive";
import styles from "./styles/article-body/index.web";
import Head from "./head";
import PaywallPortal from "./paywall-portal";
import StickySaveAndShareBar from "./sticky-save-and-share-bar";

const ArticleSkeleton = ({
  analyticsStream,
  data: article,
  Header,
  logoUrl,
  receiveChildList,
  spotAccountId,
  paidContentClassName,
  isPreview
}) => {
  const {
    commentsEnabled,
    content,
    dropcapsDisabled,
    id: articleId,
    section,
    url,
    headline,
    topics,
    relatedArticleSlice,
    template,
    savingEnabled,
    sharingEnabled
  } = article;

  const newContent =
    content &&
    content.length > 0 &&
    insertDropcapIntoAST(content, template, dropcapsDisabled);

  const HeaderAdContainer = getHeaderAdStyles(template);

  receiveChildList([
    {
      elementId: "related-articles",
      name: "related articles"
    }
  ]);
  return (
    <StickyProvider>
      {isPreview && (
        <div className="Container">
          <div className="ArticleMetaBanner">
            <div className="ArticleMetaBanner-field">
              <label htmlFor="ArticleMetaBanner-uuid">
                UUID
                <input
                  type="text"
                  placeholder="UUID"
                  name="UUID"
                  id="ArticleMetaBanner-uuid"
                  value={articleId}
                  readOnly
                />
              </label>
{'fraction_non_alphanumeric': 0.11156518185533307, 'fraction_numerical': 0.0018389865140988966, 'mean_word_length': 3.0354492992580377, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6715624', 'n_tokens_mistral': 1377, 'n_tokens_neox': 1332, 'n_words': 298}