Menu | Electron
Создайте меню приложения и контекстное меню.
Процесс: Главный
Создает новое меню.
Статические методы
Класс Menu
имеет следующие статические методы:
menu
Menu | null
Устанавливает меню
в качестве меню приложения на macOS. On Windows and Linux, the menu
will be set as each window’s top menu.
Также на Windows и Linux, Вы можете использовать &
в названии подменю верхнего списка, чтобы указать, какая буква должна получить сгенерированный акселератор( Accelerator ). Для примера, использование &File
для меню файла в результате сгенерирует акселератор( Accelerator ) Alt-F
, который открывает соответствующее меню. The indicated character in the button label then gets an underline, and the &
character is not displayed on the button label.
In order to escape the &
character in an item name, add a proceeding &
. For example, &&File
would result in &File
displayed on the button label.
Passing null
will suppress the default menu. On Windows and Linux, this has the additional effect of removing the menu bar from the window.
Примечание: Меню по умолчанию будет создано автоматически, если приложение не установит его. Он содержит стандартные элементы, такие как Файл
, Редактировать
, Вид
, Окно
и Помощь
.
Возвращает Menu | null
— меню приложения, если значение задано, в противном случае null
.
Примечание: Возвращенный экземпляр Menu
не поддерживает динамическое добавление или удаление пунктов меню. Параметры экземпляра все ещё могут быть динамически изменены.
action
string
Посылает action
первому ответчику приложения. Это используется для эмуляции поведения меню macOS. Чаще всего вы будет использовать свойство role
экземпляра MenuItem
.
Для дополнительной информации по нативным действиям в macOS смотрите macOS Cocoa Event Handling Guide.
template
(MenuItemConstructorOptions | MenuItem)[]
Возвращает Menu
Generally, the template
is an array of options
for constructing a MenuItem. The usage can be referenced above.
Вы также можете прикрепить другие поля к элементу template
и они станут свойствами элементов созданного меню.
Методы экземпляра
Объект меню
имеет следующие методы экземпляра:
options
Object (опционально)windows
BrowserWindow (опционально) — по умолчанию это сфокусированное окно.x
number (optional) — Default is the current mouse cursor position. Must be declared ify
is declared.y
number (optional) — Default is the current mouse cursor position. Must be declared ifx
is declared.positioningItem
number (optional) macOS — The index of the menu item to be positioned under the mouse cursor at the specified coordinates. Default is -1.callback
Функция (опционально) — вызывается, когда меню закрыто.
Переключает это меню в контекстное меню в BrowserWindow
.
browserWindow
BrowserWindow (опционально) — по умолчанию это сфокусированное окно.
Закрывает контекстное меню в browserWindow
.
menuItem
MenuItem
Добавляет menuItem
в меню.
id
string
Возвращает элемент MenuItem
с указанным id
port
IntegermenuItem
MenuItem
Вставляет menuItem
в меню на позицию pos
.
События экземпляра
Объекты созданные с помощью new Menu
или возвращенные из Menu. buildFromTemplate
вызывают следующие события:
Примечание: Некоторые методы доступны только в определенных операционных системах и помечены как таковые.
Возвращает:
- Событие типа
event
Вызывается при вызове menu.popup()
.
Возвращает:
- Событие типа
event
Вызывается, когда всплывающее окно закрывается вручную или с помощью menu.closePopup()
.
Свойства экземпляра
Объекты menu
также имеют следующие свойства:
Массив MenuItem[]
содержит элементы меню.
Каждое Menu
состоит из нескольких MenuItem
и каждое MenuItem
может иметь подменю.
Примеры
An example of creating the application menu with the simple template API:
const { app, Menu } = require('electron')const isMac = process.platform === 'darwin'
const template = [
// { role: 'appMenu' }
. ..(isMac
? [{
label: app.name,
submenu: [
{ role: 'about' },
{ type: 'separator' },
{ role: 'services' },
{ type: 'separator' },
{ role: 'hide' },
{ role: 'hideOthers' },
{ role: 'unhide' },
{ type: 'separator' },
{ role: 'quit' }
]
}]
: []),
// { role: 'fileMenu' }
{
label: 'File',
submenu: [
isMac ? { role: 'close' } : { role: 'quit' }
]
},
// { role: 'editMenu' }
{
label: 'Edit',
submenu: [
{ role: 'undo' },
{ role: 'redo' },
{ type: 'separator' },
{ role: 'cut' },
{ role: 'copy' },
{ role: 'paste' },
...(isMac
? [
{ role: 'pasteAndMatchStyle' },
{ role: 'delete' },
{ role: 'selectAll' },
{ type: 'separator' },
{
label: 'Speech',
submenu: [
{ role: 'startSpeaking' },
{ role: 'stopSpeaking' }
]
}
]
: [
{ role: 'delete' },
{ type: 'separator' },
{ role: 'selectAll' }
])
]
},
// { role: 'viewMenu' }
{
label: 'View',
submenu: [
{ role: 'reload' },
{ role: 'forceReload' },
{ role: 'toggleDevTools' },
{ type: 'separator' },
{ role: 'resetZoom' },
{ role: 'zoomIn' },
{ role: 'zoomOut' },
{ type: 'separator' },
{ role: 'togglefullscreen' }
]
},
// { role: 'windowMenu' }
{
label: 'Window',
submenu: [
{ role: 'minimize' },
{ role: 'zoom' },
. ..(isMac
? [
{ type: 'separator' },
{ role: 'front' },
{ type: 'separator' },
{ role: 'window' }
]
: [
{ role: 'close' }
])
]
},
{
role: 'help',
submenu: [
{
label: 'Learn More',
click: async () => {
const { shell } = require('electron')
await shell.openExternal('https://electronjs.org')
}
}
]
}
]const menu = Menu.buildFromTemplate(template)
Menu.setApplicationMenu(menu)
Графический процесс
To create menus initiated by the renderer process, send the required information to the main process using IPC and have the main process display the menu on behalf of the renderer.
Below is an example of showing a menu when the user right clicks the page:
// renderer
window.addEventListener('contextmenu', (e) => {
e.preventDefault()
ipcRenderer.send('show-context-menu')
})ipcRenderer.on('context-menu-command', (e, command) => {
// . ..
})// main
ipcMain.on('show-context-menu', (event) => {
const template = [
{
label: 'Menu Item 1',
click: () => { event.sender.send('context-menu-command', 'menu-item-1') }
},
{ type: 'separator' },
{ label: 'Menu Item 2', type: 'checkbox', checked: true }
]
const menu = Menu.buildFromTemplate(template)
menu.popup({ window: BrowserWindow.fromWebContents(event.sender) })
})
Замечания о меню приложения в macOS
macOS has a completely different style of application menu from Windows and Linux. Here are some notes on making your app’s menu more native-like.
Стандартные меню
На macOS есть много стандратных системных меню, таких как Службы
и Окно
. Чтобы сделать меню стандартным меню, Вы должны установить значение role
у меню в одно из следующих, а Electron распознает их и сделает их стандартным меню:
window
help
services
Действия элементов стандартного меню
macOS представляет стандартные действия для некоторых элементов меню, таких как About xxx
, Hide xxx
и Hide Others
. Чтобы установить действие элемента меню на стандартное действие, Вы должны установить атрибут role
элемента меню.
Имя главного меню
На macOS название первого элемента меню приложения — всегда название Вашего приложения, независимо от того, какое название элемента Вы установили. Чтобы изменить его, измените файл Info.plist
Вашей сборки приложения. См. О информации свойств списка файлов для большей информации.
Настройка меню для конкретного окна браузера (
Linux Windows)Метод setMenu
окна браузера может установить меню определенных окон браузера.
Позиция элемента меню
Вы можете использовать before
, after
, beforeGroupContaining
, afterGroupContaining
и id
, чтобы контролировать то, как элементы будут размещены, при создании меню с помощью Menu.buildFromTemplate
.
before
— вставляет этот элемент перед элементом с указанным названием. Если ссылаемый элемент не существует, тогда элемент будет вставлен в конец меню. Кроме того, подразумевается, что рассматриваемый элемент меню размещен в той же «группе», что и сам элемент.after
— вставляет элемент после элемента с указанным названием. Если ссылаемый элемент не существует, тогда элемент будет вставлен в конец меню. Кроме того, подразумевается, что рассматриваемый элемент меню размещен в той же «группе», что и сам элемент.beforeGroupContaining
— представляет средства для одного контекстного меню, чтобы объявить размещение их содержащей группы перед содержащей группы элемента с указанным названием.afterGroupContaining
— представляет средства для одного контекстного меню, чтобы объявить размещение их содержащей группы после содержащей группы элемента с указанным названием.
По умолчанию, элементы будут вставлены в том порядке, в котором они существуют в шаблоне, если не используется ни один из указанных ключевых слов позиционирования.
Примеры
Шаблон:
[
{ id: '1', label: 'one' },
{ id: '2', label: 'two' },
{ id: '3', label: 'three' },
{ id: '4', label: 'four' }
]
Меню:
- 1
- 2
- 3
- 4
Шаблон:
[
{ id: '1', label: 'one' },
{ type: 'separator' },
{ id: '3', label: 'three', beforeGroupContaining: ['1'] },
{ id: '4', label: 'four', afterGroupContaining: ['2'] },
{ type: 'separator' },
{ id: '2', label: 'two' }
]
Меню:
- 3
- 4
- ---
- 1
- ---
- 2
Шаблон:
[
{ id: '1', label: 'one', after: ['3'] },
{ id: '2', label: 'two', before: ['1'] },
{ id: '3', label: 'three' }
]
Меню:
- ---
- 3
- 2
- 1
Многоязычное меню сайта на Gatsby.js
25 января, 2022 11:26 дп 46 views | Комментариев нетDevelopment | Amber | Комментировать запись
В предыдущем материале по работе с Gatsby мы поговорили о создании многоязычного сайта и в качестве примера рассмотрели сайт Kodou, у которого есть японская и английская версии. Материал получился довольно длинным, поэтому мы не стали останавливаться на некоторых использованных утилитах и на том, как создать меню навигации по сайту.
Читайте также: Многоязычный сайт на Gatsby и Cosmic JS
Краткое резюме
Итак, в предыдущем мануале мы создали сайт на японском и английском языках. По умолчанию язык сайта – английский. Это означает, что на сайте есть два типа URL:
- Страницы на японском: kodou.me/ja/team
- Страницы на английском: kodou.me/team
В Cosmic JS написаны разные версии страниц. Gatsby узнает, какие языки используются на сайте, из файла /config/languages. В файле gatsby-node.js мы создаем страницы. Это делается с помощью шаблонов, которые мы заполняем данными из Cosmic JS.
Вот упрощенная версия того, как может выглядеть массив team-members, возвращаемый Cosmic JS.
teamMembers = [ { title: 'CEO', fullName: 'Jack Misteli', content: 'The CEO of the Company', locale: 'en' }, { title: 'CEO', fullName: 'ジャック・ミステリ', content: '会社のCEO', locale: 'ja' } ] Получив объект teamMembers, мы создаем два объекта – jaTeamMembers и enTeamMembers – и заполняем templates/team: jaTeamMembers создаст /ja/team, а enTeamMembers создаст /team.
Настройка языковых версий сайта
Сегодня очень важно разрабатывать доступные сайты. Итак, первое, что нам нужно сделать, это добавить наши языки в метаданные сайта. Это также поможет вам получить более точные результаты поиска. Откройте gatsby-config.js:
module.export = { siteMetadata: { title: `Kodou`, description: `Kodou site description`, author: `Jack Misteli `, languages }, //....
Также в приложении Gatsby нужно передать шаблонам текущий язык в контексте страницы. Откройте pageGenerator.js:
// langs содержит языки сайта, а defaultLangKey является языком сайта по умолчанию // langs можно было бы вычислить программным образом // здесь langs = ['en', 'ja'] и defaultLangKey = 'en' const { langs, defaultLangKey } = require('../config/languages') const path = require(`path`) const { localizeUrl, createLanguagesObject } = require('../utils/localization') module. exports = async (options, createPage, graphql) => { const {query, pageName} = options let templateName = options.templateName ? options.templateName : pageName const result = await graphql(query) if (result.errors) console.error(result.errors) const cosmicJSData = createLanguagesObject(langs) Object.values(result.data)[0].edges.forEach(({ node }) => { cosmicJSData[node.locale].push(node) }) // создаем новую страницу для каждого языка langs.forEach(lang => { createPage({ // функция localizeUrl создает URL-адрес, который учитывает язык по умолчанию path: localizeUrl(lang, defaultLangKey, '/team'), component: path.resolve(`src/templates/team.js`), context: { profiles: profiles[lang], // передаем текущий язык странице lang } }) }) }
Теперь можно получить доступ к lang в шаблоне:
const { lang } = props. pageContext;
Использование Intl API
Intl API используется для сравнения строк, а также для форматирования чисел, даты и времени. В нем много интересных функций, но, к сожалению, многие из них выходят за рамки нашего материала. Здесь мы просто будем использовать Intl API для отображения дат в соответствующем формате.
Добавляем пакет response-intl в файл Layout:
import React from "react" import { useStaticQuery, graphql } from "gatsby" import "../styles/main.scss" import Header from "./header" import { IntlProvider, FormattedDate } from "react-intl" const Layout = ({ children, location, lang }) => { // Мы заполнили siteMetaData в файле gatsby-config.js и извлекаем их здесь для дополнительного языкового контекста // Здесь было бы лучше получить эти данные из config напрямую, но мы хотим показать разные способы работы const data = useStaticQuery(graphql` query SiteInfoQuery { site { siteMetadata { title languages { defaultLang langs } } } } `) // langs – массив поддерживаемых языков // defaultLang – язык сайта по умолчанию // title – заголовок сайта const {langs, defaultLang, title} = data.site.siteMetadata return ( // IntlProvider определяет язык страницы по умолчанию <IntlProvider locale={lang} defaultLocale={defaultLang} > <Header location={location} defaultLang={defaultLang} languages={langs} siteTitle={title} /> <main className="section"> <div className="container"> {children} </div> </main> <footer> <div className="footer"> <div className="content has-text-centered"> {/* FormattedDate отформатирует нашу дату в соответствии с языком, который мы установили в свойстве IntlProvider */} © <FormattedDate value={new Date()} year="numeric" month="long" day="numeric" weekday="long" />, Built by <a href="https://jmisteli. com"> Jack Misteli</a> </div> </div> </footer> </IntlProvider> ) } export default Layout
Генерируя страницу на английском языке, <FormattedDate> вернет: Monday, December 9, 2019. Если страница генерируется на японском, <FormattedDate> вернет: 2019年12月9日月曜日.
Создание меню
Возможно, вы обратили внимание на компонент Header в Layout. Мы передаем в него всю информацию о языке, кроме свойства текущего языка, – это нужно, чтобы мы могли показать вам другой вариант.
import { Link } from "gatsby" import PropTypes from "prop-types" import React from "react" import { getCurrentLangKey, getLangs, getUrlForLang } from 'ptz-i18n' import langmap from 'langmap' import { localizeUrl, buildMenu } from '../../utils/localization' const Header = ({ languages, location, defaultLang}) => { const url = location. pathname const currentLangKey = getCurrentLangKey(languages, defaultLang, url) // добавьте слеш перед языком, чтобы создать ссылку home const homeLink = localizeUrl(currentLangKey, defaultLang, '/') // langs вернуть информацию о меню языка // langsMenu создаст раскрывающийся список со всеми доступными языковыми параметрами const langsMenu = buildMenu(languages, defaultLang, currentLangKey, url) // на странице /team это вернет следующий массив // [{selected: true, link: "/team/", langKey: "en"}, // {selected: false, link: "/ja/team/", langKey: "ja"}] // все заголовки пунктов меню навигации const allLanguageTitles = { 'en':['Concept', 'Work', 'Team', 'News', 'Contact'], 'ja': ['コンセプト', '仕事', 'チーム', 'ニュース', '連絡先'] } // Устанавливает английский в качестве текущего и языка по умолчанию const currentLanguageTitles = allLanguageTitles[currentLangKey] || allLanguageTitles['en'] // allNavigationLinks содержит имена всех страниц с URL-адресами на всех поддерживаемых языках const allNavigationLinks = currentLanguageTitles.map((page, i) => ({ name: page, url: `${homeLink.replace(defaultLang, '')}${allLanguageTitles.en[i].toLowerCase()}` })) // на англоязычной странице это вернет: // [{name: "Concept", url: "/concept"}, {name: "Work", url: "/work"}, {name: "Team", url: "/team"}...] // [{name: "コンセプト", url: "/ja/concept"}, {name: "仕事", url: "/ja/work"}, {name: "チーム", url: "/ja/team"} ...] return ( <nav> <Link to={homeLink} className="navbar-item"> HOME </Link> {allLinks.map((link, i) => ( <Link key={i} to={link.url} className="navbar-item"> {link.name.toUpperCase()} </Link> ))} <div className="navbar-language-menu"> <div className="current-language"> // langmap – это объект, который содержит языковые ключи {langmap[langKey]['englishName']} </div> <div className="all-languages-dropdown"> {langsMenu. map((lang)=>( !lang.selected && <Link key={lang.langKey} to={lang.link} className="navbar-item"> {langmap[lang.langKey]['englishName']} </Link> ))} </div> </div> </nav> )} export default Header
Готово, теперь на сайте есть меню навигации на разных языках, и оно адаптирует ссылки в соответствии с текущим языком пользователя. Полный код проекта можно найти в этом репозитории GitHub.
Tags: API, Cosmic JS, GatsbyJ’s Grill — Whittier, CA 90603 (меню и заказ онлайн)
16347 бульвар Уиттиер
Уиттиер, Калифорния 90603
(562) 943-6141
7:00 — 18:00
Начните оформление заказа на вынос или доставку.
Проверить наличие свободных мест
ТАРЕЛКА ДЛЯ ЗАВТРАКА
СПЕЦИАЛЬНЫЕ ЗАВТРАКИ
ОМЛЕТЫ
БЛИНЧИКИ
ЗАВТРАК БУРРИТО
МЕКСИКАНСКИЙ ЗАВТРАК
СЭНДВИЧИ ДЛЯ ЗАВТРАКА
КАЛЬДО/СУПЫ
САЛАТЫ
САЛАТ ТАКО
Подается с рисом, фасолью, листьями салата, пико де гальо, соусом, сыром, гуакамоле и сметаной.
БУРРИТО
СПЕЦИАЛЬНЫЕ БЛЮДА НА ОБЕД И УЖИН
МЕКСИКАНСКАЯ КОМБИНАЦИЯ
КЕСАДИЛЬЯ
ПЛАТИЛЬОС
ТОСТАДАС
МОЛКАХЕТЕС
Подается с рисом, фасолью, гарниром и лепешками.
ФАДЖИТАС
Подается с рисом, фасолью, салатом и лепешками.
ОСОБЕННОСТИ
Подается с рисом, фасолью, салатом и лепешками.
МОРЕПРОДУКТЫ/МАРИСКОС
НАЧОС
БОТАНА
КАМАРОНЕС
Подается с рисом, фасолью, салатом и лепешками.
КАРТОФЕЛ ФРИ И ХОТ-ДОГИ
ГАМБУРГЕРЫ
100% говядина Ангус
СЭНДВИЧИ
ТОРТАС
ДЕТСКИЙ
Подается с картофелем фри и небольшой газировкой.
ДЕСЕРТ
НАПИТКИ
НАПИТКИ
СОДОВАЯ МЕКСИКА
Создано на © 2023
Меню еды Freddy J’s в Mays Landing, NJ
Пожалуйста, обратитесь к вашему серверу о функциях шеф-повара, так как они ограничены и очень вкусны!
Закуски
Pork Belly Bites
Свиная грудинка домашнего копчения + азиатская глазурь + ананасовая сальса – 14
Freddy J’s Short Rib Mac & Cheese
Короткие ребрышки, тушеные в соусе Гиннесс + паста каватаппи + сырный соус + моцарелла сыр – 16
Альтернативы : Курица Баффало или Бриске t
Жареный сырный творог
Домашний сырный творог по-висконсински + Freddy J’s Classic Mild + сыр с плесенью – 12
Jay Jay’s Shrimp
Хрустящие жареные креветки + азиатский соус ремулад + семена кунжута + зеленый лук – 14 9000 4
Хрустящая брюссельская капуста
Карамелизированная брюссельская капуста + хрустящий бекон + соус «Азиатская глазурь» – 12
Рангунские яйца с крабом
Сливочный сыр + зеленый лук + крабовое мясо + кисло-сладкий соус – 14
Jump to the top of Starters // Jump to the top of Меню
Знаешь, что хочешь съесть?
Готовы заказать самовывоз или доставку?
Заказать сейчас
Жареный цыпленок
Наши крылышки, еще на коптильне
Копченые крылышки, 10 шт.
Куриные крылышки домашнего копчения + домашний соус на ваш выбор + сельдерей + сыр с плесенью или ранч – 14
Домашнее копчение -Made 5-Piece Tenders
Нежные лепешки ручной панировки + домашний соус на ваш выбор + сельдерей + сыр с плесенью или ранчо – 12
Соусы : Freddy J’s Classic Mild, Asian Glaze, Hot Honey Garlic и Bourbon Barrel BBQ
Дополнительный сыр с плесенью, сельдерей, ранчо или соус: по 0,50 каждого
Jump to top of Fried Chicken // Jump to top
Супы
Французский луковый суп
Карамелизированный лук + говяжий бульон + кростини + сыр проволоне и сыр моцарелла – 10 лук + морковь + сельдерей + сливочный суп – 10
Перейти к началу супов // Перейти к началу меню
Салаты
Салат «Цезарь»
Свежий салат романо + сливочный соус «Цезарь», посыпанный тертым сыром пармезан и гренками – 12
Нэнси Домашний салат
Свежий шпинат + весенняя смесь + помидоры черри + засахаренные орехи пекан + клюква + раскрошенный бекон + красный лук + крошка из голубого сыра + гренки + заправка на ваш выбор – 14 Сливочный Цезарь
Добавить : Жареная курица +4, Короткие ребра +7, Курица в панировке +5 , Бекон +2 , Креветки +7, Грудинка+8
Перейти к салатам // Перейти к вверх меню
Бар Пицца Пироги
Пицца Пирог Маргарита
Батонный пирог на тонком тесте + домашний соус для пиццы + свежая моцарелла + свежий базилик + пекорино романо – 14
Nashville Hot Chicken Bar Pizza Pie
900 02 Тонкое тесто барный пирог + ранчо + чеддер + моцарелла + хрустящая курица на пахте + острый Соус «Нэшвилл» + соленые огурцы + лук – 17Горячий мед Pepperoni Bar Pizza Pie
Тонкий пирог + домашний соус для пиццы + тертый сыр моцарелла + пепперони + маринованные халапеньо + Горячий мед Майка – 16 9000 4
Перейти к началу страницы Bar Pizza Pies // Перейти к началу меню
Портативные устройства
Чизстейк с копченой грудинкой
Грудинка домашнего копчения + обжаренный перец + лук + соус барбекю бурбон + американский сырный соус Cooper Sharp + жареный
длинный рулет – 18
Хрустящий куриный сэндвич
Жареные куриные бедра в пахте + перец джек
сыр + бекон + листья салата + помидоры + ранчо + маринованные огурцы + поджаренная булочка – 16
Жареный сыр с короткими ребрышками
9000 2 коротких ребра, тушеных в соусе Гиннесс + сыр бри на гриле + варенье из персикового перца + карамелизированный лук + техасские тосты – 17Тако с копченой свининой барбекю
Рваная свинина домашнего копчения + сальса-верде + салат из капусты + кукурузные тако в панцирях – 16
Сэндвич с курицей по-нэшвиллски
Жареное куриное бедро в пахте + острый Соус Нэшвилл + маринованные огурцы + булочка бриошь – 15
Ролл с лобстером
Лобстер + майонез + лимонный сок + сельдерей + зеленый лук + приправы + растопленное масло + поджаренный рулет – 25 9 0004
Перейти к вверху карманных компьютеров // Перейти к началу меню
Бургеры
Две порции по 4 унции. битые котлеты, рулет с картофелем фри
Листья салата, помидоры и лук По запросу
добавьте следующее:
Соус +.50
перец халапеньо +1
бекон +2
яичница +2
тройная котлета +5
тушеная свинина +7
котлеты из четвертин +10
Чизбургер
С американским сыром Cooper Sharp – 15
Freddy J’s Burger
Тушеные ребрышки в соусе Гиннесс + карамелизированный лук + острый сыр чеддер – 18
Grant’s Yinzer Pittsburger 9020 1
Американский сыр Cooper Sharp + картофель фри + салат + помидор + лук + салат из капусты + домашний соус для бургера – 17
Перейти к началу бургеров // Перейти к началу меню
Первые блюда
Копченый мясной рулет «Мама-мама»
Говяжий фарш домашнего копчения + колбаса + перец + лук + картофельное пюре + бурбон соус барбекю + запеченный фасоль + кукурузный хлеб с медовым маслом – 22
Креветки и крупа
Жареные креветки + копченая колбаса андуй + красные помидоры в блистерах + сырная крупа – 18
Закуска с ребрышками Freddy J’s
Короткие ребрышки, тушеные в соусе Гиннесс + картофельное пюре + шпинат – 25
Перейти к началу основных блюд // Перейти к началу меню
Копченое барбекю Fresh House
*Доступно только по пятницам и субботам с 16:00 до распродажи*
Наши ребрышки на коптильне
Half Rack Ребра
Полустойка свиных ребрышек домашнего копчения, подается на блюде – 20
Полустойка ребрышек комбо
Полустойка свиных ребрышек домашнего копчения + запеченная фасоль + салат из капусты + кукурузный хлеб с медовым маслом – 25
* Другие стороны доступны для улучшения *
Полная стойка Ребра
Полная стойка домашнего копчения свиных ребрышек, подаваемая на блюде – 30
Полная стойка Ребра комбо
Полная стойка домашнего копчения свинины ребрышки + запеченная фасоль + салат из капусты + кукурузный хлеб с медовым маслом – 35
*Другие стороны доступны для улучшения*
Перейти к началу барбекю // Перейти к началу меню
Гарниры
Кукурузный хлеб с медом Сливочное масло – 5
Картофель фри – 5
Салат из капусты – 5
Шпинат – 5
Запеченная фасоль – 5
Луковые кольца – 6
Картофельное пюре – 6
Mac & Cheese — 7
Картофель фри с трюфелями — 8
Jump к началу Sides // Перейти к началу меню
Десерты
Шоколадный торт «Темная сторона Луны»
Насыщенная шоколадная основа для торта + мусс из молочного шоколада + мусс из белого шоколада + шоколадный ганаш – 12
Печенье с шоколадной крошкой Торт «Лава»
Тесто для печенья с шоколадной крошкой + центр шоколадного ганаша + ванильное мороженое – 14
Тирамису
Торт со вкусом кофе + эспрессо + Калуа + сладкий сливочный сыр + мусс из маскарпоне + какао-порошок – 8
Жареный банан Яичные рулетики с чизкейком
Жареные рулетики + банан + чизкейк + шоколадный соус + карамельный соус + взбитые сливки – 12
Хлебный пудинг S’mores
Классический смор + хлебный пудинг – 10
Перейти к началу меню Десерты // Перейти к началу меню
Ищете Бранч, Еженедельные статьи, Счастливые часы или Напитки?
Местоположение
Freddy J’s Bar & Kitchen
5698 Somers Point Road
Mays Landing, NJ 08330
Телефон: (609) 829-2585
Напишите нам.