• Почему android приложения сами закрываются при запуске через Windows Subsystem for Android?

    Aetae
    @Aetae
    Вообще ничего по теме не знаю, но ты разные приложения пробовал - может в этом конкретном какая-то защита от эмуляции?
  • Как установить одну и ту же ширину элементов в разных блоках?

    Aetae
    @Aetae
    При указанной вёрстке - никак.
    Можно конечно всё завернуть в грид, задать фиксированную высоту строки, хуё-моё, но всё это бессмысленное говно.

    Для таблиц надо использовать таблицы, они для этого предназначены. Второй вариант, как и сказали выше - гриды: тоже можно, в каком-то месте будет удобнее, в каком-то хуже. Последний вариант - тонна javascript'a: тогда чё хочешь вороти и живи потом в проклятом мире который сам и создал.:)
    Написано
  • Как дублировать ввод мыши и клавиатуры в разных окнах одного приложения?

    Aetae
    @Aetae
    Наверное с помощью autohotkey можно что-то такое смонстрячить, но задача такая себе - уверен то что тебе действительно нужно можно сделать проще.
    Написано
  • Почему не срабатывает горячая клавиша в расширение?

    Aetae
    @Aetae Куратор тега JavaScript
    Chesterfield25, мутно, вот это расширение позволяет выбирать глобал. Скачай, посмотри в чём разница.

    ...upd:
    Если я в режиме разрабочика загружаю прям твой манифест из вопроса - мне даёт выбрать глобал. Однако у меня Canary, так что может быть разница со стабильной.

    P.S. На будущее - следует также иметь ввиду, что глобальные шорткаты не будут работать, если в фокусе приложение запущенное от администратора, если сам хром запущен от простого юзера.
    Написано
  • Как запустить старый проект?

    Aetae
    @Aetae
    Однозначно использовать старую ноду как вам ответили - nvm вам в помощь.
    Можно конечно попытаться обновить все зависимости, но если прям такой задачи не стоит, то лучше не надо - упаритесь вусмерть.
    Написано
  • Как перенести элемент на наверх по DOM дереву с сохранением его текущей позиции?

    Aetae
    @Aetae
    Что значит "у них не сохраняется нужное позиционирование"?
    Вы же этим позиционированием управляете. Тупо сделайте поправку на отступ, типа не left = x + 'px',
    а:
    leftSpace = 50;
    left = x + leftSpace + 'px';

    Ну или статично прям в css задайте ченрез translate(50px, 40px).
    В чём проблема то?
    Написано
  • Можно ли в CSS сгладить углы при использовании border-radius?

    Aetae
    @Aetae
    Честно говоря в упор не вижу разницы, но верю что она есть.:) Если суть в каком то размытии - можно добавить собственно размытие - filter: blur, если что-то сложнее - можно сделать svg фильтром, но тогда действительно проще использовать сразу svg.
    Написано
  • Правильная ли структура объекта для multi menu?

    Aetae
    @Aetae
    Как сделаешь, так и будет. С моей т.з. это тупо "форм-генератор", и делать надо унифицировано:
    sectionTitle: "Какое-то меню", 
    ->
    label: "Какое-то меню", 
    type: 'section'

    И потом всё это разбирать на компоненты и друг в друга вкладывать. Но в целом - пофиг.
    Написано
  • Как в Nuxt 3 реализовать подтверждение действия пользователя?

    Aetae
    @Aetae
    Миллионом способов, в зависимости от того как написан твой сайт?
    Написано
  • Zod: Валидация select?

    Aetae
    @Aetae
    Про конкретную либу ничего не знаю, но в первую очередь тебе надо понять, что ...register("category") это не магическое заклинание. Это вызов функции register с параметром "category", получение в ответ объекта, и передача этого объекта в props компонента. Объект там скорее всего примерного вида:
    {
      value: <значение из внутреннего state для "category">,
      onChange: (event) => <значение из внутреннего state для "category"> = event.target.value
    }

    Соответственно в лоб ты можешь сделать так:
    const { onChange: categoryRegisteredChange, ...categoryRegistered } = register("category");
    
    <Select
      options={options}
      placeholder="1"
      onClick={categoryRegisteredChange} // или на что там у тебя завязано изменение
      {...categoryRegistered}
    />

    Но лучше тебе почитать документацию библиотеки, там гарантировано расписано как правильно работать с кастомными компонентами и событиями.
    Написано
  • Почему некорректно отражается текстареа в Osclass evolution?

    Aetae
    @Aetae
    Очевидно, что у кнопок какой-то класс типа .btn которому ты у себя определил свои стили (ширину и фиолетовый бг).
    Открой инспектор и посмотри в каком файле и где это определяется и переименуй свой класс(и его использование в html), либо добавь ему ограничение типа .btn:not(.класс-textarea *).
    Написано
  • Как настроить автозамену со счетчиком?

    Aetae
    @Aetae
    Первая ссылка гугла. Tl/dr: из коробки нельзя, можно установить плагин для скриптования и наскриптовать. Но как по мне, проще тогда уж напрямую наскриптовать нужную замену, не трогая notepad++. :)

    Вот с помощью chat-gpt побыстрому накидал такой реплейсер на js:
    incremantalReplacer('"Статус"', '"Статус-__NUM__"', 1);
    
    function incremantalReplacer(str, replacer, i = 0) {
      if (typeof replacer === 'string') {
        const template = replacer;
        replacer = () => template.replace(/__NUM__/g, i++);
      }
    
      const style = {
        border: '1px solid',
        padding: '10px',
        backgroundColor: '#000',
        color: '#bf0',
        cursor: 'pointer',
        position: 'absolute',
        top: '50%',
        left: '50%',
        transform: 'translate(-50%, -50%)',
        padding: '10px 20px',
        zIndex: '100500',
      };
    
      const fileInput = document.createElement('input');
      fileInput.type = 'file';
      Object.assign(fileInput.style, style);
      document.body.appendChild(fileInput);
    
      fileInput.onchange = () => {
        const file = fileInput.files[0];
        if (!file) return;
    
        const reader = new FileReader();
    
        reader.onload = () => {
          fileInput.remove();
          
          const downloadButton = document.createElement('button');
          downloadButton.textContent = `Download`;
          Object.assign(downloadButton.style, style);
          document.body.appendChild(downloadButton);
    
          downloadButton.onclick = () => {
            const blob = new Blob([reader.result.replaceAll(str, replacer)], file);
            const url = URL.createObjectURL(blob);
    
            const a = document.createElement('a');
            a.href = url;
            a.download = file.name;
            a.click();
    
            URL.revokeObjectURL(url);
            downloadButton.remove();
            a.remove();
          };
        };
        reader.readAsText(file);
      };
    }

    Прям в браузере тыкаешь f12 - консоль - вставляешь код - Enter - выбираешь файл - качаешь файл с заменой.:)
    Написано
  • Как построить код, чтобы гугл таблица на сайте выдавала только значение из конкретной ячейки?

    Aetae
    @Aetae Куратор тега JavaScript
    bizmedia2020, как я сказал показывать только один лист - можно. Это факт, гугли как сам.

    Но если тебе хочется прям данных, то гугл забесплатно имеет целую инфраструктуру. Теоретически можно через гуглапсскрипт сделать веб приложение, которое будет отдавать значения из твоей таблици в каком хочешь виде, и ты, соответственно, скриптом на странице будешь их забирать. Но это прям тебе заморочиться придётся и изучить кучу всего.
    Написано
  • Как корректно настроить линтер на разрешенный импорт модулей из папок?

    Aetae
    @Aetae
    мог делать любой импорт только из файла index.ts?

    Безотносительно к вопросу - не рекомендуется так делать, можно незаметно и очень неожиданно поучить нерабочую циклическую зависимость и станет грустно. Наоборот лучше делать импорты максимально специфичными, по крайней мере "снизу".
    Написано
  • Как построить код, чтобы гугл таблица на сайте выдавала только значение из конкретной ячейки?

    Aetae
    @Aetae Куратор тега JavaScript
    В лоб - сделай новый лист, на нём одну ячейку растяни и формулой в неё нужное значение. Этот лист и вставляй(там можно указать какой лист показывать).
    Написано
  • Как скопировать не все файлы из github?

    Aetae
    @Aetae
    Пло клон с нормального коммита сказали. Но если тебе ещё с репом работать, в т.ч. с последними коммитами - то надо чистить реп жестко с переписыванием истории, иначе оно всё равно в гите жить будет раздувая вес проекта. Примерно так.
    Написано
  • Ошибка с Babel при сборке Webpack?

    Aetae
    @Aetae Куратор тега JavaScript
    JastaFly, добавь --ignore-engines при установке пакетов.:)
    Написано
  • Как выявить символы не поддерживаемые кодировкой?

    Aetae
    @Aetae
    Антон Шаманов , а в таблице хранится именно текст или таки html? Если второе то можно просто кодировать все "лишние" символы как html-entity: &#169;.
    Как-то так(не большой знаток php):
    <?php
    function charToUnicodeCodePoint($char) {
        return mb_ord($char, 'UTF-8');
    }
    function charToUnicodeRegexp($char) {
        return '\\x{' . str_pad(dechex(charToUnicodeCodePoint($char)), 4, '0', STR_PAD_LEFT) . '}';
    }
    function charToUnicodeHTML($char) {
        return '&#' . charToUnicodeCodePoint($char) . ';';
    }
    
    $koi8r = array_map('charToUnicodeRegexp', mb_convert_encoding(array_map('chr', range(0, 255)), 'UTF-8', 'koi8r'));
    
    function convertRestToHTMLEntities($inputString, $symbolsToPreserve) {
        $pattern = '/[^' . implode('', $symbolsToPreserve) . ']/u';
        return preg_replace_callback($pattern, function ($matches) {
            return charToUnicodeHTML($matches[0]);
        }, $inputString);
    }
    
    $input = "Привет ☎";
    $converted = convertRestToHTMLEntities($input, $koi8r); // Привет &#9742;
    
    echo $converted;
    
    // ... mb_convert_encoding($converted, 'koi8r', 'UTF-8');
    Написано
  • Как сделать автоматический запуск музыки на сайте с постоянным фоновым воспроизведением?

    Aetae
    @Aetae
    Уже многократно ответили, но есть оговорка: если вы уговорите пользователя состоятельно разрешить авто воспроизведение на вашем сайте - то заработает обычный атрибут autoplay. Если вы уверены в лояльности ваших пользователей - можете составить мануал с картинками, типа: "нажмите на замочек рядом с адресной строкой, выберите "разрешить воспроизведение"...".

    Касательно же непрерывного воспроизведения - это можно сделать только если не переходить на самом деле на новые страницы, а только имитировать переход: SPA.
    Написано