+
+
+
{{ cardLang === 'en' ? 'doTERRA · Gifts of the Earth' : 'doTERRA · 来自大地的礼物' }}
-
+
{{ getCardRecipeName() }}
-
+
-
-
- -
-
- {{ getCardOilName(ing.oil) }}
-
-
- {{ ing.drops }} {{ cardLang === 'en' ? 'drops' : '滴' }}
-
-
- {{ oilsStore.fmtPrice(oilsStore.pricePerDrop(ing.oil) * ing.drops) }}
-
- {{ oilsStore.fmtPrice(retailPerDrop(ing.oil) * ing.drops) }}
+
+ -
+ {{ getCardOilName(ing.oil) }}
+ {{ ing.drops }} {{ cardLang === 'en' ? 'drops' : '滴' }}
+ {{ oilsStore.fmtPrice(oilsStore.pricePerDrop(ing.oil) * ing.drops) }}
+ {{ oilsStore.fmtPrice(retailPerDrop(ing.oil) * ing.drops) }}
-
- {{ dilutionDesc }}
+ {{ dilutionDesc }}
-
-
- {{ '📝 ' + displayRecipe.note }}
+
📝 {{ displayRecipe.note }}
+
+
+ {{ cardLang === 'en' ? 'Total Cost' : '配方总成本' }}
+ {{ priceInfo.cost }}{{ priceInfo.retail }}
-
-
-
- {{ cardLang === 'en' ? 'Total Cost' : '配方总成本' }}
-
-
- {{ priceInfo.cost }}
- {{ priceInfo.retail }}
-
-
-
-
-
-
![]()
-
-
+
+ {{ cardLang === 'en' ? 'Date: ' : '制作日期:' }}{{ todayStr }}
diff --git a/frontend/src/views/MyDiary.vue b/frontend/src/views/MyDiary.vue
index 197002d..6b9040b 100644
--- a/frontend/src/views/MyDiary.vue
+++ b/frontend/src/views/MyDiary.vue
@@ -169,28 +169,30 @@
-
-
-
-
![]()
-
{{ brandName }}
+
+
+
+
![]()
+
+
+
![]()
+
{{ brandName }}
-
-
-
doTERRA · 来自大地的礼物
-
配方名称
-
薰衣草 · 乳香 · 茶树
-
-
-
- 配方总成本
- ¥12.50
-
-
-
-
![]()
-
-
制作日期:{{ new Date().toLocaleDateString('zh-CN') }}
+
+
+
doTERRA · 来自大地的礼物
+
配方名称
+
+
薰衣草 · 乳香 · 茶树
+
+
+ 配方总成本
+ ¥12.50
+
+
+
+ 制作日期:{{ new Date().toLocaleDateString('zh-CN') }}
+
@@ -1047,7 +1049,7 @@ async function applyBusiness() {
color: var(--sage-dark);
}
-/* Card preview mini — matches actual card layout */
+/* Card preview mini */
.card-preview-mini {
position: relative;
width: 280px;
@@ -1056,79 +1058,8 @@ async function applyBusiness() {
border: 1px solid #e0ccaa;
overflow: hidden;
font-family: 'Noto Serif SC', serif;
- padding: 16px;
+ padding: 18px;
}
-.card-preview-bg {
- position: absolute;
- inset: 0;
- background-size: cover;
- background-position: center;
- opacity: 0.15;
-}
-.card-preview-content {
- position: relative;
- z-index: 1;
- padding-right: 60px; /* leave room for QR area */
-}
-.card-preview-qr-area {
- position: absolute;
- top: 16px;
- right: 16px;
- display: flex;
- flex-direction: column;
- align-items: center;
- gap: 2px;
- z-index: 2;
- max-width: 50px;
-}
-.card-preview-qr {
- width: 40px;
- height: 40px;
- object-fit: contain;
- border-radius: 4px;
-}
-.card-preview-qr-text {
- font-size: 6px;
- color: var(--text-light);
- line-height: 1.2;
- white-space: pre-line;
- max-width: 50px;
- text-align: center;
-}
-.card-preview-cost {
- position: relative;
- z-index: 1;
- margin-top: 12px;
- height: 22px;
- background: linear-gradient(135deg, var(--sage), #5a7d5e);
- border-radius: 6px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 0 10px;
- color: white;
- font-size: 9px;
-}
-.card-preview-bottom {
- position: relative;
- z-index: 1;
- display: flex;
- justify-content: space-between;
- align-items: flex-end;
- margin-top: 8px;
-}
-.card-preview-logo {
- height: 16px;
- width: auto;
- object-fit: contain;
- opacity: 0.6;
-}
-.card-preview-date {
- font-size: 8px;
- color: var(--text-light);
- letter-spacing: 0.5px;
-}
-/* brand name now inside .card-preview-qr-text */
.hint-text {
font-size: 13px;